Commit graph

28466 commits

Author SHA1 Message Date
Raphaël Lustin
d090ce6689 Use Filter buffer by name and type algorithm implementation (fixes #18186) 2017-08-28 11:36:55 +02:00
bors-servo
ced303b9cb Auto merge of #18176 - rtbo:perf_observer_buffered, r=ferjm
PerformanceObserverInit.buffered

Per #18108, add `buffered` flag in the `PerformanceObserverInit` dict.
Per W3C spec, when `buffered` is set, `PerformanceObserver.observe()` method adds the entries buffered in the `Performance` instance into the observer's entry buffer.
One step is the implementation of the [filter by name and type](https://w3c.github.io/performance-timeline/#filter-buffer-by-name-and-type) algorithm. Don't think that the sort operation is useful in this case, but the spec states that this algorithm is to be used.

- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #18108
- [X] These changes do not require tests (yet) because the timeline API is not powered.

<!-- 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/18176)
<!-- Reviewable:end -->
2017-08-28 02:20:29 -05:00
bors-servo
478da86bb9 Auto merge of #18265 - hiikezoe:dont-fallback-to-discrete-animation, r=birtles
Don't fallback to discrete animations within animate().

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

https://bugzilla.mozilla.org/show_bug.cgi?id=1394287
---
<!-- 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

<!-- 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/18265)
<!-- Reviewable:end -->
2017-08-28 00:29:36 -05:00
Hiroyuki Ikezoe
21db77eb4e Don't fallback to discrete animations within animate(). 2017-08-28 14:16:34 +09:00
bors-servo
e53bf5d675 Auto merge of #18264 - glennw:update-wr-api, r=KiChjang
Update WR (debugger, renderer API changes).

<!-- 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/18264)
<!-- Reviewable:end -->
2017-08-27 23:14:05 -05:00
Glenn Watson
78f73b6d56 Update WR (debugger, renderer API changes). 2017-08-28 12:08:24 +10:00
bors-servo
5ddc446a64 Auto merge of #18226 - glennw:update-wr-render-tasks, r=jdm
Update WR (render task tree optimization, shader includes, long text run fix).

<!-- 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/18226)
<!-- Reviewable:end -->
2017-08-27 16:28:05 -05:00
bors-servo
08b9588011 Auto merge of #18257 - emilio:debug-stuff-helps, r=bholley
stylo: Make a few functions output more useful debug information.

Reviewed by Bobby on bug 1389645.

<!-- 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/18257)
<!-- Reviewable:end -->
2017-08-26 18:13:40 -05:00
Emilio Cobos Álvarez
97338d0e84
stylo: Make a few functions output more useful debug information. 2017-08-27 00:14:12 +02:00
bors-servo
163f29ff63 Auto merge of #18243 - DominoTree:18224, r=stshine
[18224] Check if line_count is zero to calculate space around line

<!-- Please describe your changes on the following line: -->
Check line_count before attempting to calculate space around 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
- [x] These changes fix #18224 (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because changes are minimal and the error was triggered by a test

<!-- 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/18243)
<!-- Reviewable:end -->
2017-08-26 17:07:28 -05:00
bors-servo
8f7bcdfef3 Auto merge of #18252 - KiChjang:remove-bc-arg, r=emilio
Remove border collapse argument from compute_border_and_padding

<!-- 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/18252)
<!-- Reviewable:end -->
2017-08-26 16:09:16 -05:00
bors-servo
761709e65e Auto merge of #18245 - froydnj:disable-size-tests-for-32-bit, r=emilio
Disable stylo size-checking tests for 32-bit

The stylo tests that check for sizes of various things are intended for 64-bit platforms, not for 32-bit platforms, so we should just disable them there.  Servo's CI doesn't run them on 32-bit platforms, but Gecko's CI will soonish.

- [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 tests are just being disabled

<!-- 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/18245)
<!-- Reviewable:end -->
2017-08-26 14:24:11 -05:00
bors-servo
1fd0edf158 Auto merge of #18246 - bholley:restyle_root_followups, r=emilio
stylo: followup fixes for restyle roots

https://bugzilla.mozilla.org/show_bug.cgi?id=1392863

<!-- 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/18246)
<!-- Reviewable:end -->
2017-08-26 12:22:33 -05:00
Bobby Holley
994074fca6 Clean up bit clearing. 2017-08-26 10:22:03 -07:00
Nick Price
684816bfb3 Check if line_count is zero to calculate space around line 2017-08-26 12:48:07 -04:00
Keith Yeung
1df72ba935 Remove border collapse argument from compute_border_and_padding 2017-08-25 23:41:55 -07:00
bors-servo
3c42792efa Auto merge of #18248 - bholley:more_stack_limits, r=bholley
stylo: Check stack depth in invalidation machinery and re-enable limits

https://bugzilla.mozilla.org/show_bug.cgi?id=1376884

<!-- 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/18248)
<!-- Reviewable:end -->
2017-08-25 23:29:46 -05:00
Bobby Holley
ffc42db030 Reenable tight stacks sizes.
MozReview-Commit-ID: GJkLyigMK34
2017-08-25 21:29:18 -07:00
Bobby Holley
b66111c428 Fix up stack limit sanity assertions.
MozReview-Commit-ID: ILblsins91P
2017-08-25 18:39:25 -07:00
Emilio Cobos Álvarez
8c3cc9ba1f Hook the recursive invalidation traversal up to the stack checker machinery.
MozReview-Commit-ID: 3tX3gHFTBT
2017-08-25 18:39:20 -07:00
bors-servo
8812422bfa Auto merge of #18171 - servo:skip_whitespace, r=emilio
Use Parser::skip_whitespace in a few places to make Parser::try rewind less

**Do not merge yet.** This pulls in unrelated cssparser changes which add a dependency to `dota`, and we’d like to resolve https://github.com/dtolnay/dtoa/pull/9 before landing dtoa in mozilla-central. Also, the dependency change may require manually revendoring in mozilla-central.

Gecko’s CSS parsing microbenchmarks before:

```
  43.437 ±  0.391 ms    Stylo.Servo_StyleSheet_FromUTF8Bytes_Bench
  29.244 ±  0.042 ms    Stylo.Gecko_nsCSSParser_ParseSheet_Bench
 281.884 ±  0.028 ms    Stylo.Servo_DeclarationBlock_SetPropertyById_Bench
 426.242 ±  0.008 ms    Stylo.Servo_DeclarationBlock_SetPropertyById_WithInitialSpace_Bench
```

After:

```
  29.779 ±  0.254 ms    Stylo.Servo_StyleSheet_FromUTF8Bytes_Bench
  28.841 ±  0.031 ms    Stylo.Gecko_nsCSSParser_ParseSheet_Bench
 296.240 ±  4.744 ms    Stylo.Servo_DeclarationBlock_SetPropertyById_Bench
 293.855 ±  4.304 ms    Stylo.Servo_DeclarationBlock_SetPropertyById_WithInitialSpace_Bench
```

<!-- 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/18171)
<!-- Reviewable:end -->
2017-08-25 20:24:58 -05:00
Simon Sapin
dc5dfafbba Use Parser::skip_whitespace in a few places to make Parser::try rewind less.
Gecko’s CSS parsing microbenchmarks before:

```
  43.437 ±  0.391 ms    Stylo.Servo_StyleSheet_FromUTF8Bytes_Bench
  29.244 ±  0.042 ms    Stylo.Gecko_nsCSSParser_ParseSheet_Bench
 281.884 ±  0.028 ms    Stylo.Servo_DeclarationBlock_SetPropertyById_Bench
 426.242 ±  0.008 ms    Stylo.Servo_DeclarationBlock_SetPropertyById_WithInitialSpace_Bench
```

After:

```
  29.779 ±  0.254 ms    Stylo.Servo_StyleSheet_FromUTF8Bytes_Bench
  28.841 ±  0.031 ms    Stylo.Gecko_nsCSSParser_ParseSheet_Bench
 296.240 ±  4.744 ms    Stylo.Servo_DeclarationBlock_SetPropertyById_Bench
 293.855 ±  4.304 ms    Stylo.Servo_DeclarationBlock_SetPropertyById_WithInitialSpace_Bench
```
2017-08-26 01:44:45 +02:00
bors-servo
2136dd2bb7 Auto merge of #18244 - kahsieh:master, r=Manishearth
stylo: Update CSS fallback font when lang changes

r=manishearth in BugZilla.

---
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix [Bug 1367860](https://bugzilla.mozilla.org/show_bug.cgi?id=1367860).

<!-- 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/18244)
<!-- Reviewable:end -->
2017-08-25 17:30:22 -05:00
Kevin Hsieh
cfa98a3ab6 Update CSS fallback font when lang changes 2017-08-25 14:12:34 -07:00
bors-servo
dc8f26432f Auto merge of #18241 - canaltinova:font-feature-values-lookup, r=emilio,xidorn
stylo: Implement font feature values lookup

This PR reviewed by emilio and xidorn on bugzilla. That is backed out because of Windows build problems. Fixed and landing it again.

---
<!-- 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 [Bug 1355721](https://bugzilla.mozilla.org/show_bug.cgi?id=1355721)

<!-- 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/18241)
<!-- Reviewable:end -->
2017-08-25 15:45:03 -05:00
Nathan Froyd
4010d93511 only run stylo_tests's size_of tests on 64-bit platforms
The tests are designed for this, and trying to accommodate 32-bit
platforms is difficult.  Size concerns due to element packing and holes
are less of a problem on 32-bit platforms in any event.
2017-08-25 16:42:27 -04:00
Nathan Froyd
58e7f47f1d use the proper property name in specified_values tests
We used a string instead of stringify!'ing the name, whoops.
2017-08-25 16:40:40 -04:00
bors-servo
e3236b5c6b Auto merge of #18240 - bholley:revert_small_rayon_stacks, r=emilio
Revert rayon stack limits until we sort out the crashtest bustage

https://treeherder.mozilla.org/logviewer.html#?job_id=125956235&repo=autoland
https://treeherder.mozilla.org/logviewer.html#?job_id=125956235&repo=autoland&lineNumber=13571

<!-- 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/18240)
<!-- Reviewable:end -->
2017-08-25 14:34:19 -05:00
Bobby Holley
be67bb87d4 Revert rayon stack limits until we sort out the crashtest bustage. 2017-08-25 12:32:24 -07:00
Nazım Can Altınova
d1f5140c2b Update bindings 2017-08-25 12:03:40 -07:00
Nazım Can Altınova
81be90cce2 Implement font feature values lookup for stylo 2017-08-25 12:03:38 -07:00
Nazım Can Altınova
4bdca9a312 Convert the @font-feature-values declarations to lowercase
The @font-feature-values declaration identifiers are asci case insensitive.
We should convert all of them to lowercase to be able to reduce the same
declarations. Also gecko stores them as lowercase in gfxFontFeatureValueSet.
2017-08-25 12:03:32 -07:00
bors-servo
72c59ff830 Auto merge of #18238 - bholley:adaptive_driver, r=emilio
Replace the sequential/parallel distinction with a unified adaptive traversal

https://bugzilla.mozilla.org/show_bug.cgi?id=1393632

<!-- 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/18238)
<!-- Reviewable:end -->
2017-08-25 12:23:41 -05:00
Bobby Holley
707ab455bb Eliminate the sequential/traversal parallel distinction in favor of a unified adaptive driver.
MozReview-Commit-ID: ADVTNJntzmp
2017-08-25 10:00:27 -07:00
Bobby Holley
f7c6b2f04e Switch to an iterator for traverse_nodes.
We can't use a slice anymore, because the input might be the VecDeque from the
sequential traversal, which requires an iterator to handle the ring buffer.

MozReview-Commit-ID: JwH6MtRgMfY
2017-08-25 10:00:21 -07:00
Bobby Holley
2908b52c7b Stop storing depth per-node in the sequential traversal.
This has two advantages:
* It allows us to store nodes in the same format that the parallel traversal uses.
* It allows us to double the size of the sequential work queue without increasing
  the storage, which allows us to have WORK_UNIT_MAX * 2 entries before heap-
  allocating, which is about what we want for adaptive mode.

MozReview-Commit-ID: 6VQwGfTQgct
2017-08-25 10:00:15 -07:00
bors-servo
d6858ab206 Auto merge of #18232 - ferjm:unused.selectoriter, r=emilio
Remove unused SelectorIter import

Follow up of #18225

- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors

<!-- 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/18232)
<!-- Reviewable:end -->
2017-08-25 11:18:12 -05:00
bors-servo
7fa6e35583 Auto merge of #18231 - julian-seward1:master, r=bholley
Bug 1376883 - stylo: Drop thread pool stack size to 100k.  r=bholley.

<!-- Please describe your changes on the following line: -->
Bug 1376883 - stylo: Drop thread pool stack size to 100k.  r=bholley.

---
<!-- 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 _____

<!-- 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/18231)
<!-- Reviewable:end -->
2017-08-25 10:14:23 -05:00
bors-servo
f69eb90614 Auto merge of #18237 - emilio:stylist-indent, r=nox
style: Use consistent indentation in the stylist code.

<!-- 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/18237)
<!-- Reviewable:end -->
2017-08-25 09:03:35 -05:00
Julian Seward
8b15347217 stylo: Drop thread pool stack size to 100K.
Reviewed in bug 1376883 by bholley.
2017-08-25 15:36:21 +02:00
bors-servo
4fca1703cf Auto merge of #18235 - emilio:shared-context-cleanup, r=nox
style: Remove SharedStyleContext::quirks_mode.

<!-- 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/18235)
<!-- Reviewable:end -->
2017-08-25 07:59:24 -05:00
Emilio Cobos Álvarez
5cd10b9eb7
style: Use consistent indentation in the stylist code. 2017-08-25 13:34:57 +02:00
Emilio Cobos Álvarez
723d31a4d8
style: Remove SharedStyleContext::quirks_mode. 2017-08-25 12:23:30 +02:00
Fernando Jiménez Moreno
4119584c55 Remove unused SelectorIter import 2017-08-25 10:56:39 +02:00
bors-servo
04e6051742 Auto merge of #18229 - legnaleurc:bug_1388298, r=emilio
Add an API to process all invalidations on the main thread

fixes [bug 1388298](https://bugzil.la/1388298)

---
<!-- 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
- [ ] 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/18229)
<!-- Reviewable:end -->
2017-08-25 03:36:34 -05:00
bors-servo
772a8464eb Auto merge of #18215 - emilio:applicable-pseudo, r=heycam
style: Only store applicable ::before / ::after pseudo styles during the traversal.

This should help memory usage quite a bit.

<!-- 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/18215)
<!-- Reviewable:end -->
2017-08-25 02:30:50 -05:00
Emilio Cobos Álvarez
ff700aba75
style: Only store applicable ::before / ::after pseudo styles during the traversal. 2017-08-25 08:46:22 +02:00
bors-servo
69e28f0709 Auto merge of #18225 - jdm:unused-visitor-argument, r=emilio
Remove unused selector visitor argument.

The real win here is avoiding cloning the iterator when nobody actually uses it.

---
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] There are tests for these changes

<!-- 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/18225)
<!-- Reviewable:end -->
2017-08-25 01:10:03 -05:00
bors-servo
5a57a3ef4b Auto merge of #18230 - moz-servo-sync:gecko-backout, r=moz-servo-sync
Backed out changeset 01348a3860f7 for build bustage

Backed out changeset 01348a3860f7 for build bustage

CLOSED TREE

Backs out https://github.com/servo/servo/pull/18222

<!-- 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/18230)
<!-- Reviewable:end -->
2017-08-24 22:49:27 -05:00
Gecko Backout
12b02ce9d5 Backed out changeset 01348a3860f7 for build bustage
CLOSED TREE

Backs out https://github.com/servo/servo/pull/18222
2017-08-25 03:45:31 +00:00