Граф коммитов

56901 Коммитов

Автор SHA1 Сообщение Дата
Cameron McCormack d7a98f45a2 Bug 1356103 - Part 11: Adjust text expectations. r=bholley
MozReview-Commit-ID: 7psm1XCGQ8I

--HG--
extra : rebase_source : cf638bbbe982fa366562b135c098c8e960e8b984
2017-04-30 15:20:42 +08:00
Cameron McCormack a3bfc246a5 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 : 818937cb2ca540cd78fce82e3d432e95cfe4d8b6
2017-05-04 16:20:14 +08:00
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 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
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 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 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
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
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
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 553dbd294c Merge mozilla-central to mozilla-inbound 2017-05-04 11:29:49 +08:00
Wes Kocher 4e89a77541 Merge m-c to autoland, a=merge
MozReview-Commit-ID: F7qkNALe0WT
2017-05-03 13:52:24 -07:00
Wes Kocher 21203b47b5 Merge inbound to m-c a=merge
MozReview-Commit-ID: JgXkqrOwl3N
2017-05-03 13:40:24 -07:00
Jamie Nicol 17d4964c7c Bug 1358185 - Force FixedPosition display items to be active. r=mstange
Fixed backgrounds were not being clipped correctly when rendered using
inactive layers.

MozReview-Commit-ID: 3v8tajr3MoB

--HG--
extra : rebase_source : 25329cb9efb998c64924916d4ea496a439688c8d
2017-05-03 16:49:43 +01:00
Andrew Swan 79a787c063 Bug 1352204 Fix test issues with non-MPC extensions r=kmag
Continue to allow non-multiprocessCompatible extensions in automation.
There are a ton of places that would need to be changed, many of which
will be changing soon anyway with the non-webextensions change in 57
so this is mostly the expedient route to keeping the tree green.

MozReview-Commit-ID: EZZoDVdhLfy

--HG--
extra : rebase_source : f83472bc1c88dd0deadbe485d9002499027ff07f
2017-05-03 08:02:51 -07:00
Kris Maglione e77423bec5 Bug 1353060: Use the correct layer manager for frameloaders in <popup>s. r=kats,mattwoodrow
Currently, we only correctly support remote layer trees for frameloaders that
use the same layer manager as their document. Since we need to be able to host
remote <browser> content in popup widgets for remote WebExtensions, we need to
tie the frameloaders to the layer manager of their host element, rather than
the root layer manager for the document.

MozReview-Commit-ID: 4RCsamFBiQw

--HG--
extra : rebase_source : 86bca4ae1c012ff1bb84a9ad796be311cfe580f6
extra : histedit_source : 19577d69430adc8cb38c195f13db2c6de6605c4c
2017-04-17 21:41:18 -07:00
Wei-Cheng Pan cd1468cb2b Bug 1345540 - Measure input event handling latency. r=bsmedberg,smaug, data-review?bsmedberg
MozReview-Commit-ID: 9mvwMewgIkJ

--HG--
extra : rebase_source : 659976746df68beddfc3281586d03b25a56e0ca0
2017-04-18 11:25:21 +08:00
Botond Ballo 15114b5297 Bug 1359868 - Try to pre-render offscreen portions of scrollbar thumbs. r=mstange
MozReview-Commit-ID: K3TPswpjh3O

--HG--
extra : rebase_source : f71262bf0ce948511ecc53175790beb38a0f6ba5
2017-05-01 20:32:07 -04:00
Botond Ballo 979e3ee035 Bug 1359868 - Move the ComputePartialPrerenderArea() helper to nsLayoutUtils so it can be reused. r=mstange
MozReview-Commit-ID: GVRBUfYwOFP

--HG--
extra : rebase_source : 8e16daf7709cc107f21e3b8b0050df44e83089fb
2017-05-01 19:59:08 -04:00
Jonathan Watt 0c31c793e8 Bug 1360662, part 2 - Test that only properties listed in '-moz-context-properties' are exposed as image context properties. r=dholbert
MozReview-Commit-ID: BsE02V9HXye

--HG--
extra : rebase_source : 84a1421bfd6be4e8a775a916c73673d06cb6c1f2
2017-04-19 15:24:56 +01:00
Jonathan Watt 44c2ccb8ad Bug 1360662, part 1 - Only expose properties that are listed in '-moz-context-properties' as image context properties. r=dholbert
MozReview-Commit-ID: B17M2vQZ92e

--HG--
extra : rebase_source : 3d8a2317ea9f092f2c41e00263135dfc57827e7d
2017-04-19 14:52:25 +01:00
Benjamin Smedberg df806a1923 Bug 1335475 - Reftest harness needs to check for the test plugin without using navigator.plugins. r=dbaron
Previously the harness would check for navigator.plugins[Test Plug-in] in the browser window, but that is now blocked from working. Instead we can simply use an existing getTestPlugin function that enumerates the plugin through nsIPluginHost

MozReview-Commit-ID: Kp48u5iFkSa
2017-05-03 18:12:44 -03:00
Gabor Krizsanits eb829f971b Bug 1341008 - Use the preallocated process manager by default. r=billm, r=kmag
To mitigate the delay that a new content process startup might cause, when the
browser reaches a non-busy state we attempt to prelaunch an empty content process
in the background that can be grabbed and used the next time we need one. This patch
enables the preallocated process manager by default and attempts to fix all the
issues that prevented us doing this sooner.
2017-05-03 12:00:20 +02:00
Carsten "Tomcat" Book b0e1da2a90 merge mozilla-inbound to mozilla-central a=merge 2017-05-03 10:11:26 +02:00
Wes Kocher e141e24ffb Merge m-c to autoland, a=merge
MozReview-Commit-ID: 1peTFbNMVnU
2017-05-02 17:38:11 -07:00
Wes Kocher df3f95a52f Merge inbound to m-c a=merge
MozReview-Commit-ID: 4SpokMW1d3I
2017-05-02 17:35:06 -07:00
Emilio Cobos Álvarez cc46407803 Bug 1361368: Don't unnecessarily nullcheck the parent frame in ReflowInput::InitConstraints. r=mats
That function has a special path for when there's no parent reflow input, and if
there's a parent reflow input there should always be a parent frame.

MozReview-Commit-ID: EYh0aE4ozBg
2017-05-02 18:15:50 +02:00
Brad Werth a3a59ddf78 Bug 1348481 Part 6: Adjust expected error counts for mochitests (generally greatly reduced). r=heycam
MozReview-Commit-ID: IDek7fUGQPo

--HG--
extra : rebase_source : 7708217f975b7d14b9ed122358b43da57f57cef8
2017-05-01 17:57:01 -07:00
Brad Werth f7a48d11c2 Bug 1348481 Part 5: Add new reftests to test servo stylesheet set integrity and cloning behavior. r=heycam
MozReview-Commit-ID: CNFH6eqvuhK

--HG--
extra : rebase_source : 1a4691fd613cc7780ed89b01650354ea5f8d959e
2017-05-01 09:55:28 -07:00
Brad Werth 5426d724b2 Bug 1348481 Part 4: Turn back on unexpected pass reftests. r=heycam
MozReview-Commit-ID: DjQ1NaWx7M4

--HG--
extra : rebase_source : 121b7fa4d64aebd1a43207ef1c3810bccbb12575
2017-05-01 09:52:46 -07:00
Thomas Nguyen 6c7694640d Bug 1354563 - Return value of setting referrer could be ignored when loading style. r=heycam
The referrer header is optional field and it should not block loading style

MozReview-Commit-ID: fgm5A2MjRW
2017-04-27 20:34:00 +02:00
Brian Birtles 5267613207 Bug 1334583 - Pass a separate timeOrigin and startTime for compositor animations; r=hiro
By passing the startTime as a TimeDuration we are able to represent times in the
distant past (and with the same range as we can represent on the main thread so
that if we do encounter range errors in future, they should not differ between
the main thread and the compositor).

This patch includes a crashtest. I have verified that, without the code changes
included in this patch, this crashtest fails on debug builds on OSX.

MozReview-Commit-ID: EDuKLzfEC0K

--HG--
extra : rebase_source : 1883080fdfac8c33f70698145f21e67cbdfdd4f2
2017-05-02 16:49:51 +09:00
Wes Kocher 5b73758a65 Merge m-c to inbound, a=merge
MozReview-Commit-ID: ILz91Vj4gT5
2017-05-02 17:39:58 -07:00
Robert Longson 0c1b6c1fcc Bug 1347409 part 2 - serialise fill and stroke fallback properly r=cam 2017-05-02 22:12:59 +01:00
Brad Werth e2e3019c59 Bug 1348481 Part 3: Fix a dangerous typo in StyleSetHandleInlines (replaced one variable with another) and add assert to catch the problem it created. r=heycam
MozReview-Commit-ID: L2tfMt7TM60

--HG--
extra : rebase_source : 7047ed8922bae65d4ecb30c157559959d5a59e51
2017-04-18 11:29:13 -07:00
Brad Werth 3c02700e0e Bug 1348481 Part 2: Gecko-side track unique IDs for each stylesheet and send them to Servo. r=heycam
MozReview-Commit-ID: 7ZaQYhjdYmG

--HG--
extra : rebase_source : 4f1479ca32a305e16c4da8b3ca1c4532f7040258
2017-05-01 16:46:41 -07:00