Commit Graph

534017 Commits

Author SHA1 Message Date
Cameron McCormack
756d5f5a9a 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

--HG--
extra : rebase_source : d3e3d1dc187cb252750b57bcecd0b1ed77a15a7c
2017-04-30 14:57:25 +08:00
Cameron McCormack
cbeb477e95 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

--HG--
extra : rebase_source : a7b63582b3610491fbcb4e2b931d55681e626513
2017-04-30 14:55:22 +08:00
Cameron McCormack
23a9137f03 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

--HG--
extra : rebase_source : 8ce5ff0c4ca306ccc240a86e7cacb588cc6c94c7
2017-04-30 14:51:29 +08:00
Cameron McCormack
cdf2cb66eb 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

--HG--
extra : rebase_source : 3bc2deb24e282f4a76f0a270d28771016052f9ec
2017-04-30 14:48:17 +08:00
Cameron McCormack
8fa01566a1 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

--HG--
extra : rebase_source : 48fba82778c1015a764a3cd921475966b67bf70a
2017-04-30 14:47:22 +08:00
Cameron McCormack
1eb02fae6c Bug 1356103 - Part 4: Add a mechanism for C++ functions to perform post-Servo traversal tasks. r=bholley
MozReview-Commit-ID: 5Gx1qZzQxAK

--HG--
extra : rebase_source : af569f460fb7039faf481e393a34c04bc4c36bb9
2017-04-30 14:45:32 +08:00
Cameron McCormack
b23bdd20ae 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

--HG--
extra : rebase_source : 78389d72ba6dfb4301ba75bd39bbdc51d13cb4d5
2017-04-30 14:41:11 +08:00
Cameron McCormack
115e900d63 Bug 1356103 - Part 2: Add functions to assert the Servo font metrics mutex is locked. r=bholley
MozReview-Commit-ID: QtydYSYvxW

--HG--
extra : rebase_source : 50adc555668ae7c24fc01b6a32fc006fe609b0d5
2017-04-30 13:15:42 +08:00
Cameron McCormack
a5624c6f9d Bug 1356103 - Part 1: Add WeakPtrTraits to allow SupportsWeakPtr classes to opt in to more permissive thread ownership assertions. r=bholley
MozReview-Commit-ID: 62pJc2N8aIo

--HG--
extra : rebase_source : b1fed73b2c03d1cc1261a674a44fe578c2fe7d99
2017-04-30 12:14:06 +08:00
Alastor Wu
8c7f357d42 Bug 1357639 - part8 : add annotiation @RobocopTarget. r=sebastian
To make sure these functions can be used in robocop test.

MozReview-Commit-ID: KPAKOrg5Ows

--HG--
extra : rebase_source : cb21f8dc19fb9368f789d46d38ed46ad2b916df1
2017-05-04 15:24:00 +08:00
Alastor Wu
337b087df8 Bug 1357639 - part7 : add check for notification's content. r=sebastian
Add check for media notification's small icon, title and content text.

MozReview-Commit-ID: AOhag8gQVqs

--HG--
extra : rebase_source : 95ba0378056c997855af0d0dceffed7dbdb90f03
2017-05-04 15:23:56 +08:00
Alastor Wu
3e170812fe Bug 1357639 - part6 : list all test tasks in the ctor. r=sebastian
It's easy to know what test tasks we'll run in this test.

MozReview-Commit-ID: DdtFp4pOXlC

--HG--
extra : rebase_source : 3618c4fe0037b16fb6e8727c1523d9121732a61a
2017-05-04 15:23:50 +08:00
Alastor Wu
8ac7ff6fae Bug 1357639 - part5 : create new type test class for media playback. r=sebastian
Create new test class for reducing the redundant code and can provide more
flexibility for adding new related test in the future.

MozReview-Commit-ID: 2f3O8vfHo12

--HG--
extra : rebase_source : 6b503816d9ac75d9269d8f81b2dad300bf1e9702
2017-05-04 15:22:40 +08:00
Alastor Wu
d35138575d Bug 1357639 - part4 : add Fennec test for media control and audio focus. r=sebastian
Add robocop tests and mochitest chrome.

MozReview-Commit-ID: JofkKRSNdB5

--HG--
extra : rebase_source : 9e2aa8c39a5392127035b958f6e417110a17b383
2017-05-04 15:22:35 +08:00
Alastor Wu
50e1e92114 Bug 1357639 - part3 : change audio focus state before notifying observers. r=sebastian
Notify observer might cause the method (notifyStoppedPlaying) is called by C++ side,
and we should change our internal state before calling the method.

MozReview-Commit-ID: 5xNXhGmAIrR

--HG--
extra : rebase_source : c13943e717fe28b24a1bc6a83c9e6ac18b37eb9d
2017-05-04 15:19:44 +08:00
Alastor Wu
f442b3e688 Bug 1357639 - part2 : use enum for audio focus states. r=sebastian
MozReview-Commit-ID: KE6QuuF8xWm

--HG--
extra : rebase_source : e8e89767da6992e71c87c3307372e10428287280
2017-05-04 15:19:41 +08:00
Alastor Wu
bd089dc3c6 Bug 1357639 - part1 : change tab's media playing state when the tab is controlled by media control. r=sebastian
MozReview-Commit-ID: 7CNbMdCJT3K

--HG--
extra : rebase_source : 9bbbe072e3970a27d8d581bd8c06164d1ca78c8c
2017-05-04 15:19:39 +08:00
Iris Hsiao
0a6db9e69f Backed out 12 changesets (bug 1356103) for build bustage at PostTraversalTask.h
Backed out changeset 9fb487252c28 (bug 1356103)
Backed out changeset 301237c65945 (bug 1356103)
Backed out changeset 7bc3a4861a39 (bug 1356103)
Backed out changeset 2f383d89184b (bug 1356103)
Backed out changeset a03112e1c9d5 (bug 1356103)
Backed out changeset c60b4c9cbd83 (bug 1356103)
Backed out changeset 34280baeaabe (bug 1356103)
Backed out changeset 31a0881cfb47 (bug 1356103)
Backed out changeset 529d037f9c33 (bug 1356103)
Backed out changeset 1c7831db6b07 (bug 1356103)
Backed out changeset 559f06e32df3 (bug 1356103)
Backed out changeset 784865d234cd (bug 1356103)
2017-05-04 17:56:25 +08:00
Cameron McCormack
ebee71a43e servo: Merge #16724 - style: Re-enable font metrics querying for ch and ex units in Stylo traversal (from heycam:reenable-metrics); r=bholley
From https://bugzilla.mozilla.org/show_bug.cgi?id=1356103.

Source-Repo: https://github.com/servo/servo
Source-Revision: ca277aabe6c32f025da585b909b308336181d6e2

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : cc604030e331627f80bb98e37a9cf30964317e37
2017-05-04 03:46:28 -05:00
Jan Odvarko
e655a8d52d Bug 1361480 - Improve logic for size related filters; r=gasolin
MozReview-Commit-ID: 5hA6kpG9OhA

--HG--
extra : rebase_source : a3bf39bf29390782ea1d088a1855c23b562b24df
2017-05-03 08:27:35 +02:00
Farmer Tseng
3222ef2cdb Bug 1361949 - Add missing 'using namespace::widget' to widget/windows/nsDragService.cpp r=jwatt
Because ModifierKeyState is in the 'mozilla::widget' namespace, this file uses
it without qualification.

MozReview-Commit-ID: H6t3AqLjRwJ

--HG--
extra : rebase_source : 69b788761ee332cc94acc4be6ae6ce0bb50f0e98
2017-05-04 17:31:23 +08:00
Cameron McCormack
7a729e0dce Bug 1356103 - Part 12: Allow OMT heap writes under Gecko_GetFontMetrics. r=bholley
This isn't great, since although we know that Servo style worker threads
have exclusive write access to the main thread heap due to the use of
the Servo font metrics Mutex, we don't know that we're not modifying
data on the heap that other style worker threads want to read from.

MozReview-Commit-ID: CbSzQFkKG95

--HG--
extra : rebase_source : a6f288e114512cf83a54276591fa31a57dba3278
2017-04-30 17:03:15 +08:00
Cameron McCormack
06970669b1 Bug 1356103 - Part 11: Adjust text expectations. r=bholley
MozReview-Commit-ID: 7psm1XCGQ8I

--HG--
extra : rebase_source : 70ca0331145d31f85e2e21eb1036485d15b9ce8a
2017-04-30 15:20:42 +08:00
Cameron McCormack
63d057a7b8 Bug 1356103 - Part 10: Re-enable font metrics querying for ch and ex units in Servo traversal. r=bholley
MozReview-Commit-ID: 9rKsTyfgEIl

--HG--
extra : rebase_source : 69d06a1857cf687d8b1857c1d243c3dce756b953
2017-05-04 16:20:14 +08:00
Cameron McCormack
d3acda35aa 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

--HG--
extra : rebase_source : 1651e2917bd31b87fc1c1be94b0eced1273df86a
2017-04-30 14:57:25 +08:00
Cameron McCormack
9133a05c63 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

--HG--
extra : rebase_source : 50ca5f2d8af42cfbeb6808aa755a4670bdf293bd
2017-04-30 14:55:22 +08:00
Cameron McCormack
2870acb23f 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

--HG--
extra : rebase_source : 8e4f21a12ae5ca81017293d5b06f1551e307ea5d
2017-04-30 14:51:29 +08:00
Cameron McCormack
2a3418fdce 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

--HG--
extra : rebase_source : bfd83b02cceec747dc4f4f021eff205e7aaa2b69
2017-04-30 14:48:17 +08:00
Cameron McCormack
94dcde5557 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

--HG--
extra : rebase_source : 95e669d64a0881ef1c9747c2e7de7f361865af11
2017-04-30 14:47:22 +08:00
Cameron McCormack
b3951ab999 Bug 1356103 - Part 4: Add a mechanism for C++ functions to perform post-Servo traversal tasks. r=bholley
MozReview-Commit-ID: 5Gx1qZzQxAK

--HG--
extra : rebase_source : d3c119e2a71833462d67bb373674bbd38a7aa47d
2017-04-30 14:45:32 +08:00
Cameron McCormack
64ee30fc47 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

--HG--
extra : rebase_source : d8afe0c2cdf1ea4b1681c6e57aea48c9efddea00
2017-04-30 14:41:11 +08:00
Cameron McCormack
f6dd5eb7bb Bug 1356103 - Part 2: Add functions to assert the Servo font metrics mutex is locked. r=bholley
MozReview-Commit-ID: QtydYSYvxW

--HG--
extra : rebase_source : 50adc555668ae7c24fc01b6a32fc006fe609b0d5
2017-04-30 13:15:42 +08:00
Cameron McCormack
e94f4a51be Bug 1356103 - Part 1: Add WeakPtrTraits to allow SupportsWeakPtr classes to opt in to more permissive thread ownership assertions. r=bholley
MozReview-Commit-ID: 62pJc2N8aIo

--HG--
extra : rebase_source : b1fed73b2c03d1cc1261a674a44fe578c2fe7d99
2017-04-30 12:14:06 +08:00
Carsten "Tomcat" Book
1c4ab134e5 Merge mozilla-central to autoland 2017-05-04 11:24:40 +02:00
Carsten "Tomcat" Book
237cea8312 merge mozilla-inbound to mozilla-central a=merge
--HG--
rename : browser/base/content/test/general/accounts_testRemoteCommands.html => browser/base/content/test/sync/accounts_testRemoteCommands.html
rename : browser/base/content/test/general/browser_fxa_web_channel.html => browser/base/content/test/sync/browser_fxa_web_channel.html
rename : browser/base/content/test/general/content_aboutAccounts.js => browser/base/content/test/sync/content_aboutAccounts.js
extra : amend_source : 38d33daae77f06915b30cab5327a6aa7ef0ef4ac
2017-05-04 10:57:00 +02:00
Cameron McCormack
6f1279b74e Bug 1341102 - Fix mistaken annotation. r=me 2017-05-04 13:32:24 +08:00
Iris Hsiao
fa6e98e026 Merge mozilla-central to autoland 2017-05-04 13:22:44 +08:00
Cameron McCormack
06b764cb6c Bug 1341102 - Update expectations for servo/servo#16568 and servo/servo#16713. 2017-05-04 12:03:35 +08:00
Iris Hsiao
e71485e5b0 merge mozilla-inbound to mozilla-central a=merge 2017-05-04 11:18:36 +08:00
Ehsan Akhgari
2f73dfe826 Bug 1360864 - Defer the install and update check for the OpenH264 plugin until the browser is idle; r=cpearce,spohl 2017-05-03 20:15:21 -04:00
Hiroyuki Ikezoe
43a902cb19 Bug 1361632 - Adjust reftest expectation for -moz-appearance. r=bholley. a=merge
MozReview-Commit-ID: 6sqyA5TCHjk

--HG--
extra : rebase_source : 4957d93a55717850594dabc2650cecf060022f75
extra : amend_source : 6ee8241b984e300386da617fa9304b288989fdb7
2017-05-04 06:39:30 +09:00
Hiroyuki Ikezoe
3c7b5090d3 servo: Merge #16715 - Support all properties for -moz-appearance (from hiikezoe:moz-appearance); r=bholley
Now all properties in nsCSSProps::kMozAppearanceKTable are in
keyword list of -moz-appearance.

This is a PR of https://bugzilla.mozilla.org/show_bug.cgi?id=1361632

- [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 it's for stylo

Source-Repo: https://github.com/servo/servo
Source-Revision: 83020ffe291846ac425925da1dd4a3da9eb7cbad

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 41a11da87f4c3be15e6d297a40d5b9f024d38a48
2017-05-03 16:42:29 -05:00
Boris Zbarsky
f11ddd537b Bug 1361274. There's no need to update link :visited state when doing querySelectorAll, since querySelectorAll ignores that state anyway. r=smaug
In our current setup, in which links with an href attribute always match either
:link or :visited, no matter whether that attribute's value is a valid URI,
changes to the attribute always put the element into either the "match nothing"
state or the "match :link" state, via calls to Link::ResetLinkState.

The only thing FlushPendingLinkUpdates is needed for is (lazily, in case it
turns out to not be needed because the element got removed from the DOM anyway)
registering a history observer to switch the link state to :visited as needed.

This means that selector matching consumers that would never expose :visited
state to start with don't need to worry about calling FlushPendingLinkUpdates.
2017-05-03 16:54:25 -04:00
Iris Hsiao
ab85c1ac98 Backed out changeset dda520b4ed32 (bug 1360572) for Assertion failure at RasterImage.cpp 2017-05-04 11:30:45 +08:00
Iris Hsiao
553dbd294c Merge mozilla-central to mozilla-inbound 2017-05-04 11:29:49 +08:00
David Major
144694720e Bug 1355559: Suppress stack walking in LdrResolveDelayLoadedAPI. r=mstange,aklotz 2017-05-03 23:26:47 -04:00
Brian Grinstead
f51f763fde Bug 1361537 - Add a simple jsterm implementation to console launchpad;r=Honza
MozReview-Commit-ID: DbkR4MqUKBN

--HG--
extra : rebase_source : cfa99ef9597e641b7759e29dc3de42273b1a8dcc
2017-05-02 14:52:34 -07:00
Sebastian Hengst
532800137b Backed out changeset db9f3b377504 (bug 1054740) for failing Marionette's test_prefs.py TestPreferences.test_clear_pref, at least on Linux in non-e10s mode. r=backout on a CLOSED TREE 2017-05-03 23:15:56 +02:00
John Lin
89eafb3c7e 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

--HG--
extra : rebase_source : d5106d5c75c4430450a81bbe9cfd536f01ef4df9
2017-05-02 15:52:45 +08:00
cku
00a44a2499 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

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 9b64f6b658b04f16cdb1a4ee88075f3f0f41971d
2017-05-03 21:49:33 -05:00