Commit graph

30538 commits

Author SHA1 Message Date
bors-servo
0e6946fd9c Auto merge of #18993 - mystor:nsstring2, r=mystor
Move nsstring from gecko into servo/support/gecko/nsstring

This is the servo side of bug 1403213.

Take 2 of #18941 which got backed out because we botched the landing of the gecko side and I wasn't able to fix it in time.

<!-- 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/18993)
<!-- Reviewable:end -->
2017-10-23 17:26:28 -05:00
Manish Goregaokar
44f16452b6
Replace manual iteration with retain() 2017-10-23 14:24:16 -07:00
Manish Goregaokar
f61151a726
Revert diagnostics code from 1251537459 2017-10-23 14:10:52 -07:00
Bobby Holley
3cffc8c427 Revert "Poison hashtable buffers."
This reverts commit c866486b99.
2017-10-23 13:51:51 -07:00
Manish Goregaokar
b118ba72d0 Revert "Diagnostic map semantics."
This reverts commit f5c5be00a7.
2017-10-23 13:51:08 -07:00
Manish Goregaokar
d6bafde971 Revert "Add canary and journaling."
This reverts commit 58322d0021.
2017-10-23 13:46:05 -07:00
Manish Goregaokar
f7ad19f500 Revert "Assert more things in hashtables."
This reverts commit e5023a3eb4.
2017-10-23 13:45:57 -07:00
Manish Goregaokar
fde96d0ff5 Revert "Stuff HashMap journal into a string and verify invariants in a few more places."
This reverts commit 4b64390b81.
2017-10-23 13:45:48 -07:00
Manish Goregaokar
f98f83ceb3 Revert "Verify in DiagnosticHashMap::drop."
This reverts commit c9b5ffb586.
2017-10-23 13:45:38 -07:00
Manish Goregaokar
f9eff7f546 Revert "Write poison to canary when removing item from diagnostic hashmap"
This reverts commit b547e96b44.
2017-10-23 13:45:17 -07:00
Manish Goregaokar
2931e71d40 Revert "Correct the position and record count of broken canary"
This reverts commit cb2772b46c.
2017-10-23 13:45:09 -07:00
Manish Goregaokar
d48aa12b8d Revert "Report hash value at HashMap corruption location."
This reverts commit f7f898b3b3.
2017-10-23 13:44:58 -07:00
Manish Goregaokar
bf69d1b460 Revert "Include map length in diagnostics"
This reverts commit a10329f8ff.
2017-10-23 13:44:47 -07:00
bors-servo
00784fe5e1 Auto merge of #18994 - servo:jdm-patch-2, r=KiChjang
Update fontsan

We're a couple years behind master at this point.

<!-- 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/18994)
<!-- Reviewable:end -->
2017-10-23 15:39:22 -05:00
Josh Matthews
6b35678fd7 Update fontsan 2017-10-23 16:31:16 -04:00
Nika Layzell
2d3331fbd4 Move nsstring from gecko into servo/support/gecko/nsstring
This is the servo side of bug 1403213.

MozReview-Commit-ID: HFdQiuMnGhJ
2017-10-23 14:22:42 -04:00
Keith Yeung
c6bb1cb9d5 Merge request type and destination 2017-10-23 11:19:35 -07:00
bors-servo
f1603b9e71 Auto merge of #18992 - mrobinson:formatter, r=jgraham
Fix the test count in grouping formatter

Now that the WPT update has settled a bit, it seems safe to make sure
that the grouping_formatter properly consumes the data structure
provided.

<!-- 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
- [ ] 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 fix an issue in the python test harness.

<!-- 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/18992)
<!-- Reviewable:end -->
2017-10-23 12:08:28 -05:00
bors-servo
d9ede4dc05 Auto merge of #18990 - mhaessig:mouse-event-fixup, r=KiChjang
Fixed FireMouseEventType mixup

Fix for a bug I didn't catch in #18957. Thanks to @rharel for pointing it out.

- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix issue #18943 and bug in PR #18957
- [X] These changes do not require tests as specified in #18943

r?@jdm

<!-- 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/18990)
<!-- Reviewable:end -->
2017-10-23 10:18:42 -05:00
bors-servo
eaba7ede23 Auto merge of #18988 - emilio:qs, r=heycam
stylo: querySelector / querySelectorAll machinery.

Bug: 1410624
Reviewed-by: heycam

<!-- 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/18988)
<!-- Reviewable:end -->
2017-10-23 08:14:35 -05:00
Martin Robinson
4e9dfe3ec2 Fix the test count in grouping formatter
Now that the WPT update has settled a bit, it seems safe to make sure
that the grouping_formatter properly consumes the data structure
provided.
2017-10-23 13:05:45 +02:00
bors-servo
6381fdf750 Auto merge of #18989 - emilio:all-is-sad, r=xidorn
style: Ensure logical longhands appear before their physical counter-part.

Bug: 1410028
Reviewed-by: xidorn
MozReview-Commit-ID: KPIbt1e2Eq

<!-- 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/18989)
<!-- Reviewable:end -->
2017-10-23 05:34:49 -05:00
Manuel Hässig
072151d28d fixed mouse-event-type mixup 2017-10-23 12:01:48 +02:00
Emilio Cobos Álvarez
b8021335d7
style: Ensure logical longhands appear before their physical counter-part.
Bug: 1410028
Reviewed-by: xidorn
MozReview-Commit-ID: KPIbt1e2Eq
2017-10-23 08:37:49 +02:00
bors-servo
819dff7908 Auto merge of #18987 - upsuper:xbl-cascade, r=emilio
Remove XBL as a separate cascading level in Stylo

In Gecko, we handle XBL rules like author rules everywhere, except that XBL rules are added and sorted in an independent step, behave as if it has a separate level.

It is not clear to me why Stylo chose to add a separate level for XBL rules, but it doesn't seem that there is anything special to do with XBL rules.

This bug happens because we don't handle XBL important rules which are handled as part of author rules in Gecko due to lack of the additional level there. We should just follow what Gecko does here and handle them all the same.

(This is the Servo part of [bug 1408811](https://bugzilla.mozilla.org/show_bug.cgi?id=1408811))
2017-10-23 01:36:07 -05:00
Xidorn Quan
9c23594e74 Remove XBL as a separate cascading level in Stylo.
In Gecko, we handle XBL rules like author rules everywhere, except that
XBL rules are added and sorted in an independent step, behave as if it
has a separate level.

It is not clear to me why Stylo chose to add a separate level for XBL
rules, but it doesn't seem that there is anything special to do with
XBL rules.

This bug happens because we don't handle XBL important rules which are
handled as part of author rules in Gecko due to lack of the additional
level there. We should just follow what Gecko does here and handle them
all the same.
2017-10-23 17:34:34 +11:00
Emilio Cobos Álvarez
9a804f68f9
style: Update bindings. 2017-10-23 08:32:00 +02:00
Emilio Cobos Álvarez
644b502b0d
style: Ensure QuerySelector only processes the light tree.
MozReview-Commit-ID: 7Nw1SEuWNaC
2017-10-23 08:27:50 +02:00
Emilio Cobos Álvarez
dd7196949f
style: Don't use the invalidation machinery unless we may get some benefit from it.
MozReview-Commit-ID: 8Wpn2bjuHBQ
2017-10-23 08:27:49 +02:00
Emilio Cobos Álvarez
6b3821ae27
stylo: Integrate QuerySelectorAll in Gecko.
Bug: 1410624
Reviewed-by: heycam
MozReview-Commit-ID: 2Jf3Z6ikjXB
2017-10-23 08:27:47 +02:00
Emilio Cobos Álvarez
d73af807b7
style: Add a few QuerySelector fast-paths.
Signed-off-by: Emilio Cobos Álvarez <emilio@crisal.io>
2017-10-23 08:27:46 +02:00
Emilio Cobos Álvarez
2274fd7ef3
style: Refactor querySelector to be generic over the query type, and implement a tree-walking variant of it.
Signed-off-by: Emilio Cobos Álvarez <emilio@crisal.io>
2017-10-23 08:25:09 +02:00
Emilio Cobos Álvarez
4f997bf333
style: Add methods to iterate a subtree in preorder.
Signed-off-by: Emilio Cobos Álvarez <emilio@crisal.io>
2017-10-23 08:25:08 +02:00
Emilio Cobos Álvarez
6ae8bdee61
style: Hook QuerySelector into stylo.
Bug: 1410624
MozReview-Commit-ID: 4uKWN9uqi3r
Signed-off-by: Emilio Cobos Álvarez <emilio@crisal.io>
2017-10-23 08:24:57 +02:00
Emilio Cobos Álvarez
6d78e9ba54
style: Add a very simple invalidation-based querySelector.
MozReview-Commit-ID: Fimc8tz4OWX
Signed-off-by: Emilio Cobos Álvarez <emilio@crisal.io>
2017-10-23 08:22:52 +02:00
Emilio Cobos Álvarez
7f5536d5bc
style: Ensure invalidated_self is called at most once per element.
MozReview-Commit-ID: 1M0WuAduqun
2017-10-23 08:22:51 +02:00
Emilio Cobos Álvarez
bd2a82334b
style: Don't look at user and author rules if the element can't be affected by them.
Signed-off-by: Emilio Cobos Álvarez <emilio@crisal.io>
2017-10-23 08:22:50 +02:00
Emilio Cobos Álvarez
1b32709d95
style: avoid selector refcount churn during invalidation.
Signed-off-by: Emilio Cobos Álvarez <emilio@crisal.io>
2017-10-23 08:22:49 +02:00
Emilio Cobos Álvarez
258efb70df
style: Move MatchingContext to the InvalidationProcessor.
This avoids threading the quirks mode and nth-index cache around, and prevents
having to thread even more arguments down for the querySelector stuff (at least
VisitedHandlingMode and the style scope).

Signed-off-by: Emilio Cobos Álvarez <emilio@crisal.io>
2017-10-23 08:22:48 +02:00
Emilio Cobos Álvarez
5ac0f5121e
style: Add a way to add self-invalidations to the initial collection.
Signed-off-by: Emilio Cobos Álvarez <emilio@crisal.io>
2017-10-23 08:22:47 +02:00
Emilio Cobos Álvarez
191c39f28c
style: Make invalidations with offset zero "universal" invalidations.
We'll use this for querySelector / querySelectorAll.

Signed-off-by: Emilio Cobos Álvarez <emilio@crisal.io>
2017-10-23 08:22:46 +02:00
Josh Matthews
99b5eac393 Update webrender for latest RenderNotifier changes. 2017-10-23 11:03:57 +10:00
bors-servo
a296e386af Auto merge of #18983 - emilio:reformat-selector-parser, r=jdm
selectors: Reformat signatures in the parser module.

I was doing something unrelated with this code, and each signature uses a
different style. This PR unifies them.

<!-- 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/18983)
<!-- Reviewable:end -->
2017-10-22 09:55:21 -05:00
Emilio Cobos Álvarez
e1aa829d67
selectors: Reformat signatures in the parser module.
I was doing something unrelated with this code, and each signature uses a
different style. This PR unifies them.
2017-10-22 16:33:04 +02:00
bors-servo
1667fcc16d Auto merge of #18255 - CYBAI:prevent-reentrancy-pr18218, r=jdm
Update concept of node filter algorithm

Implement new [filter](https://dom.spec.whatwg.org/#concept-node-filter) algorithm from specification

---
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #18218 (github issue number if applicable).
- [X] These changes do not require tests because changes are minimal and the error was triggered by a test

<!-- 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/18255)
<!-- Reviewable:end -->
2017-10-21 15:13:04 -05:00
bors-servo
338956461c Auto merge of #18972 - mbrubeck:ok, r=emilio
Remove unnecessary Result::ok calls

- [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 they are code cleanup only

<!-- 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/18972)
<!-- Reviewable:end -->
2017-10-21 11:06:08 -05:00
bors-servo
5ab0ac1620 Auto merge of #18971 - mbrubeck:var, r=emilio
Use env::var_os to read paths from the environment

This avoids unnecessary UTF-8 validation on OsStrings that we just pass
back to the OS.

---
- [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 they are code cleanup only

<!-- 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/18971)
<!-- Reviewable:end -->
2017-10-21 08:09:22 -05:00
bors-servo
c0a6b59fdf Auto merge of #18973 - MortimerGoro:offscreen_v12, r=jdm
Update offscreen_gl_context to v0.12

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

Update offscreen_gl_context to v0.12. Includes:

- Support for OpenGL version selection. It's required for WebGL 2.
- Support for iOS EAGLContext. WebGL should work out of the box once Servo is fully built on iOS.

---
<!-- 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
- [ ] `./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 _____

<!-- 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/18973)
<!-- Reviewable:end -->
2017-10-21 05:08:58 -05:00
Sebastian Gift
8e69988fa8 Windows Build: Install Visual Studio at default location
Visual Studio 2017 has to be installed at the default location or mach.bat will show an error that Visual Studio 2017 is not installed when trying to build servo
2017-10-21 11:28:28 +02:00
bors-servo
2b03a9974c Auto merge of #18968 - mbrubeck:try, r=emilio
Use try syntax for Option where appropriate

- [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 they are refactoring only

<!-- 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/18968)
<!-- Reviewable:end -->
2017-10-21 03:31:21 -05:00