Commit graph

19733 commits

Author SHA1 Message Date
kingdido999
f472d05003 Format components canvas and canvas_traits #21373 2018-08-30 11:24:39 +08:00
Simon Sapin
a6dcfdcd55 Upgrade to rustc 1.30.0-nightly (721913067 2018-08-26) 2018-08-27 10:47:49 +02:00
Gregory Terzian
7b8d903d57 fire error when placeholder image is loaded 2018-08-26 19:06:16 +08:00
bors-servo
f2306c8e19
Auto merge of #21516 - servo:bindgenup, r=SimonSapin
Update bindgen to 0.39.0

This fixes a build error for i686-linux-android with some versions of libclang:

```rust
error[E0560]: struct `generated::root::JS::Value` has no field named `__bindgen_align`sys
  --> /home/simon/projects/mozjs/src/jsval.rs:83:2
   |
83 |     __bindgen_align: [],
   |     ^^^^^^^^^^^^^^^ `generated::root::JS::Value` does not have this field
   |
   = note: available fields are: `data`

error: aborting due to previous error
```

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/21516)
<!-- Reviewable:end -->
2018-08-24 20:50:44 -04:00
bors-servo
d827370804
Auto merge of #21502 - Manishearth:listener, r=ferjm
Add AudioListener/AudioPanner DOM interfaces

Seems to work.

I'll need some changes to the servo-media side to support the panner
node getters as well as the older `setPosition()`/etc APIs. I'll get to
those later.

r? @ferjm

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/21502)
<!-- Reviewable:end -->
2018-08-24 19:13:05 -04:00
Manish Goregaokar
5dd830344b Handle channel count constraints in panner constructor 2018-08-24 12:51:37 -07:00
Manish Goregaokar
58176c4148 Add some checks in PannerNode accessors 2018-08-24 12:51:37 -07:00
Manish Goregaokar
18960b6c94 Add PannerNode.setPosition(), setOrientation() 2018-08-24 12:22:19 -07:00
Manish Goregaokar
7daec55010 Add accessors for PannerNode 2018-08-24 12:22:19 -07:00
Manish Goregaokar
7d5b4b204c Add constraints for PannerNode 2018-08-24 12:22:19 -07:00
Manish Goregaokar
062c1d6071 Add BaseAudioContext.createPanner() 2018-08-24 12:22:19 -07:00
Manish Goregaokar
43ea9e0e4a cleanup: Remove Rc from BaseAudioContext 2018-08-24 12:22:19 -07:00
Manish Goregaokar
e4e01a6452 Add PannerNode DOM interface 2018-08-24 12:22:19 -07:00
Simon Sapin
bcc1b25fd9 Update bindgen to 0.39.0
This fixes a build error for i686-linux-android with some versions of libclang:

```
error[E0560]: struct `generated::root::JS::Value` has no field named `__bindgen_align`sys
  --> /home/simon/projects/mozjs/src/jsval.rs:83:2
   |
83 |     __bindgen_align: [],
   |     ^^^^^^^^^^^^^^^ `generated::root::JS::Value` does not have this field
   |
   = note: available fields are: `data`

error: aborting due to previous error
```
2018-08-24 20:22:27 +02:00
Simon Sapin
1333b6ee45 Fix the build for NLL
Test with `RUSTFLAGS="-Zborrowck=mir -Ztwo-phase-borrows" cargo build`

https://internals.rust-lang.org/t/help-us-get-non-lexical-lifetimes-nll-over-the-finish-line/7807/7
2018-08-24 17:49:58 +02:00
Manish Goregaokar
9228ca3a02 Add AudioListener DOM interface 2018-08-24 08:33:22 -07:00
bors-servo
54b387ab59
Auto merge of #21348 - pyfisch:only-webrender-items, r=jdm
Replace Servo DL items with WR ones

The Servo internal display list items are already pretty much
equivalent to the WebRender ones. Except that Servo items contain
base information and associated glyphs and gradient stops which are
stored implicitly in WebRender. Remove the display items for
rectangles, text, images, border, gradients and box shadow and
replace them with their WebRender counter parts.

Some more internal items like line, text shadow and iframe can definitively be replaced with WebRender equivalents but I think the PR is already quite huge. If WebRender would expose a quite minimal API which allowed servo to directly push items onto the display list most of webrender_helpers boilerplate code could go away. As WebRender performs normalization of gradients this would need to be called by servo explicitly in this case.

It should be noted that gradient borders don't actually work neither with the old version nor with this PR as the measurements are all set to zero.

Part of #19676

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/21348)
<!-- Reviewable:end -->
2018-08-23 19:37:41 -04:00
Manish Goregaokar
4b48cfa3ec Upgrade to latest servo-media 2018-08-23 13:33:40 -07:00
bors-servo
fd64f11efe
Auto merge of #21494 - servo:selectors, r=SimonSapin
Publish selectors v0.20.0

Fixes #21455.

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/21494)
<!-- Reviewable:end -->
2018-08-23 15:58:19 -04:00
Simon Sapin
df038d8343 Publish selectors v0.20.0 2018-08-23 20:43:06 +02:00
bors-servo
a1abdde8c6
Auto merge of #21341 - servo:webgl, r=avadacatavra
Properly check limit in gl.activeTexture()

Fixes #20531.

<!-- Reviewable:start -->
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/21341)
<!-- Reviewable:end -->
2018-08-23 09:16:56 -04:00
Anthony Ramine
8b1c753c6c Properly check limit in gl.activeTexture() 2018-08-23 15:15:33 +02:00
bors-servo
3b9055510a
Auto merge of #21487 - cdisselkoen:remove-comment, r=jdm
Remove outdated comment in stylist.rs

<!-- Please describe your changes on the following line: -->
This comment on `cascade_style_and_visited` is unclear because it refers to `is_link`, which is not a parameter of that function.  It used to refer to a flag in `CascadeFlags` back when there was a `cascade_flags: CascadeFlags` parameter; that parameter was removed in commit cd04664.  I don't believe it accurately reflects how the code works anymore, and is best just removed.

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [ ] `./mach build -d` does not report any errors
- [ ] `./mach test-tidy` does not report any errors
- [ ] These changes fix #__ (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because they only touch comments

<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/21487)
<!-- Reviewable:end -->
2018-08-22 16:55:01 -04:00
Craig Disselkoen
916e2c206d Remove outdated comment in stylist.rs 2018-08-22 13:26:39 -07:00
bors-servo
aac4a3485f
Auto merge of #21430 - Eijebong:ws-origin, r=jdm
Properly set the origin on websocket messages

<!-- Reviewable:start -->
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/21430)
<!-- Reviewable:end -->
2018-08-22 15:53:26 -04:00
Alan Jeffrey
74c1e00d81 Upgraded to SM 60 2018-08-20 18:22:29 -04:00
bors-servo
e7791f9a00
Auto merge of #21452 - emilio:gecko-sync, r=emilio
style: Import changes from mozilla-central.

See each individual commit for details.

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/21452)
<!-- Reviewable:end -->
2018-08-19 07:57:53 -04:00
tigercosmos
696e856464 Network: Preserve HEAD on 303 redirect
fixed #21449. This is an update for spec.
2018-08-19 03:14:34 +08:00
Emilio Cobos Álvarez
38a00745e2
Appease tidy. 2018-08-18 18:41:40 +02:00
Emilio Cobos Álvarez
935b5393a9
Port servo to the new media query system.
Port `width`, and also add the `scan` media feature so I don't need to add
ugliness just to workaround the unused keyword_evaluator macro.
2018-08-18 18:23:26 +02:00
Emilio Cobos Álvarez
8ae1322fb3
Add scan as a static atom. 2018-08-18 18:19:27 +02:00
Emilio Cobos Álvarez
eccea52093
Add width as a static atom. 2018-08-18 18:17:03 +02:00
Emilio Cobos Álvarez
4d3f96f562
style: Relax the version requirement of num-integer. 2018-08-18 17:58:44 +02:00
Emilio Cobos Álvarez
67f2185f54
style: Make webkit device-pixel-ratio media queries a proper alias to resolution.
According to the spec:

  https://compat.spec.whatwg.org/#css-media-queries-webkit-device-pixel-ratio

And to the Chromium implementation:

  https://cs.chromium.org/chromium/src/third_party/blink/renderer/core/css/media_query_evaluator.cc?l=366&rcl=1d7328865bcf06a687aafc18ff95d55317030672

They're no different than resolution.

In our implementation `resolution` does slightly different stuff. Given we
still haven't shipped -webkit-device-pixel-ratio, making this match resolution
looks better than the opposite.

Differential Revision: https://phabricator.services.mozilla.com/D3588
2018-08-18 17:54:54 +02:00
Xidorn Quan
c9c5e56079
style: Use AspectRatio directly for RangeOrOperator::evaluate.
Differential Revision: https://phabricator.services.mozilla.com/D3587
2018-08-18 17:54:54 +02:00
Nicholas Nethercote
07ffc0955f
style: Remove use of fnv in bloom.rs.
To support that, this patch also does the following.

- Removes the insert(), remove() and might_contain() methods, because they are
  specialized versions of insert_hash(), remove_hash(), and
  might_contain_hash(), and they are only used by tests within this file.

- Moves hash() from the top level into create_and_insert_some_stuff().

- Changes create_and_insert_some_stuff() so that instead of hashing consecutive
  integers, it instead hashes stringified consecutive integers, which matches
  real usage a little better.

- Raises the false_positives limit a little to account for the above changes.

Bug: 1484096
Reviewed-by: heycam
2018-08-18 17:54:54 +02:00
Emilio Cobos Álvarez
d63ce552f7
style: Deduplicate system metric atoms.
Now that :-moz-system-metric is gone, there's no real reason for the atoms to
be separate.

Differential Revision: https://phabricator.services.mozilla.com/D3497
2018-08-18 17:54:54 +02:00
Xidorn Quan
cd4d281984
style: Add scrollbar-width property.
Bug: 1475033
Reviewed-by: heycam
2018-08-18 17:54:54 +02:00
Emilio Cobos Álvarez
9350fa4c55
style: Remove an inaccurate and useless debug message. 2018-08-18 17:54:54 +02:00
Emilio Cobos Álvarez
e9a99b2a7f
style: Manually inline class and ID getters.
Somewhat ugly but hopefully not too much. Somehow it ends up removing more lines
than adding.

Differential Revision: https://phabricator.services.mozilla.com/D3536
2018-08-18 17:54:54 +02:00
Emilio Cobos Álvarez
fe05c8ecad
style: Add some spec links to media queries.
Differential Revision: https://phabricator.services.mozilla.com/D3489
2018-08-18 17:54:54 +02:00
Xidorn Quan
f1fe15981a
style: Simplify some code in NoCalcLength::parse_dimension.
Differential Revision: https://phabricator.services.mozilla.com/D3473
2018-08-18 17:54:54 +02:00
Emilio Cobos Álvarez
dc0f937224
style: Rewrite media queries so that they work on an evaluator function.
This moves most of the code to be Rust, except potentially some evaluator
functions, and allows to unblock the use case from any-hover / any-pointer and
remove nsMediaFeatures.

Differential Revision: https://phabricator.services.mozilla.com/D2976
2018-08-18 17:54:54 +02:00
Emilio Cobos Álvarez
a0cb37d29d
style: Simplify visited-related code in invalidation.
We match with AllLinksVisitedAndUnvisited for style invalidation, and we already
do a subtree restyle because :visited matching doesn't depend on the actual
element state.

So all this stuff is just not needed. The comment points to the attribute tests
in bug 1328509, but those still trivially pass with this change.

I think this was unneeded since I introduced AllLinksVisitedAndUnvisited, or
maybe since https://github.com/servo/servo/pull/19520. In any case it doesn't
really matter, and I already had done this cleanup in my WIP patches for
bug 1406622, but I guess this is a slightly more suitable place to land them :)

Differential Revision: https://phabricator.services.mozilla.com/D3305
2018-08-18 17:54:54 +02:00
Emilio Cobos Álvarez
87b1e1cdc9
style: no-op visited changes earlier if visited links are disabled.
We force a repaint from ContentStateChangedInternal if visited links are
disabled, and that's observable. Let's cut it off as early as we can to avoid
timing attacks even when :visited is disabled.

Differential Revision: https://phabricator.services.mozilla.com/D3304
2018-08-18 17:54:54 +02:00
Cameron McCormack
cc1897597c
style: Generate static atom hash in StaticAtoms.py.
Differential Revision: https://phabricator.services.mozilla.com/D3295
2018-08-18 17:54:54 +02:00
Cameron McCormack
f86e9a411a
style: Remove support for multiple static atom sources.
Differential Revision: https://phabricator.services.mozilla.com/D3285
2018-08-18 17:54:54 +02:00
Cameron McCormack
f75419dd7a
style: Move CSS anonymous box atoms to nsGkAtoms.
Differential Revision: https://phabricator.services.mozilla.com/D3284
2018-08-18 17:54:54 +02:00
Cameron McCormack
99a292dd6d
style: Move CSS pseudo-element atoms to nsGkAtoms.
Differential Revision: https://phabricator.services.mozilla.com/D3283
2018-08-18 17:54:54 +02:00
Cameron McCormack
cc3c059bfc
style: Define atom type in nsGkAtomList.h.
Differential Revision: https://phabricator.services.mozilla.com/D3282
2018-08-18 17:54:54 +02:00