Emilio Cobos Álvarez
e447f819a2
style: Make InvalidationProcessor methods be &mut self.
...
This would allow querySelector / querySelectorAll to mutate the list of matched
nodes as it sees fit.
2017-10-13 12:17:02 +02:00
Emilio Cobos Álvarez
9034e6a732
style: Add a way to skip the "invalidation on eager pseudo invalidates self" bit.
2017-10-13 12:17:02 +02:00
Emilio Cobos Álvarez
ecdb10ef5c
Be more precise in should_process_descendants.
2017-10-13 12:17:02 +02:00
Emilio Cobos Álvarez
9e61c1962b
style: Unify invalidated_child with invalidated_descendants.
...
I think invalidated_descendants was buggy, and this fixes it.
2017-10-13 12:17:01 +02:00
Emilio Cobos Álvarez
557353c1f6
style: Move the bounds up in InvalidationProcessor.
2017-10-13 12:17:00 +02:00
Emilio Cobos Álvarez
a5e2f2c76c
style: Isolate all the restyling related logic in the invalidator in an InvalidationProcessor trait.
...
Ditto, no change in behavior.
2017-10-13 12:17:00 +02:00
Emilio Cobos Álvarez
b9b3e592dd
style: Split the invalidation collection from the invalidator step.
...
This is the first step in reusing the invalidation machinery for other stuff,
potentially including QuerySelector / QuerySelectorAll.
2017-10-13 12:16:59 +02:00
bors-servo
ec00c660f0
Auto merge of #18861 - upsuper:diagnose-fix, r=Manishearth
...
Some fixes to diagnostic hashmap
<!-- 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/18861 )
<!-- Reviewable:end -->
2017-10-13 02:11:55 -05:00
Xidorn Quan
cb2772b46c
Correct the position and record count of broken canary
2017-10-13 15:39:07 +11:00
Xidorn Quan
b547e96b44
Write poison to canary when removing item from diagnostic hashmap
2017-10-13 15:19:55 +11:00
Xidorn Quan
1251537459
Rewrite cycle removal algorithm of custom properties and integrate it with substitution
2017-10-13 10:55:24 +11:00
Alan Jeffrey
70ce4689e0
Random pipeline closure is less likely to kill pending pipelines.
2017-10-12 11:50:48 -05:00
bors-servo
bc18ef7861
Auto merge of #18850 - emilio:bindgenup, r=jdm
...
Update bindgen.
This includes a clang-sys upgrade that removes crashes in linux32, and nothing
else.
<!-- 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/18850 )
<!-- Reviewable:end -->
2017-10-12 09:06:22 -05:00
Emilio Cobos Álvarez
8c3e742cbf
Update bindgen.
...
This includes a clang-sys upgrade that removes crashes in linux32, and nothing
else.
2017-10-12 14:43:10 +02:00
bors-servo
55bf65021d
Auto merge of #18848 - emilio:unship-but-a-bit-more-slowly, r=xidorn
...
stylo: Remove :-moz-system-metric pseudo-class.
Bug: 1405311
Reviewed-by: xidorn
MozReview-Commit-ID: CIF64dG1F2k
<!-- 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/18848 )
<!-- Reviewable:end -->
2017-10-12 07:05:42 -05:00
Emilio Cobos Álvarez
3e9bfdd72e
stylo: Remove :-moz-system-metric pseudo-class.
...
Bug: 1405311
Reviewed-by: xidorn
MozReview-Commit-ID: CIF64dG1F2k
2017-10-12 14:04:32 +02:00
bors-servo
fc4de5adf5
Auto merge of #18839 - servo:stabler, r=nox
...
Remove some usage of unstable features
`Box::new(x)` seems to compile to exactly the same assembly as `box x` in release mode:
https://play.rust-lang.org/?gist=55ec5dd02c22fa799375d6e2e1a6e970&version=nightly
<!-- 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/18839 )
<!-- Reviewable:end -->
2017-10-12 05:18:00 -05:00
Simon Sapin
0dae5c8d1f
Remove unused feature flag
2017-10-12 12:10:57 +02:00
Simon Sapin
aa5761a5fb
Remove usage of unstable box syntax, except in the script crate
...
… because there’s a lot of it,
and script still uses any other unstable features anyway.
2017-10-12 12:10:56 +02:00
Simon Sapin
796a8dc618
Remove usage of unstable feature try_from
2017-10-12 12:10:55 +02:00
bors-servo
5682eeff48
Auto merge of #18843 - upsuper:author-text-shadow, r=heycam
...
Remove text-shadow handling from HasAuthorSpecifiedRules
This is the Servo side change of [bug 1363088](https://bugzilla.mozilla.org/show_bug.cgi?id=1363088 ).
<!-- 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/18843 )
<!-- Reviewable:end -->
2017-10-12 03:12:26 -05:00
bors-servo
82a013ae07
Auto merge of #18844 - jryans:stylo-visited-reparent-cascade, r=emilio
...
Limit visited cascade for reparenting
The specialized cascade flow in `stylist::compute_style_with_inputs` (used with
reparenting) currently computes all properties for visited styles, but we only
need visited-dependent properties.
This adds the cascade flag to reduce the work to visited-dependent properties
only, like we do for the regular cascade flow.
https://bugzilla.mozilla.org/show_bug.cgi?id=1407813
<!-- 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/18844 )
<!-- Reviewable:end -->
2017-10-12 01:04:57 -05:00
J. Ryan Stinnett
0eb7d65e73
Limit visited cascade for reparenting
...
The specialized cascade flow in `stylist::compute_style_with_inputs` (used with
reparenting) currently computes all properties for visited styles, but we only
need visited-dependent properties.
This adds the cascade flag to reduce the work to visited-dependent properties
only, like we do for the regular cascade flow.
MozReview-Commit-ID: FGCj6GPnQOB
2017-10-11 23:50:55 -05:00
Xidorn Quan
96d0529be5
Remove text-shadow handling from HasAuthorSpecifiedRules
2017-10-12 15:20:47 +11:00
bors-servo
99e15f0f03
Auto merge of #18803 - heycam:more-custom-prop-opts, r=emilio
...
style: more custom properties optimizations
These help slightly with https://bugzilla.mozilla.org/show_bug.cgi?id=1405411 .
<!-- 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/18803 )
<!-- Reviewable:end -->
2017-10-11 22:51:51 -05:00
Cameron McCormack
c05e45fdd1
style: Skip custom properties comparison if other inherited properties changed.
2017-10-12 10:44:46 +08:00
Cameron McCormack
51c1fb681d
style: Avoid cloning inherited CustomPropertiesMap when cascading properties with the same value.
2017-10-12 10:33:34 +08:00
J. Ryan Stinnett
cedc17550c
Clear visited rules for text inheritance
...
There are two key steps when resolving text styles with `::first-line`:
1. `ResolveStyleForText` computes the initial style of the text via
`Servo_ComputedValues_Inherit`
2. `ReparentStyleContext` is called to update style data when the first line
of text is moved to be a child of the `::first-line` frame
Before this patch, `Servo_ComputedValues_Inherit` would clear out unvisited
rules, but visited styles (with rules inside) were cloned as-is, meaning that
step 1 might leave the text node with a style that has:
* Unvisited rules: None
* Visited rules: Some
When we later go to step 2 and re-parent onto the `::first-line` styles, we try
to cascade with these leftover visited rules. This causes any `::first-line`
styles from our parent to be overridden by these rules which are no longer quite
right for the new frame tree.
In this patch, we resolve this by changing `StyleBuilder::for_inheritance`
(which is used by step 1's `Servo_ComputedValues_Inherit`) to also clear out
visited rules, so that we use the same logic for both unvisited and visited text
styles when reparenting onto the `::first-line` frame.
MozReview-Commit-ID: 3sgc4eGHBXs
2017-10-11 18:45:45 -05:00
bors-servo
882b22b606
Auto merge of #18829 - bholley:verify_in_drop, r=Manishearth
...
Verify in DiagnosticHashMap::drop
This will let us reason better about the drop_in_place crashes.
<!-- 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/18829 )
<!-- Reviewable:end -->
2017-10-11 13:53:01 -05:00
Simon Sapin
4ee8f56b9c
Remove usage of unstable feature ascii_ctypes
2017-10-11 20:21:07 +02:00
Simon Sapin
cbcc7d0802
Remove usage of unstable feature iterator_step_by
2017-10-11 20:17:16 +02:00
Simon Sapin
a38df68e8a
Remove usage of unstable range_contains feature
2017-10-11 20:13:40 +02:00
Bobby Holley
c9b5ffb586
Verify in DiagnosticHashMap::drop.
2017-10-11 10:24:00 -07:00
bors-servo
105c5d2a06
Auto merge of #18826 - emilio:invalidation-xbl-stuff, r=heycam
...
style: Fix invalidation collection for XBL when quirks modes don't match.
<!-- 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/18826 )
<!-- Reviewable:end -->
2017-10-11 10:59:05 -05:00
bors-servo
528d0fb409
Auto merge of #18825 - servo:urls, r=emilio
...
Fix a bunch of URL-reflecting IDL attributes
<!-- 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/18825 )
<!-- Reviewable:end -->
2017-10-11 08:45:44 -05:00
Anthony Ramine
71b015173f
Fix the form action IDL attributes
...
The returned string, if the attribute is present and non-empty,
should be a URL resolved against the element's document's base URL.
2017-10-11 13:56:10 +02:00
Anthony Ramine
605c679fee
Fix URL attributes
...
URL attributes should always use AttrValue::Url, and the input should be
resolved against the document's base URL at setting time always.
2017-10-11 13:56:07 +02:00
Cameron McCormack
7e31d069be
style: Support more selectors in the style sheet invalidator.
...
In addition to being able to invalidate just based on local name, this
also adds support for invalidating based on selectors with no ancestor
combinator in them (resulting in a RESTYLE_SELF for those elements that
match).
2017-10-11 19:02:41 +08:00
Emilio Cobos Álvarez
5723cf7d13
style: Tweak the quirks mode while collecting invalidations in XBL stuff.
2017-10-11 11:12:58 +02:00
Emilio Cobos Álvarez
bb6ff9575d
style: Store the quirks mode directly in InvalidationCollector.
2017-10-11 11:10:39 +02:00
bors-servo
b1c7a2fa6d
Auto merge of #18793 - heycam:ptr-eq, r=emilio
...
servo_arc: Try pointer equality test first when comparing two Arcs.
This doesn't actually help https://bugzilla.mozilla.org/show_bug.cgi?id=1405411 but seems like something we should do.
<!-- 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/18793 )
<!-- Reviewable:end -->
2017-10-10 20:24:48 -05:00
Cameron McCormack
9c738711bc
servo_arc: Make Arc do a pointer equality check in eq and ne first.
2017-10-11 09:24:03 +08:00
Xidorn Quan
0c40ae70ed
Support pseudo-element properly in HasAuthorSpecifiedRules.
2017-10-11 10:29:32 +11:00
bors-servo
be5839fae6
Auto merge of #18822 - bholley:more_hashmap_diagnostics, r=Manishearth
...
More hashmap diagnostics
https://bugzilla.mozilla.org/show_bug.cgi?id=1407080
<!-- 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/18822 )
<!-- Reviewable:end -->
2017-10-10 16:17:20 -05:00
Bobby Holley
4b64390b81
Stuff HashMap journal into a string and verify invariants in a few more places.
...
The RegisterAppMemory approach isn't working for some reason.
MozReview-Commit-ID: GjGaq6GALI5
2017-10-10 14:16:56 -07:00
bors-servo
235ce65d7c
Auto merge of #18820 - asajeffrey:update-swapper, r=wafflespeanut
...
Updated swapper to version 0.1
<!-- Please describe your changes on the following line: -->
Update swapper to v0.1, which removes the skeptic dependency.
---
<!-- 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 do not require tests because updating dependencies
<!-- 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/18820 )
<!-- Reviewable:end -->
2017-10-10 15:10:01 -05:00
bors-servo
b1926b4656
Auto merge of #18807 - emilio:ex-calc, r=jdm
...
style: Fix ex computation with more than one operand.
<!-- 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/18807 )
<!-- Reviewable:end -->
2017-10-10 14:13:29 -05:00
Alan Jeffrey
3e21e050f8
Updated swapper to version 0.1
2017-10-10 13:32:56 -05:00
bors-servo
c79a54dbd9
Auto merge of #18808 - servo:error-location_, r=emilio
...
Use the current parser location for CSS error
… rather than the start location of the current construct. This likely places the error just *after* of the unexpected token whereas before would be best, but that’s likely a much bigger change.
See https://bugzilla.mozilla.org/show_bug.cgi?id=1378861
<!-- 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/18808 )
<!-- Reviewable:end -->
2017-10-10 12:31:24 -05:00
Emilio Cobos Álvarez
90ee40f43f
style: Fix ex computation with more than one operand.
2017-10-10 18:41:23 +02:00