770c9d02352d1af7af74f6cc18f209727db7cc7a: servo: Merge #17918 - style: Don't remain in an invalid state when encountering an at-rule in the wrong place (from heycam:rule-hierarchy); r=emilio
Cameron McCormack <cam@mcc.id.au> - Sat, 29 Jul 2017 11:16:33 -0500 - rev 420541
Push 7566 by mtabara@mozilla.com at Wed, 02 Aug 2017 08:25:16 +0000
servo: Merge #17918 - style: Don't remain in an invalid state when encountering an at-rule in the wrong place (from heycam:rule-hierarchy); r=emilio Currently, attempting to parse an at-rule that is out of place, such as an @import rule after a regular style rule, will cause the parser state to be set to Invalid. This will cause any following at-rule to be rejected until we encounter a regular style rule, at which point we'll go back to the Body state. There's nothing in the CSS specs about needing to reject all following at-rules (or, as the comment above Invalid says, ignoring the entire rest of the style sheet). <!-- 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 - [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. --> Source-Repo: https://github.com/servo/servo Source-Revision: d859734702366cec5bc4a48b6c0d2ae93d1179b0
45f201fe8a9a04031281696a9a25b8d96d636355: Backed out changeset 371d34adf87a (bug 1369604) for Android bustage at testActivityStreamContextMenu.java:297: method fromCursor in class Highlight cannot be applied to given types. r=backout
Sebastian Hengst <archaeopteryx@coole-files.de> - Sat, 29 Jul 2017 18:36:57 +0200 - rev 420540
Push 7566 by mtabara@mozilla.com at Wed, 02 Aug 2017 08:25:16 +0000
Backed out changeset 371d34adf87a (bug 1369604) for Android bustage at testActivityStreamContextMenu.java:297: method fromCursor in class Highlight cannot be applied to given types. r=backout
7d2a2ae193821b6f6d21169e2599f274ffef0a3b: Backed out changeset f23174dcc5e6 (bug 1369604)
Sebastian Hengst <archaeopteryx@coole-files.de> - Sat, 29 Jul 2017 18:35:36 +0200 - rev 420539
Push 7566 by mtabara@mozilla.com at Wed, 02 Aug 2017 08:25:16 +0000
Backed out changeset f23174dcc5e6 (bug 1369604)
ec0c38721aff0949da7d20fcb9d97fda66aefc00: Backed out changeset 7cd7e31b61ec (bug 1369604)
Sebastian Hengst <archaeopteryx@coole-files.de> - Sat, 29 Jul 2017 18:35:30 +0200 - rev 420538
Push 7566 by mtabara@mozilla.com at Wed, 02 Aug 2017 08:25:16 +0000
Backed out changeset 7cd7e31b61ec (bug 1369604)
995115af8e68b88ee391cc8c366bf6e58bfdc54b: Backed out changeset 7232652c0304 (bug 1369604)
Sebastian Hengst <archaeopteryx@coole-files.de> - Sat, 29 Jul 2017 18:35:25 +0200 - rev 420537
Push 7566 by mtabara@mozilla.com at Wed, 02 Aug 2017 08:25:16 +0000
Backed out changeset 7232652c0304 (bug 1369604)
f9d7a7441707424fa04e652f1c9bde00ba7dc8de: Backed out changeset fb8b790f8f47 (bug 1369604)
Sebastian Hengst <archaeopteryx@coole-files.de> - Sat, 29 Jul 2017 18:35:20 +0200 - rev 420536
Push 7566 by mtabara@mozilla.com at Wed, 02 Aug 2017 08:25:16 +0000
Backed out changeset fb8b790f8f47 (bug 1369604)
07120bb80702239ddea3fc465151a81b973830d8: Backed out changeset 77abc92bd89c (bug 1369604)
Sebastian Hengst <archaeopteryx@coole-files.de> - Sat, 29 Jul 2017 18:35:14 +0200 - rev 420535
Push 7566 by mtabara@mozilla.com at Wed, 02 Aug 2017 08:25:16 +0000
Backed out changeset 77abc92bd89c (bug 1369604)
808536f3a29cdffa7100a4f004bc06658b7e25e2: servo: Merge #17914 - Run the async HTML Tokenizer on a new thread (from cynicaldevil:new-parser-thread); r=emilio
Nikhil Shagrithaya <nikhilshagri@gmail.com> - Sat, 29 Jul 2017 10:08:11 -0500 - rev 420534
Push 7566 by mtabara@mozilla.com at Wed, 02 Aug 2017 08:25:16 +0000
servo: Merge #17914 - Run the async HTML Tokenizer on a new thread (from cynicaldevil:new-parser-thread); r=emilio <!-- 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 Follow up for #17565 <!-- 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. --> Source-Repo: https://github.com/servo/servo Source-Revision: e87d8af0566bf3697023c984d4d2550455843567
77abc92bd89c3c062124f8bea66efefa08662e1a: Bug 1369604: Add additional comments to Highlights performance changes. r=mcomella
Michael Comella <michael.l.comella@gmail.com> - Fri, 28 Jul 2017 18:06:48 -0700 - rev 420533
Push 7566 by mtabara@mozilla.com at Wed, 02 Aug 2017 08:25:16 +0000
Bug 1369604: Add additional comments to Highlights performance changes. r=mcomella MozReview-Commit-ID: A5uzxbKisWF
fb8b790f8f4759c978c6b49ae15b94804a0d89e9: Bug 1369604 - review: rm comment from WONTFIX'd bug. r=mcomella
Michael Comella <michael.l.comella@gmail.com> - Fri, 28 Jul 2017 17:58:05 -0700 - rev 420532
Push 7566 by mtabara@mozilla.com at Wed, 02 Aug 2017 08:25:16 +0000
Bug 1369604 - review: rm comment from WONTFIX'd bug. r=mcomella MozReview-Commit-ID: 5zgonuODZHQ
7232652c03042c62967082e9e34b95e3f7263ba2: Bug 1369604: Force lazily-loaded metadata to load on background thread. r=liuche
Michael Comella <michael.l.comella@gmail.com> - Fri, 28 Jul 2017 15:02:57 -0700 - rev 420531
Push 7566 by mtabara@mozilla.com at Wed, 02 Aug 2017 08:25:16 +0000
Bug 1369604: Force lazily-loaded metadata to load on background thread. r=liuche This undoes a caveat created from the last changeset; I did not profile this change. MozReview-Commit-ID: 6jpXyt0GRUj
7cd7e31b61ec48ebac89e32001cfd0b4724e67ee: Bug 1369604: Replace Metadata JSON parsing with faster regex matching. r=liuche
Michael Comella <michael.l.comella@gmail.com> - Fri, 28 Jul 2017 13:45:41 -0700 - rev 420530
Push 7566 by mtabara@mozilla.com at Wed, 02 Aug 2017 08:25:16 +0000
Bug 1369604: Replace Metadata JSON parsing with faster regex matching. r=liuche I replaced JSON parsing for all highlight candidates (at most, 500) with a faster estimation using regex: we only use the full JSON parsing to get the perfect values for the items to be shown (~5). One caveat of this change: JSON parsing will be moved to the main thread when the getMetadataSlow is lazily-loaded. Disclaimer: my device seems to be running faster than yesterday so profiling may not be consistent but here are the profiling results: - HighlightsRanking.extractFeatures: 78.1% -> 54.5% - Highlight.<init>: 26.5% -> 14.5% - JSONObject.<init>: 11.4% -> rm'd - initFast*: (replaced JSONObject.<init> & friends) -> 4.2% With ^ the disclaimer in mind, runtime decreased from 12.6s to 5.3s (this is slower due to profiling). MozReview-Commit-ID: CTqAyDDmaJQ
f23174dcc5e60458b0bb44938a69f3c3b2443fef: Bug 1369604: Replace features HashMap with indexing into an array. r=liuche
Michael Comella <michael.l.comella@gmail.com> - Wed, 26 Jul 2017 17:16:14 -0700 - rev 420529
Push 7566 by mtabara@mozilla.com at Wed, 02 Aug 2017 08:25:16 +0000
Bug 1369604: Replace features HashMap with indexing into an array. r=liuche After the previous changeset, some numbers stood out: - HighlightsRanking.extractFeatures: 44.9% - HighlightCandidate.getFeatureValue: 19.4% - Collections.secondaryHash: 17.3% - HashMap.get: 11.7% My hypothesis was that our HighlightCandidate.features implementation was slow: it was mapping FeatureNames -> values in a HashMap but HashMap look-ups are slower than a direct memory access. I replaced the implementation with a direct access from an array - about as fast as we can get. This encouraged me to make some changes with the following benefits: - Rewrote HighlightsRanking.normalize to save iterations and allocations. - Rm code from HighlightsRanking.scoreEntries: we no longer need to iterate to construct the filtered items, we just index directly into the list - Rewrote HighlightsRanking.decay(), which I think is a little clearer now. - Saved a few iterator/object allocations inside inner loops in places. The tests pass and we have coverage for the normalize changes but not for scoreEntries. --- For perf, my changes affected multiple methods so the percentages are no longer reliable but I can verify absolute runtime changes. I ran three tests, the best of which showed an overall 33% runtime compared to the previous changeset and the other two profiles showed a 66% overall runtime. In particular, for the middle run, the changes for affected methods go from X microseconds to Y microseconds: - Features.get: 3,554,796 -> 322,145 - secondaryHash: 3,165,785 -> 35,253 - HighlightsRanking.normalize: 6,578,481 -> 1,734,078 - HighlightsRanking.scoreEntries: 3,017,272 -> 448,300 As far as I know, my changes should not have introduced any new inefficiencies to the code. MozReview-Commit-ID: 9THXe8KqBbB
371d34adf87a6e9f3ff6f878784a4eafb96b9d7e: Bug 1369604: Use HighlightCandidateCursorIndices to cache. r=liuche
Michael Comella <michael.l.comella@gmail.com> - Mon, 24 Jul 2017 18:12:05 -0700 - rev 420528
Push 7566 by mtabara@mozilla.com at Wed, 02 Aug 2017 08:25:16 +0000
Bug 1369604: Use HighlightCandidateCursorIndices to cache. r=liuche This reduces the calls to `getColumnIndexOrThrow` to 9 (from 1.6k) and HighlightsRanking.extractFeatures goes from 77.1% inclusive CPU time -> 40.8%, 14.6k ms -> 7.1k ms. MozReview-Commit-ID: L6HqvBK5I4i
412ac74ab3606a9f5536b4532ef523239621019d: servo: Merge #17916 - Use AntialiasMode in CanvasPaintThread::new (from DarkDrek:Use_AntialiasMode_in_CanvasPaintThread_new); r=emilio
DarkDrek <wackerei@gmail.com> - Sat, 29 Jul 2017 09:01:09 -0500 - rev 420527
Push 7566 by mtabara@mozilla.com at Wed, 02 Aug 2017 08:25:16 +0000
servo: Merge #17916 - Use AntialiasMode in CanvasPaintThread::new (from DarkDrek:Use_AntialiasMode_in_CanvasPaintThread_new); r=emilio Change suggested in #17661 <!-- Please describe your changes on the following line: --> I only changed `canvas_paint_thread.rs` since `CanvasPaintThread::start` is used outside of the current crate and `azure::azure_hl::AntialiasMode` isn't available there. --- <!-- 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 #17661 (github issue number if applicable). <!-- Either: --> - [ ] There are tests for these changes OR - [X] These changes do not require tests because @jdm said so <!-- 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. --> Source-Repo: https://github.com/servo/servo Source-Revision: 0337ebb5a936a5fefb69a552c9d54b084f21ddc2
01b9da502326dd85afeeeca5780c319460184c00: servo: Merge #17908 - WR multi-document update - try 2 (from kvark:wr); r=emilio
Dzmitry Malyshau <kvark@mozilla.com> - Sat, 29 Jul 2017 07:38:23 -0500 - rev 420526
Push 7566 by mtabara@mozilla.com at Wed, 02 Aug 2017 08:25:16 +0000
servo: Merge #17908 - WR multi-document update - try 2 (from kvark:wr); r=emilio <!-- Please describe your changes on the following line: --> Combines #17892 with the patch to detach style_traits from webrender_api --- <!-- 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 - [x] `./mach test-tidy` does not report any errors - [x] These changes fix #17907 <!-- Either: --> - [ ] There are tests for these changes OR - [x] These changes do not require tests because _____ new logic is added <!-- 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. --> Source-Repo: https://github.com/servo/servo Source-Revision: e5527362f761ad082ca37a033bf5c3f8f196bcfb
d24b801a5c8e504cf1bd7df6dd8879d5a0bec919: servo: Merge #17906 - style: Don't unconditionally generate Calc values when converting background-size from Gecko (from emilio:calc-bgsize); r=hiro,birtles
Emilio Cobos Álvarez <emilio@crisal.io> - Sat, 29 Jul 2017 06:41:27 -0500 - rev 420525
Push 7566 by mtabara@mozilla.com at Wed, 02 Aug 2017 08:25:16 +0000
servo: Merge #17906 - style: Don't unconditionally generate Calc values when converting background-size from Gecko (from emilio:calc-bgsize); r=hiro,birtles Bug: 1385140 MozReview-Commit-ID: ERwq50WSvLV Source-Repo: https://github.com/servo/servo Source-Revision: 6b320eaad3b0bc5e5efe432f504714156d325c4d
564a2867f073ba9e592f28330830daf91bf5e1ae: Bug 1385529 - Remove Gecko_GetMediaFeatures and access nsMediaFeatures::features directly. r=emilio
Xidorn Quan <me@upsuper.org> - Sat, 29 Jul 2017 15:21:36 +1000 - rev 420524
Push 7566 by mtabara@mozilla.com at Wed, 02 Aug 2017 08:25:16 +0000
Bug 1385529 - Remove Gecko_GetMediaFeatures and access nsMediaFeatures::features directly. r=emilio MozReview-Commit-ID: IbTikEgabXA
618bd2e8fb6d7dad47e6b105becd9632cf8d350b: servo: Merge #17915 - Remove Gecko_GetMediaFeatures and access nsMediaFeatures::features directly (from upsuper:media-features); r=emilio
Xidorn Quan <me@upsuper.org> - Sat, 29 Jul 2017 05:22:20 -0500 - rev 420523
Push 7566 by mtabara@mozilla.com at Wed, 02 Aug 2017 08:25:16 +0000
servo: Merge #17915 - Remove Gecko_GetMediaFeatures and access nsMediaFeatures::features directly (from upsuper:media-features); r=emilio This is the Servo side change of [bug 1385529](https://bugzilla.mozilla.org/show_bug.cgi?id=1385529). Source-Repo: https://github.com/servo/servo Source-Revision: 03223be66bd6ff5011479903da6ae706c503c2cc
cdb98cea92adbf901b34bebcdecb6f5908f2eeac: merge mozilla-central to autoland. r=merge a=merge
Sebastian Hengst <archaeopteryx@coole-files.de> - Sat, 29 Jul 2017 11:48:40 +0200 - rev 420522
Push 7566 by mtabara@mozilla.com at Wed, 02 Aug 2017 08:25:16 +0000
merge mozilla-central to autoland. r=merge a=merge
(0) -300000 -100000 -30000 -10000 -3000 -1000 -300 -100 -50 -20 +20 +50 +100 +300 +1000 +3000 +10000 +30000 +100000 tip