Commit graph

19692 commits

Author SHA1 Message Date
Simon Sapin
bc71e8b65b Add some fmt::Debug implementations 2016-08-21 03:40:28 +02:00
Simon Sapin
477cae67df Unreverse declarations in memory. 2016-08-21 03:40:27 +02:00
Simon Sapin
31864954ed Typo fixes 2016-08-21 03:40:26 +02:00
Simon Sapin
ab846ab196 Make parsing of keyframe declaration blocks spec-compliant.
Exclude animation properties.
2016-08-21 03:40:24 +02:00
Simon Sapin
901aaeaf68 Remove unused Keyframe::parse method 2016-08-21 00:30:22 +02:00
Simon Sapin
24fbb26475 Add an Importance enum replacing booleans to indicate !important. 2016-08-21 00:30:22 +02:00
Simon Sapin
8218b463fb Revert "Simplify CSSStyleDeclaration::GetPropertyValue"
This reverts commit 1637b0ba8a.

* As far as I know, `fn` pointers don’t necessarily inline well
* Upcoming commits are gonna change this mapping to be less trivial,
  so this would at least need a new `fn` declaration, making this
  less of a simplification.
2016-08-21 00:28:48 +02:00
bors-servo
8a75810eba Auto merge of #12861 - nox:impl-trait, r=Ms2ger
Clean up some iterators

<!-- 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/12861)
<!-- Reviewable:end -->
2016-08-20 13:35:04 -05:00
bors-servo
ef2ee4646f Auto merge of #12953 - servo:rustup, r=SimonSapin
Update Rust to 1.13.0-nightly (499484f56 2016-08-18)

<!-- 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/12953)
<!-- Reviewable:end -->
2016-08-20 10:32:44 -05:00
Anthony Ramine
79b1f566b8 Update Rust to 1.13.0-nightly (499484f56 2016-08-18) 2016-08-20 17:29:49 +02:00
bors-servo
6d56b21adf Auto merge of #12947 - nox:selectors, r=SimonSapin
Update selectors to 0.11

This brings :not() with proper list of complex selectors as argument.

<!-- 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/12947)
<!-- Reviewable:end -->
2016-08-20 05:55:00 -05:00
Anthony Ramine
1c4cc6c703 Update selectors to 0.11
This brings :not() with proper list of complex selectors as argument.
2016-08-20 11:24:17 +02:00
bors-servo
278bef474c Auto merge of #12940 - upsuper:binding-list, r=bholley
Include ServoBindingList.h for binding generating

<!-- Please describe your changes on the following line: -->
See [bug 1296594](https://bugzilla.mozilla.org/show_bug.cgi?id=1296594)

r? @bholley

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./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 binding code change

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

This is bug 1296594 on Gecko side.

<!-- 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/12940)
<!-- Reviewable:end -->
2016-08-19 22:09:36 -05:00
bors-servo
5a5c16776c Auto merge of #12250 - ConnorGBrewster:mac_about_version, r=larsbergstrom
Add servo version to mac about servo window.

<!-- Please describe your changes on the following line: -->
<img width="396" alt="screen shot 2016-07-04 at 8 43 44 pm" src="https://cloud.githubusercontent.com/assets/9086315/16572663/30a6dd6c-4228-11e6-9098-68c49900b14e.png">

cc @aneeshusa

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

<!-- 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="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/12250)
<!-- Reviewable:end -->
2016-08-19 19:45:00 -05:00
Connor Brewster
fe61124c15 Add servo version to mac about servo window. 2016-08-19 18:55:27 -05:00
bors-servo
28767cdb67 Auto merge of #12922 - upsuper:msvc-platform, r=metajack
Check PLATFORM for proper toolchain when use msvc

<!-- Please describe your changes on the following line: -->
Currently, x86_64 toolchain would always pick the amd64 MSVC linker, which will fail to link when it runs in an environment configured for building x86 program (has `PLATFORM=X86` in environment variable).

This commit picks the proper host triple according to the environment variable when using the MSVC backend.

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./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 build system only

<!-- 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/12922)
<!-- Reviewable:end -->
2016-08-19 18:38:36 -05:00
bors-servo
bf8b7ba6b0 Auto merge of #12903 - servo:imports, r=nox
Remove unused imports.

<!-- 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/12903)
<!-- Reviewable:end -->
2016-08-19 16:21:31 -05:00
bors-servo
609d47b44f Auto merge of #12878 - Manishearth:clip-path, r=heycam
stylo: Support clip-path

Todo:

 - [x] `set_clip_path` (probably needs a bunch of gecko bindings for running constructors/destructors)
 - [ ] Ensure that I've ordered the coordinates correctly
 - [ ] Check that it works
 - [x] Might want to convert NS_STYLE_FILL_RULE and NS_RADIUS to enum classes

Depends on:

 - https://github.com/servo/rust-bindgen/pull/29
 - https://github.com/Manishearth/gecko-dev/compare/servo:stylo...Manishearth:clip-path

<!-- 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/12878)
<!-- Reviewable:end -->
2016-08-19 14:24:08 -05:00
Manish Goregaokar
3895b7118e
Handle clip-path in stylo 2016-08-19 23:36:37 +05:30
bors-servo
07b217368f Auto merge of #12924 - servo:selectors-ser, r=nox
Update selectors to 0.10, with ToCss serialization.

<!-- Please describe your changes on the following line: -->
r? @emilio

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

<!-- Either: -->
- [x] There are tests for these changes OR
- [ ] These changes do not require tests because _____

<!-- 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/12924)
<!-- Reviewable:end -->
2016-08-19 13:01:29 -05:00
bors-servo
dbee1cb672 Auto merge of #12929 - ConnorGBrewster:disable_bc_name, r=metajack
disable browsing context name test

<!-- Please describe your changes on the following line: -->

---
<!-- 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
- [ ] These changes do not require tests because _____

<!-- 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/12929)
<!-- Reviewable:end -->
2016-08-19 11:54:18 -05:00
bors-servo
068c57ac7d Auto merge of #12942 - nox:disable-with-lots-of-prejudice, r=Ms2ger
Disable perspective-origin-00*.htm tests

<!-- 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/12942)
<!-- Reviewable:end -->
2016-08-19 10:57:20 -05:00
Anthony Ramine
2e8add8477 Disable transform-abspos-002.htm and transform-abspos-007.htm 2016-08-19 17:55:54 +02:00
Anthony Ramine
dda59c9346 Disable perspective-origin-00*.htm tests 2016-08-19 16:05:27 +02:00
Xidorn Quan
8bc06abe4a Include ServoBindingList.h for binding generating
This is bug 1296594 on Gecko side.
2016-08-19 21:48:43 +10:00
bors-servo
94152523ae Auto merge of #12895 - emilio:stylo-pseudos, r=bholley
stylo: Improve pseudo element restyling and support the content property.

<!-- Please describe your changes on the following line: -->

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors

<!-- Either: -->
- [x] These changes do not require tests because geckolib.

<!-- 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/12895)
<!-- Reviewable:end -->
2016-08-18 18:39:32 -05:00
Emilio Cobos Álvarez
4974255411
stylo: Allow passing --debug and --debugger flags to the python script. 2016-08-18 15:59:39 -07:00
Emilio Cobos Álvarez
9a5ffb128a
stylo: Regen bindings with https://github.com/servo/rust-bindgen/pull/29 2016-08-18 15:59:38 -07:00
Emilio Cobos Álvarez
46afc56c41
stylo: Implement support for the contents property. 2016-08-18 15:59:38 -07:00
Emilio Cobos Álvarez
d85a60e366
stylo: Use the improved version of Gecko_GetStyleContext() 2016-08-18 15:56:03 -07:00
Emilio Cobos Álvarez
ad5fb58e07
stylo: Regenerate bindings to take into account the nsStyleContent cleanup. 2016-08-18 15:56:03 -07:00
bors-servo
c769db6910 Auto merge of #12925 - nox:wr-merge, r=Ms2ger
Update to webrender 0.4.0

<!-- 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/12925)
<!-- Reviewable:end -->
2016-08-18 13:30:12 -05:00
Anthony Ramine
03a0170c91 Update to webrender 0.4.0 2016-08-18 19:33:12 +02:00
Connor Brewster
8db4c46c9a disable browsing context name test 2016-08-18 12:27:57 -05:00
bors-servo
fb7cb92076 Auto merge of #12863 - emilio:disable-media, r=larsbergstrom
script: Disable our dependency in ffmpeg until the media madness is over

<!-- Please describe your changes on the following line: -->

r? @larsbergstrom

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors.

<!-- 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/12863)
<!-- Reviewable:end -->
2016-08-18 11:22:06 -05:00
Ms2ger
4ede9f679a Remove unused imports; handle IO failure in append_serialization. 2016-08-18 18:05:36 +02:00
Simon Sapin
6173e1d339 Atomize namespace prefixes. 2016-08-18 15:43:30 +02:00
Simon Sapin
84fed1a62f Add missing try!() around write!()
Fixes "unused result" warning.
2016-08-18 15:43:09 +02:00
Simon Sapin
d690bd2382 Update selectors to 0.10, with ToCss serialization. 2016-08-18 14:46:24 +02:00
Xidorn Quan
0510b4a198 Check PLATFORM for proper toolchain when use msvc 2016-08-18 21:19:27 +10:00
Manish Goregaokar
1d32422fe8 Add clip-path 2016-08-18 11:38:40 +05:30
Manish Goregaokar
254900bd1a
Add ShapeSource to basic-shape values 2016-08-18 11:38:33 +05:30
bors-servo
4e7c689a81 Auto merge of #12909 - ConnorGBrewster:framestate, r=asajeffrey
Add FrameState

<!-- Please describe your changes on the following line: -->
r? @asajeffrey
Might as well get this in now, since it may be a while before I can figure out what is causing the panics on the pending pipelines PR.

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [X] `./mach build -d` does not report any errors
- [X] `./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 refactoring.

<!-- 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/12909)
<!-- Reviewable:end -->
2016-08-17 22:11:59 -05:00
bors-servo
18390dbd48 Auto merge of #12906 - servo:ffiless, r=emilio
Remove some use of FFI in gecko_string_cache

Now that nsIAtom’s mLength and mString can both be accessed directly on the struct, fewer operations need to call into C++ code.

These functions are not used anymore and can be removed from the Gecko side:

* `Gecko_GetAtomAsUTF16`
* `Gecko_AtomEqualsUTF8IgnoreCase`
* `Gecko_AtomEqualsUTF8` (looks like this one was already unused before this PR)

r? @emilio

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./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 new require tests because no behavior change

<!-- 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/12906)
<!-- Reviewable:end -->
2016-08-17 20:44:42 -05:00
bors-servo
ec7efff14b Auto merge of #12668 - emilio:style-cache, r=SimonSapin,pcwalton
Rewrite the style sharing candidate cache

<!-- Please describe your changes on the following line: -->

See the first commit's description for a bit of background. I'm making the PR in this state just to verify against try I've handled all cases of possibly incorrect sharing and, if not, fix it.

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

<!-- Either: -->
- [x] There are tests for these changes OR

<!-- 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/12668)
<!-- Reviewable:end -->
2016-08-17 16:34:30 -05:00
Emilio Cobos Álvarez
a46f0c3b24
Lazily compute common style affecting attribute info. 2016-08-17 14:17:44 -07:00
Emilio Cobos Álvarez
51b6568273
style: Run restyle_hints_state.html onload, so it doesn't interact with children_changed. 2016-08-17 14:17:44 -07:00
Emilio Cobos Álvarez
63d9f2f56e
style: Fix the handling of the RESTYLE_DESCENDANTS hint.
This was the underlying cause of the restyle_hints_state.html failure.

It was uncovered only when fixing the HAS_EDGE_CHILD_SELECTOR flags because this
was the series of events happening.

 * <script> starts executing.
 * All the restyle hint processing takes place.
 * <script> ends executing, gets appended to the body (I think this is also a bug).
 * <body> receives children_changed notification, with an Append mutation.
   * <body> had the HAS_EDGE_CHILD_SELECTOR flag, so due to its bogus value, it
     restyled the whole tree after <body>, fixing any mishandling of restyle
     hints.
2016-08-17 14:17:43 -07:00
Emilio Cobos Álvarez
173ec260e6
Tidy up, make the cache a bit more performant.
Haven't measured a lot, will do tomorrow, but I want a test run.
2016-08-17 14:16:20 -07:00
Emilio Cobos Álvarez
3af774bd75
Rewrite the style sharing candidate cache.
The style candidate cache had regressed a few times (see #12534), and my
intuition is that being able to disable all style sharing with a single rule in
the page is really unfortunate.

This commit redesigns the style sharing cache in order to be a optimistic cache,
but then reject candidates if they match different sibling-affecting selectors
in the page, for example.

So far the numbers have improved, but not so much as I'd wanted (~10%/20% of
non-incremental restyling time in general). The current implementation is really
dumb though (we recompute and re-match a lot of stuff), so we should be able to
optimise it quite a bit.

I have different ideas for improving it (that may or may not work), apart of the
low-hanging fruit like don't re-matching candidates all the time but I have to
measure the real impact.

Also, I need to verify it against try.
2016-08-17 14:16:16 -07:00