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

25710 Коммитов

Автор SHA1 Сообщение Дата
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 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
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 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 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
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
Iris Hsiao 553dbd294c Merge mozilla-central to mozilla-inbound 2017-05-04 11:29:49 +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
Daosheng Mu 6a807270be Bug 1321275 - Confirm VRLayerChild is not destroyed before sending destroy message to the parent side; r=kip
MozReview-Commit-ID: v0awwplOQv

--HG--
extra : rebase_source : 3a15b5249ea03e0d64a6229d55d6d418d9b8076f
2017-05-03 18:43:39 +08:00
Wes Kocher 21203b47b5 Merge inbound to m-c a=merge
MozReview-Commit-ID: JgXkqrOwl3N
2017-05-03 13:40:24 -07:00
Bas Schouten 76892628f3 Bug 1348320: Use UpdateSubResource on crashy intel device/OS version combinations. r=jrmuizel
MozReview-Commit-ID: EdDn4qy1ajP

--HG--
extra : rebase_source : fadec88a9586bc40e44d2f91aae5c9c5f8f59a5c
2017-05-01 01:11:24 +00:00
Lee Salzman 7afaed3c92 Bug 1360862 - use FC_OUTLINE instead of FC_SCALABLE with Fontconfig to check if a font is scalable. r=jfkthame
MozReview-Commit-ID: 1omWCJz5IK6
2017-05-03 20:45:39 -04:00
Kartikaya Gupta aaee175243 Bug 1360613 - Don't call BorrowDrawTarget on a null texture. r=ethlin
MozReview-Commit-ID: EtBMTwA5mcB

--HG--
extra : rebase_source : 87de2f03dba406974fc8c9037e1ddf7af0e25e49
2017-05-02 22:22:47 -04:00
Sebastian Hengst 0d8a182804 Backed out changeset 25f2e9e2068d (bug 1343754) for crashing e.g. in dom/workers/test/serviceworkers/test_fetch_integrity.html. r=backout 2017-05-03 12:59:36 +02:00
Sebastian Hengst bc111f528d Backed out changeset a5037670cb10 (bug 1343754) 2017-05-03 12:58:29 +02:00
Jonathan Kew 4c35432a3a Bug 1360309 - Work around some broken Apple fonts. r=jrmuizel 2017-05-03 09:03:18 +01:00
Wes Kocher df3f95a52f Merge inbound to m-c a=merge
MozReview-Commit-ID: 4SpokMW1d3I
2017-05-02 17:35:06 -07: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
Brian Birtles ec43d6df6d Bug 1361260 - Incorporate playbackRate when calculating the start time of a pending compositor animation; r=hiro
MozReview-Commit-ID: FBmT5ImBcYJ

--HG--
extra : rebase_source : 76058d69b844adb0725b7522fcbdfd8541f2b71f
2017-05-02 16:43:21 +09:00
Brian Birtles d8df0f7aa8 Bug 1361234 - Fix start time calculation for pending animations on layers; r=hiro
In bug 1223658 we separated out the delay from the start time but we failed to
remove it from this calculation. As a result, when a pending animation begins it
will have the delay applied twice (once here, and once when it is sampled on the
compositor). This will happen until the layer is next updated.

This bug was not exposed by any existing tests since we don't use this code path
when the refresh driver is under test control. Furthermore, the one test that
was supposed to cover this was refactored in such a way that it stopped testing
this code path. That test is restored earlier in this patch series and enabled
in this patch.

MozReview-Commit-ID: B2KR7YaPsMK

--HG--
extra : rebase_source : 6c888252813fbfc01baf5d4bb1728d989ee1586c
2017-05-02 16:41:13 +09:00
Jonathan Kew afaf811234 Bug 1360620 - Optimize GlyphRun storage strategy in gfxTextRun, to reduce the overall size of the gfxTextRun object. r=jrmuizel 2017-05-02 11:14:53 +01:00
Carsten "Tomcat" Book a439f12e74 merge mozilla-inbound to mozilla-central a=merge 2017-05-02 11:04:56 +02:00
Ting-Yu Lin 918033ba12 Bug 1321754 Part 2 - Update reftest and crashtest expectations for stylo. r=heycam
MozReview-Commit-ID: AunZ2DE209M

--HG--
extra : rebase_source : 4a091cd55581039c8d81f4db9bfbe2af8c0d0863
2017-04-28 14:53:16 +08:00
Jim Chen a4925f9438 Bug 1357873 - Fix format warning in gfx; r=heycam
Use printf macros to accommodate AArch64 types.
2017-05-01 14:46:01 -04:00
Lee Salzman ce86d53eec Bug 1358776 - fix building of SkBitmapProcState on ARM NEON. r=jrmuizel 2017-05-01 13:36:19 -04:00
Phil Ringnalda 6b129efd40 Backed out changeset 867fcd3e181d (bug 1350634) for leaking in sessionstore's browser-chrome tests
MozReview-Commit-ID: 7NS2GkfZSp0
2017-04-30 21:14:10 -07:00
David Anderson d7a1f66c55 Make PLayerTransaction's constructor async. (bug 1350634, ipc_r=billm, r=mattwoodrow, r=kats)
PLayerTransaction's constructor was previously synchronous so we could
return a TextureFactoryIdentifier. This is quite reliably available
already in the case of opening a tab, due to RenderFrameParent knowing
which compositor it is attached to, so we can make the constructor
asynchronous.

In the top-level widget case, we add a new synchronous message to find
the TextureFactoryIdentifier.
2017-04-30 17:22:56 -07:00
Nicholas Nethercote 273ec65c56 Bug 1123754 (part 1) - Rename ProfilerMarkers.{h,cpp} as ProfilerMarkerPayload.{h,cpp}. r=mstange.
Because ProfilerMarkerPayload is the main type defined in these files, and
because the next patch is going to introduce ProfilerMarker.{h,cpp}, which
would be confusingly similar to the old names.

--HG--
rename : tools/profiler/core/ProfilerMarkers.cpp => tools/profiler/core/ProfilerMarkerPayload.cpp
rename : tools/profiler/public/ProfilerMarkers.h => tools/profiler/public/ProfilerMarkerPayload.h
extra : rebase_source : df22a2ab3867650348ae78fe959ff0366aff230b
2017-04-27 07:36:19 +10:00
David Anderson 413ea1b941 Pre-initialize DeviceAttachmentsD3D11 on the compositor thread, immediately after the GPU process initializes. (bug 1360766 part 3, r=bas) 2017-04-30 11:38:59 -07:00
David Anderson dab415165b Store DeviceAttachmentsD3D11 on DeviceManagerDx instead of ID3D11Device. (bug 1360766 part 2, r=bas) 2017-04-30 11:38:59 -07:00
David Anderson f4c403f3f3 Separate DeviceAttachmentsD3D11 into its own header and source file. (bug 1360766 part 1, r=bas) 2017-04-30 11:38:58 -07:00
Sebastian Hengst 42fd33ff9c merge mozilla-inbound to mozilla-central. r=merge a=merge
MozReview-Commit-ID: ELENTh08Be7
2017-04-29 11:10:31 +02:00
Phil Ringnalda 7aa9d244e3 Backed out changeset 1ad211b75475 (bug 1337062) for timeouts and shutdown crashes in e10s, primarily Win8 PGO b-c and dt
MozReview-Commit-ID: 7VvEkGpU3rj
2017-04-28 21:50:06 -07:00
Randall Barker c9357cb3b0 Bug 1358774 - Prevent dynamic toolbar from changing state when transitioning from multiple touch sources to a single touch source r=botond
The MultiTouchInput::MULTITOUCH_END generated from transitioning from
multiple touch sources to a single source would often cause the content
to shift under the remaining finger which would look like a fling and
cause the content to rapidly scroll. This patch treats the transition from
multiple touch source to a single source as if the touch event were
starting over by resetting all the variables tracking the touch drag
that is in progress.

MozReview-Commit-ID: 42L1Q622fww
2017-04-28 15:15:12 -07:00
Randall Barker ac6992ec74 Bug 1360639 - Use the page background color when no dynamic toolbar snapshot is available r=kats
MozReview-Commit-ID: Hgjr3VjHFdp
2017-04-28 14:44:55 -07:00
Sebastian Hengst a3b0805348 Backed out changeset 50998e4fbb31 (bug 1333056) for crashing in Windows xpcshell tests, e.g. test_console_filtering.js and test_gpuprocess.js. r=backout 2017-04-28 23:22:52 +02:00
Markus Stange 2a35142b62 Bug 1349418 - Remove checkerboarding code and just use an opaque background color behind root scroll frames. r=kats 2017-04-21 14:02:15 +12:00
Kevin Chen e9665f4b28 Bug 1343754 - Label PLayerTransaction; r=bevistseng,kats
MozReview-Commit-ID: 8QF5SQKuFhY

--HG--
extra : rebase_source : c037cc20c6e4e09f28c78ebeb09e86ebfce58d6a
2017-03-21 03:57:56 +00:00
Kevin Chen ae41b0ceb9 Bug 1343754 - Label PLayerTransaction; r=bevistseng,kats
MozReview-Commit-ID: 8QF5SQKuFhY

--HG--
extra : rebase_source : c2dca1fff0e96489b87c704200a19a4b037c04f7
2017-03-21 03:57:56 +00:00
Kevin Chen aa4fe616d0 Bug 1343754 - Add a function for replacing event target for actor and label PTexture; r=bevistseng,billm,nical
MozReview-Commit-ID: KGVBWsexkqC

--HG--
extra : rebase_source : 2ae5e2aa2e54cb2c368310ebdb1fdcbcae3092f4
2017-03-21 03:57:56 +00:00
Kevin Chen bdb02a828a Bug 1343754 - Add a function for replacing event target for actor and label PTexture; r=bevistseng,billm,nical
MozReview-Commit-ID: KGVBWsexkqC

--HG--
extra : rebase_source : 5ac2edced51462fd013f0efba0e434d6a2fc7863
2017-03-21 03:57:56 +00:00
Hiroyuki Ikezoe 751ec1a2f7 Bug 1361632 - Adjust reftest expectation for -moz-appearance. r=bholley
MozReview-Commit-ID: 6sqyA5TCHjk

--HG--
extra : rebase_source : 4957d93a55717850594dabc2650cecf060022f75
2017-05-04 06:39:30 +09:00
Jonathan Kew 25183dff43 Bug 1353000 - Respect the round-to-pixels flags when caching shaped-word data. r=jrmuizel 2017-04-12 14:55:13 +01:00
David Anderson b7ea70802a Assert that the GPU process build ID matches the UI process. (bug 1333056, r=mccr8) 2017-04-28 11:48:02 -07:00
David Anderson 03f8916ea2 Fix an APZ crash when a tab loads after its widget has been destroyed. (bug 1360478, r=kats)
Since tabs are loaded and shutdown asynchronously with respect to the UI
process, it is possible for a tab to be loading as its parent widget and
compositor are shutting down. We protect PAPZCTreeManager's constructor
against this by making a temporary APZCTM object.

--HG--
extra : rebase_source : 64be2e2dafc578effe2e0fc89c0c325e24419e0d
2017-04-28 11:22:21 -07:00
Shing Lyu c46f5d5baf Bug 1351548 - Remove reftest-stylo.lists. r=bholley
MozReview-Commit-ID: 8LoQ9xNnDnj
2017-04-28 11:15:58 +08:00
Shing Lyu 435db45b79 Bug 1351548 - Add stylo-vs-gecko expectations to reftest.lists. r=bholley
MozReview-Commit-ID: GOUGBsd05cn
2017-04-28 11:15:50 +08:00