cfc3cf6266dfcb077f8cfaa1df8d80b1737cf410: Bug 1356103 - Part 10: Re-enable font metrics querying for ch and ex units in Servo traversal. r=bholley draft
Cameron McCormack <cam@mcc.id.au> - Thu, 04 May 2017 16:20:14 +0800 - rev 572582
Push 57115 by bmo:cam@mcc.id.au at Thu, 04 May 2017 10:01:25 +0000
Bug 1356103 - Part 10: Re-enable font metrics querying for ch and ex units in Servo traversal. r=bholley MozReview-Commit-ID: 9rKsTyfgEIl
e3ff05a6108d4709a21e836d9ab43defdad2ad33: Bug 1356103 - Part 9: Use a PostTraversalTask to deal with downloadable fonts in gfxUserFontSet. r=bholley,jfkthame draft
Cameron McCormack <cam@mcc.id.au> - Sun, 30 Apr 2017 14:57:25 +0800 - rev 572581
Push 57115 by bmo:cam@mcc.id.au at Thu, 04 May 2017 10:01:25 +0000
Bug 1356103 - Part 9: Use a PostTraversalTask to deal with downloadable fonts in gfxUserFontSet. r=bholley,jfkthame Here we add a new UserFontLoadState value, STATUS_LOAD_PENDING, which represents the state just after a gfxUserFontEntry's url()-valued source would being loading, except that we can't start the load due to being on a Servo style worker thread. In that case, we defer the work of initiating the load until just after the Servo traversal is finished. URLs that can normally be loaded synchronously, such as data: URLs and script-implemented protocols marked as synchronous, must be handled asynchronously when encountered during Servo traversal, since various main-thread only work (in FontFaceSet::SyncLoadFontData) must happen. This is a user visible change from stock Gecko, but should only happen when font metrics for a data: URL font are requested due to ch/ex unit resolution when layout hasn't previously requested the font load. Hopefully nobody relies on synchronous resolution of ch/ex units with data: URLs. We unfortunately also can't pick gfxUserFontEntry objects out of the UserFontCache during Servo traversal, since validating the cache entry involves doing content policy checking, which is not thread-safe (due in part to taking strong references to nsIPrincipals). Platform fonts and ArrayBuffer-backed DOM FontFace objects continue to be handled synchronously. The PostTraversalTask does not take a strong reference to the gfxUserFontEntry object, since it is held on to by the DOM FontFace object, which itself won't go away before the PostTraversalTask is run. MozReview-Commit-ID: J9ODLsusrNV
dff7c804d7e320b8cdad31ed542d3114ea23344f: Bug 1356103 - Part 8: Use PostTraversalTasks to deal with FontFaceSet's Promise and DOM event dispatch during Servo traversal. r=bholley draft
Cameron McCormack <cam@mcc.id.au> - Sun, 30 Apr 2017 14:55:22 +0800 - rev 572580
Push 57115 by bmo:cam@mcc.id.au at Thu, 04 May 2017 10:01:25 +0000
Bug 1356103 - Part 8: Use PostTraversalTasks to deal with FontFaceSet's Promise and DOM event dispatch during Servo traversal. r=bholley The PostTraversalTask does not take a strong reference to the FontFaceSet object, since as a DOM object, we can't call AddRef/Release on it from the Servo style worker threads. The FontFaceSet is held on to by the nsIDocument, and only cleared during cycle collection, which should not occur between the font metrics request and the PostTraversalTask running. MozReview-Commit-ID: 5aKIg4DIQ4w
ce4d984030ee4cf01f2c8b2dff25d349c6eb8444: Bug 1356103 - Part 7: Use PostTraversalTasks to deal with FontFace's Promise during Servo traversal. r=bholley draft
Cameron McCormack <cam@mcc.id.au> - Sun, 30 Apr 2017 14:51:29 +0800 - rev 572579
Push 57115 by bmo:cam@mcc.id.au at Thu, 04 May 2017 10:01:25 +0000
Bug 1356103 - Part 7: Use PostTraversalTasks to deal with FontFace's Promise during Servo traversal. r=bholley The PostTraversalTask does not take a strong reference to the FontFace object, since as a DOM object, we can't call AddRef/Release on it from the Servo style worker threads. The FontFace objects that we encounter are all held on to by the FontFaceSet, and none of the work that we do during font loads should drop FontFace objects from the FontFaceSet. (That only happens under nsIDocument::FlushUserFontSet, which is only called on the main thread.) MozReview-Commit-ID: 5CdtGQYC9aL
b7f5298203aa0281b656198c209d7b18cfee62ac: Bug 1356103 - Part 6: Make gfxUserFontSet refcounting thread-safe. r=bholley draft
Cameron McCormack <cam@mcc.id.au> - Sun, 30 Apr 2017 14:48:17 +0800 - rev 572578
Push 57115 by bmo:cam@mcc.id.au at Thu, 04 May 2017 10:01:25 +0000
Bug 1356103 - Part 6: Make gfxUserFontSet refcounting thread-safe. r=bholley As with a few other gfx* font-related classes, during font metrics calculations we end up taking strong references to gfxUserFontSet, and it would be difficult to restructure the code to not do this. MozReview-Commit-ID: L1GbZnf4825
281e0b2118e6e79a6756636fff7373f316894c44: Bug 1356103 - Part 5: Allow access to WeakPtr<UnscaledFont> when the Servo font metrics mutex is locked. r=lsalzman draft
Cameron McCormack <cam@mcc.id.au> - Sun, 30 Apr 2017 14:47:22 +0800 - rev 572577
Push 57115 by bmo:cam@mcc.id.au at Thu, 04 May 2017 10:01:25 +0000
Bug 1356103 - Part 5: Allow access to WeakPtr<UnscaledFont> when the Servo font metrics mutex is locked. r=lsalzman We need to grab UnscaledFont objects through WeakPtrs during metrics calculations, but this only happens on Servo style worker threads while the Servo font metrics mutex is locked (and while the main thread is paused). So we use WeakPtrTraits to override the thread safety assertion to allow OMT access through the WeakPtr if the mutex is locked. Since we can end up creating UnscaledFont objects from the style worker threads too, we additionally need to allow the main thread to access them through WeakPtrs. It would be nice to avoid the dependency on layout/style/ here, but I can't see a way to do that without putting the burden of the annotation that the more permissive thread safety checks are allowed on the WeakPtr<> declarations themselves. MozReview-Commit-ID: AbHNZEhE7L8
e4c231fa09ec1eb15db9b4a8b40385bb6971d3f2: Bug 1356103 - Part 4: Add a mechanism for C++ functions to perform post-Servo traversal tasks. r=bholley draft
Cameron McCormack <cam@mcc.id.au> - Sun, 30 Apr 2017 14:45:32 +0800 - rev 572576
Push 57115 by bmo:cam@mcc.id.au at Thu, 04 May 2017 10:01:25 +0000
Bug 1356103 - Part 4: Add a mechanism for C++ functions to perform post-Servo traversal tasks. r=bholley MozReview-Commit-ID: 5Gx1qZzQxAK
5d58bfbab0ad0d11c5bfc500e46bc0307beb98a4: Bug 1356103 - Part 3: Make it easy to access the ServoStyleSet currently in traversal. r=bholley draft
Cameron McCormack <cam@mcc.id.au> - Sun, 30 Apr 2017 14:41:11 +0800 - rev 572575
Push 57115 by bmo:cam@mcc.id.au at Thu, 04 May 2017 10:01:25 +0000
Bug 1356103 - Part 3: Make it easy to access the ServoStyleSet currently in traversal. r=bholley In a later patch, we'll want to queue up some tasks to run when the Servo traversal is one, and the ServoStyleSet seems like the natural place to store those tasks. We could probably find the ServoStyleSet by chasing a bunch of pointers from the task-adding call sites, but it seems simpler just to make it available directly. MozReview-Commit-ID: AJoFZEoNaGm
f4536961c689b990aca79dc31fb34184768120ff: Bug 1356072 - Update stylo-failures. draft
KuoE0 <kuoe0.tw@gmail.com> - Thu, 27 Apr 2017 17:54:18 +0800 - rev 572574
Push 57114 by bmo:kuoe0@mozilla.com at Thu, 04 May 2017 10:00:18 +0000
Bug 1356072 - Update stylo-failures. MozReview-Commit-ID: 4FBnwJfh2Uc
7c8577a8e82dc3a4c680f3b7ff476a3189ad8b32: Bug 1356072 - Make stylo support moz-prefixed cursor values. draft
KuoE0 <kuoe0.tw@gmail.com> - Thu, 27 Apr 2017 16:28:08 +0800 - rev 572573
Push 57114 by bmo:kuoe0@mozilla.com at Thu, 04 May 2017 10:00:18 +0000
Bug 1356072 - Make stylo support moz-prefixed cursor values. MozReview-Commit-ID: AfV0recnoXw
d007a895d833ada45eea9ff61ecc5e721bf1d2ed: Bug 1361986 - Update the about:privatebrowsing design for photon. r?johannh draft
Dão Gottwald <dao@mozilla.com> - Thu, 04 May 2017 11:56:32 +0200 - rev 572572
Push 57113 by dgottwald@mozilla.com at Thu, 04 May 2017 09:56:54 +0000
Bug 1361986 - Update the about:privatebrowsing design for photon. r?johannh MozReview-Commit-ID: BVdGXXWgD1D
1367360a33986fdaea705c7b3a5aa849644387a2: Bug 1361984 - Create platform decoder directly without H264Converter involving for video/avc. draft
James Cheng <jacheng@mozilla.com> - Wed, 03 May 2017 14:58:14 +0800 - rev 572571
Push 57112 by bmo:jacheng@mozilla.com at Thu, 04 May 2017 09:50:00 +0000
Bug 1361984 - Create platform decoder directly without H264Converter involving for video/avc. Add a flag in VideoInfo to indicate we don't need H264Converter to get involved. Create Android Platform decoder directly. MozReview-Commit-ID: G9cU51SujPb
33b92d9c40562dab3d7b602368c75619f1d793f7: merge mozilla-inbound to mozilla-central a=merge
Carsten "Tomcat" Book <cbook@mozilla.com> - Thu, 04 May 2017 10:57:00 +0200 - rev 572570
Push 57112 by bmo:jacheng@mozilla.com at Thu, 04 May 2017 09:50:00 +0000
merge mozilla-inbound to mozilla-central a=merge
a8d597ee6dd58306e62e55a07c4ab20958726d6a: Bug 1341102 - Fix mistaken annotation. r=me
Cameron McCormack <cam@mcc.id.au> - Thu, 04 May 2017 13:32:24 +0800 - rev 572569
Push 57112 by bmo:jacheng@mozilla.com at Thu, 04 May 2017 09:50:00 +0000
Bug 1341102 - Fix mistaken annotation. r=me
e10fdc12c2414653c37c0a504e24bb8f013418fa: Merge mozilla-central to autoland
Iris Hsiao <ihsiao@mozilla.com> - Thu, 04 May 2017 13:22:44 +0800 - rev 572568
Push 57112 by bmo:jacheng@mozilla.com at Thu, 04 May 2017 09:50:00 +0000
Merge mozilla-central to autoland
581dcfa1f86f5f17c1fbb565761fdd725fa60ad3: Bug 1341102 - Update expectations for servo/servo#16568 and servo/servo#16713.
Cameron McCormack <cam@mcc.id.au> - Thu, 04 May 2017 12:03:35 +0800 - rev 572567
Push 57112 by bmo:jacheng@mozilla.com at Thu, 04 May 2017 09:50:00 +0000
Bug 1341102 - Update expectations for servo/servo#16568 and servo/servo#16713.
cf0d3b39a0b1b668fb7d3fcc2722aa15ee7e1adf: Bug 1350279 - try other codecs when first one failed to create. r=esawin
John Lin <jolin@mozilla.com> - Tue, 02 May 2017 15:52:45 +0800 - rev 572566
Push 57112 by bmo:jacheng@mozilla.com at Thu, 04 May 2017 09:50:00 +0000
Bug 1350279 - try other codecs when first one failed to create. r=esawin Video fails to play on Sony Z3C when the media server is in a state that no hardware codec can be created unless reboot. Fallback to software codec when that happens to workaround the issue. MozReview-Commit-ID: AaRIw7KPaF3
38a33d820e37aea72e5731e72174bc591e923c6b: servo: Merge #16707 - Stylo: Implement {specified|computed}::LayerImage (from CJKu:bug-1359787); r=manish
cku <cku@mozilla.com> - Wed, 03 May 2017 21:49:33 -0500 - rev 572565
Push 57112 by bmo:jacheng@mozilla.com at Thu, 04 May 2017 09:50:00 +0000
servo: Merge #16707 - Stylo: Implement {specified|computed}::LayerImage (from CJKu:bug-1359787); r=manish <!-- Please describe your changes on the following line: --> Bug 1359787 - Stylo: Unite the implementation of background-image/ mask-image and border-image-source in {background|svg|border}.mako.rs --- <!-- 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. --> Source-Repo: https://github.com/servo/servo Source-Revision: 896a920ff53f683cdaac8bc6b2f796633a436a7f
9de62c17dc19ad0a363fc2c04f285aabab5d279c: servo: Merge #16500 - Fix unsafe Heap constructor usage in DOM objects (from MortimerGoro:unsafe_heap); r=asajeffrey
Imanol Fernandez <mortimergoro@gmail.com> - Wed, 03 May 2017 21:07:32 -0500 - rev 572564
Push 57112 by bmo:jacheng@mozilla.com at Thu, 04 May 2017 09:50:00 +0000
servo: Merge #16500 - Fix unsafe Heap constructor usage in DOM objects (from MortimerGoro:unsafe_heap); r=asajeffrey <!-- Please describe your changes on the following line: --> See https://github.com/servo/rust-mozjs/issues/343#issuecomment-294513870 Heap::new() constructor is unsafe. Heap should be set after reflect_dom_object call in order to prevent potential GC crashes. <!-- 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 _____ <!-- 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: e8aa3759bd8f74f7a962e421bd0cbf2a0a3e35da
6f76ba14922cad593854fc831e5ebe173bb69749: Bug 1321275 - Confirm VRLayerChild is not destroyed before sending destroy message to the parent side; r=kip
Daosheng Mu <daoshengmu@gmail.com> - Wed, 03 May 2017 18:43:39 +0800 - rev 572563
Push 57112 by bmo:jacheng@mozilla.com at Thu, 04 May 2017 09:50:00 +0000
Bug 1321275 - Confirm VRLayerChild is not destroyed before sending destroy message to the parent side; r=kip MozReview-Commit-ID: v0awwplOQv
(0) -300000 -100000 -30000 -10000 -3000 -1000 -300 -100 -50 -20 +20 +50 +100 +300 +1000 +3000 +10000 +30000 +100000 tip