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

10902 Коммитов

Автор SHA1 Сообщение Дата
Daosheng Mu 204ca9c9df Bug 1415762 - Cancel VRListener task when CompositorVsyncScheduler is going to destroy; r=dvander
MozReview-Commit-ID: CB5JrDGZTu1

--HG--
extra : rebase_source : 4a6f65f4aaf2c11f2dad1a471f0cb219470f1dbe
2017-11-13 11:33:33 +08:00
Ethan Lin a661b32865 Bug 1418869 - Do not try to share the fallback images. r=aosmond
The flag of force update is only for fallback items. Fallback items can't share the images with other items.
So I replace 'aForceUpdate' with 'aFallback' and remove some unnecessary checks.

MozReview-Commit-ID: Dcu95FZXlUz

--HG--
extra : rebase_source : 1ec96e0b5d39cc5760b4b5490c5ca9ccbc1933c6
2017-11-20 10:36:14 +08:00
KuoE0 65de3f260a Bug 1419247 - Allow Stringify() to support nsSize. r=mtseng
MozReview-Commit-ID: 5OU6Db5z29S

--HG--
extra : rebase_source : 6cebd66f1cd0ca248e18a5f81cb63347d00c9e6a
2017-11-20 17:39:38 +08:00
James Willcox 436c2828a9 Bug 1416015 - Ensure SurfaceTexture desctruction happens correctly r=jnicol
MozReview-Commit-ID: I4X1jQQC7ry
2017-11-21 12:43:31 -06:00
Ryan Hunt a7d27ab55d Revert to using EnsureBackBufferIfFrontBuffer (bug 1416921, r=bas)
This commit reverts DoubleBufferedContentClient to creating a back buffer
if there is an existing front buffer. This reverts back to a sequence of a
finalize frame, unrotate, and initialize new back buffer. When we are
not async painting we do each buffer operation immediately. If we are
async painting, then we collect all of the buffer operations and perform
them on the paint thread.

Note on locking: The destination for buffer copies must always be opened
with the async write flag, and the source must be unlocked.

MozReview-Commit-ID: Gu4EcblY7Sg

--HG--
extra : rebase_source : ddbd85202aaa1e79ab56c76a055561f0d37d775a
2017-11-17 01:37:01 -05:00
Nicolas Silva 50104c26e5 Bug 1377595 - Don't clip native themed item images to avoid over invalidation. r=jrmuizel 2017-11-20 10:28:13 +01:00
Brindusan Cristian f0a7488730 Merge mozilla-central to inbound. r=merge a=merge on a CLOSED TREE 2017-11-18 12:12:23 +02:00
Sebastian Hengst c9214daa09 merge mozilla-inbound to mozilla-central. r=merge a=merge 2017-11-18 11:58:58 +02:00
sotaro c2bdac32a6 Bug 1418035 - Fix worng decision of sending DidComposite r=nical 2017-11-18 08:56:40 +09:00
Noemi Erli c7026c5a77 Merge mozilla-central to mozilla-inbound. r=merge a=merge CLOSED TREE
--HG--
rename : devtools/client/responsive.html/components/DprSelector.js => devtools/client/responsive.html/components/DevicePixelRatioSelector.js
rename : third_party/python/pyasn1/test/__init__.py => third_party/python/pyasn1/pyasn1/codec/native/__init__.py
rename : third_party/python/pyasn1/test/__init__.py => third_party/python/pyasn1/tests/__init__.py
rename : third_party/python/pyasn1/test/__init__.py => third_party/python/pyasn1/tests/codec/__init__.py
rename : third_party/python/pyasn1/test/__init__.py => third_party/python/pyasn1/tests/codec/ber/__init__.py
rename : third_party/python/pyasn1/test/__init__.py => third_party/python/pyasn1/tests/codec/cer/__init__.py
rename : third_party/python/pyasn1/test/__init__.py => third_party/python/pyasn1/tests/codec/der/__init__.py
rename : third_party/python/pyasn1/test/__init__.py => third_party/python/pyasn1/tests/codec/native/__init__.py
rename : third_party/python/pyasn1/test/__init__.py => third_party/python/pyasn1/tests/compat/__init__.py
rename : third_party/python/pyasn1/test/__init__.py => third_party/python/pyasn1/tests/type/__init__.py
extra : rebase_source : d9b683c2142cb0edada8891c1c3539fd2f3593ee
2017-11-18 00:33:17 +02:00
Kartikaya Gupta 81e67cd608 Bug 1417519 - Hook up APZ to use the hit-testing API. r=botond,mstange
This adds the code that APZ needs to use the WR hit-testing API. For now
(if the pref is enabled) it just does the hit-test and compares the
result to the regular hit-test, printing out discrepancies. It also
doesn't yet get the scrollbar result.

MozReview-Commit-ID: 3pjYSWDGeDr

--HG--
extra : rebase_source : 9766fe3e77dd85f130ce155041cec7c0daae67ec
2017-11-17 20:28:44 -05:00
Kartikaya Gupta ce6a99a6e8 Bug 1417519 - Add a mechanism for APZ to get the WebRenderAPI instance. r=botond
MozReview-Commit-ID: FhdQhKIfQbw

--HG--
extra : rebase_source : 13c61233da0cb0ce4ed0d7072ac43d53509b222c
2017-11-17 10:54:24 -05:00
Kartikaya Gupta 6946f16436 Bug 1417519 - Don't allow things to get raw pointers to WebRenderAPI. r=sotaro
It seems like a footgun to expose raw pointers to WebRenderAPI which is
a refcounted object. Let's only expose it via refcounting pointers.

MozReview-Commit-ID: AKmTZg2V99r

--HG--
extra : rebase_source : 805f13d56a64bafbcdf3bf4266eec47c70856564
2017-11-17 10:54:24 -05:00
Kartikaya Gupta 9d9fb92aed Bug 1417519 - Log layers id as a hex value. r=botond
These days (at least with webrender enabled), the layers id is created
by mashing together two uint32 values into the uint64. Printing it as in
base 10 produces some large number near the 32-bit boundary, and it's
much more legible/easier to compare when printed in hex.

MozReview-Commit-ID: JsGhqyLtDBv

--HG--
extra : rebase_source : ed60d26d8223d968f37e8d933e60b1ee6552d1e9
2017-11-17 10:54:23 -05:00
Ryan Hunt ab27b063e3 Remove `layers.omtp.force-sync` preference (bug 1416941, r=dvander)
This commit removes the `layers.omtp.force-sync` preference and replaces
it with a preprocessor define that is commented out. This commit also
changes the behavior of force-sync so that it also does synchronization
with CompositorBridgeChild like normal OMTP. This simplifies the code
and makes using a preprocessor define easier.

MozReview-Commit-ID: 6RfuFTFBdMh

--HG--
extra : rebase_source : 0778a3087324b9e87f44587efbb49c71edf47f23
2017-11-14 14:05:55 -05:00
Timothy Guan-tin Chien 93fb9c8b32 Bug 1327097 - Part III, Trap mouse/touch/pointer events in audio/video element, r=smaug
This patch implements HTMLMediaElement::GetEventTargetParent and set
aVisitor.mCanHandle to false to mouse/touch/pointer events, when
the media control is present. This tells the event dispatcher that
these events are supposed to be handled exclusively by the
videocontrol binding within the media element, and should not
dispatch nor consumed by the content.

MozReview-Commit-ID: BXWZX9SYsuC

--HG--
extra : rebase_source : 5d6633a2e1a456d2d619b6f68498065d94c68c40
2017-11-17 11:07:12 +08:00
Jamie Nicol 6415d3a547 Bug 1419351 - Handle OOM failure when locking AndroidNativeWindowTextureData. r=snorp
MozReview-Commit-ID: KMCCukiGWID

--HG--
extra : rebase_source : cd140e6149f632e102cb92e31142e952cd92bf72
2017-11-21 10:50:16 +00:00
Gurzau Raul d274011903 Backed out 3 changesets (bug 1327097) for eslint failures toolkit/content/tests/widgets/test_videocontrols.html:228 r=backout on a CLOSED TREE
Backed out changeset 09c0a4c56c78 (bug 1327097)
Backed out changeset c0c5ee67b3ef (bug 1327097)
Backed out changeset 82a6e4dc5da7 (bug 1327097)
2017-11-16 14:23:20 +02:00
Gurzau Raul f464825286 Merge mozilla-central to mozilla-autoland. r=merge a=merge CLOSED TREE 2017-11-16 12:16:07 +02:00
Gurzau Raul 6dcee027d7 Merge inbound to mozilla-central r=merge a=merge 2017-11-16 12:04:45 +02:00
sotaro 222b1d574f Bug 1411472 - Add support of PersistentBufferProviderShared r=nical 2017-11-16 14:47:26 +09:00
sotaro da9b8d1a30 Bug 1417306 - Fix leaking pipelines of Tabs r=nical 2017-11-16 09:47:55 +09:00
Timothy Guan-tin Chien 59cbfa1e3d Bug 1327097 - Part III, Trap mouse/touch/pointer events in audio/video element, r=smaug
This patch implements HTMLMediaElement::GetEventTargetParent and set
aVisitor.mCanHandle to false to mouse/touch/pointer events, when
the media control is present. This tells the event dispatcher that
these events are supposed to be handled exclusively by the
videocontrol binding within the media element, and should not
dispatch nor consumed by the content.

MozReview-Commit-ID: BXWZX9SYsuC

--HG--
extra : rebase_source : e9922ac6064c953ee233d6829e84bc7828518b43
2017-11-16 17:06:36 +08:00
peter chang 8d32c73914 Bug 1410334 - Create correct animation properties based on WrAnimationProperty info, r=kats
MozReview-Commit-ID: 6LNbwQd9IfX

--HG--
extra : rebase_source : 2b53786ae996237bef7bf8100087b3f48667d718
2017-11-15 16:09:21 +08:00
Kevin Chen 9f39405d6a Bug 1417373 - Add initialize setting to texture Cb's property description; r=jya
MozReview-Commit-ID: DzIx5vdIE48

--HG--
extra : rebase_source : cfae6b5b7ef31bf541d5c5c59f1f6ee38bcf5c01
2017-11-15 18:13:12 +08:00
Andrew Osmond 6615a08c2c Bug 1401672 - Make display items for the same WebRenderBridgeParent/Child share the ImageKey for shared surfaces. r=jrmuizel 2017-11-15 14:31:13 -05:00
Noemi Erli 550148ab69 Merge inbound to mozilla-central r=merge a=merge 2017-11-15 11:57:12 +02:00
Ethan Lin 8e57800f5a Bug 1416076 - We should set visible rect to display item before computing visibility. r=mattwoodrow
MozReview-Commit-ID: HngrLGSS6St

--HG--
extra : rebase_source : deac5b74dd8490a39c08f6944c359f27bc3cd7f9
2017-11-13 15:48:01 +08:00
Kevin Chen 49b2130100 Bug 1415469 - Remove mDeviceResetSequenceNumber from TDR process since we don't need it anymore; r=dvander
MozReview-Commit-ID: 3uQQwW8QOJA

--HG--
extra : rebase_source : ab6090ad51a2a4714f1739a30d854d624d187239
2017-11-08 15:26:43 +08:00
btara 986d32eb92 Merge mozilla-central to autoland r=merge a=merge on a CLOSED TREE 2017-11-14 22:40:50 +02:00
btara d95e1d710b Merge inbound to mozilla-central r=merge a=merge 2017-11-14 22:37:02 +02:00
Ryan Hunt 0814b42b38 Only return a valid RotatedBuffer in ContentClientBasic::CreateBuffer (bug 1416790, r=dvander)
MozReview-Commit-ID: C5l4OHAWBLL

--HG--
extra : rebase_source : 720a4a458753cc27b9c2269b7da59e5712e47a22
2017-11-13 12:52:31 -05:00
Ryan Hunt f881288e3b Don't use CompositorBridgeChild in PrepareBuffer if sync OMTP is enabled (bug 1416782, r=dvander)
MozReview-Commit-ID: DMbKcDEkkeP

--HG--
extra : rebase_source : 20608d09f18549816b10fd63d0879cfb409e8219
2017-11-13 12:51:19 -05:00
Nicolas Silva 7199975a93 Bug 1377595 - Don't use blob images for items that must be painted on the content side. r=kats 2017-11-10 13:44:58 +01:00
David Anderson d177a5accc Fix bogus assert. (bug 1416369, r?=mattwoodrow) 2017-11-14 12:01:42 +02:00
Csoregi Natalia 8f1a81caad Merge inbound to mozilla-central r=merge a=merge 2017-11-14 00:57:47 +02:00
dluca 1904de3e5e Merge mozilla-central to Autoland r=merge a=merge on a CLOSED TREE 2017-11-14 17:00:43 +02:00
Morris Tseng 78bddf84f9 Bug 1342762 - Remove pipeline in RemovePipelineIdForCompositable. r=nical
MozReview-Commit-ID: 29NrWHCGR5V

--HG--
extra : rebase_source : 25a4fc2f1abef15dbf5515516a45a34079acc8dd
2017-11-13 17:32:23 +08:00
Ting-Yu Lin dfca359d6e Bug 1416699 - Add a space between #include and comment. r=jeremychen
Skip files under intl/icu/ because they're imported from third party.

DONTBUILD because this is a whitespace-only change.

MozReview-Commit-ID: GSd6oeFSTO7

--HG--
extra : rebase_source : 38c20bf6099c18b2fcb4c324d470b279addf8891
2017-11-13 17:54:18 +08:00
Ryan Hunt c81dd046a2 Remove flush from RotatedBuffer::UpdateDestinationFrom (bug 1410919, r=nical)
MozReview-Commit-ID: AKuz0sUj8Jf

--HG--
extra : amend_source : 5021d2dbc5d1386205eb198379dd9c81550cf78c
2017-10-23 12:23:57 -04:00
shindli 0d157e6e2e Merge inbound to mozilla-central r=merge a=merge 2017-11-12 23:48:36 +02:00
JerryShih 9d834c457f Bug 1416543 - use the gecko profiler macro to register/unregister the thread name. r=me
MozReview-Commit-ID: 3ueSAuNCbGp
2017-11-12 22:21:22 +08:00
JerryShih 8b031732c0 Bug 1371838 - export the gecko profiler registering function to WR. r=jrmuizel
MozReview-Commit-ID: 2gVAmU2xomP
2017-11-11 18:57:31 +08:00
Andreea Pavel 7fb4cc447c Merge inbound to mozilla-central r=merge a=merge 2017-11-11 11:59:20 +02:00
Ethan Lin e9e332b74c Bug 1414264 - Check invalidation region when we use layer system to paint items. r=jrmuizel
MozReview-Commit-ID: Dc5e13NQmP5

--HG--
extra : rebase_source : e4f96edcd5e6dcc75d916aad28c3507ee8bdc7b6
2017-11-07 14:40:08 +08:00
Ryan Hunt 3a2498f61a Flush any buffer operations that may be running after EndEmptyTransaction before EndTransaction (bug 1416308, r=dvander)
MozReview-Commit-ID: CpdtwW2JNip

--HG--
extra : rebase_source : 20e46df173896d5d4fef7f0a9c0989096cd14daa
2017-11-10 13:12:15 -05:00
Jeff Muizelaar 0d413c707d Bug 1415326. Tolerate slight changes in scale for fallback items. r=ethlin
This helps us avoid rerasterizing the blob images every frame.  This makes a
huge difference in performance. Our score goes from approx 75 to 380. Current
Firefox gets about 200.
2017-11-10 13:19:11 -05:00
Chris Peterson 0e8425b401 Bug 1416164 - Replace NS_ABORT with MOZ_ASSERT_UNREACHABLE. r=froydnj
MozReview-Commit-ID: DRdYlOYqZpN

--HG--
extra : rebase_source : b20fb24abf0f2ce648c12a827532c0dbeefb6c63
2017-10-24 23:52:56 -07:00
Kartikaya Gupta 00ef028ed3 Bug 1416267 - Update gfxContext matrix functions to avoid flip-flopping between float and double matrices. r=jrmuizel
The core of this change is in gfxContext.*:
- change gfxContext::CurrentMatrix() and gfxContext::SetMatrix() to
  return and take a Matrix respectively, instead of converting to
  and from a gfxMatrix (which uses doubles). These functions therefore
  will now match the native representation of the transform in gfxContext.
- add two new functions CurrentMatrixDouble() and SetMatrixDouble() that
  do what the old CurrentMatrix() and SetMatrix() used to do, i.e.
  convert between the float matrix and the double matrix.

The rest of the change is just updating the call sites to avoid round-
tripping between floats and doubles where possible. Call sites that are
hard to fix are migrated to the new XXXDouble functions which preserves
the existing behaviour.

MozReview-Commit-ID: 5sbBpLUus3U
2017-11-10 21:14:09 -05:00
sotaro 35956656da Bug 1414727 - Change AsyncImagePipeline::mIsChanged flag handling as to reduce DisplayList update r=nical 2017-11-15 10:14:06 +09:00
sotaro a15823ac76 Bug 1416614 - Add checks to ImageBridgeParent::NotifyImageComposites r=nical 2017-11-15 09:08:18 +09:00
Kartikaya Gupta 0b55cc54f3 Bug 1416073 - Avoid calling the expensive ComputeScrollMetadata function if we already computed that metadata before. r=jrmuizel
MozReview-Commit-ID: 5SwAEA4Wpqw

--HG--
extra : rebase_source : 1c717c3f0cfb1c5a94970d5d7cc267ee9570c0ad
2017-11-09 23:18:39 -05:00
sotaro 56c2f9bf58 Bug 1412249 - Fix DidComposite timing for EmptyTransaction r=nical 2017-11-15 08:00:57 +09:00
Ryan Hunt ac638de2f4 Don't do PaintThebes after PaintOffMainThread. (bug 1399692 part 10, r=dvander)
MozReview-Commit-ID: J0IOzqIGRtz

--HG--
extra : rebase_source : d20a570de201dc46ceb3605db20af40f2f2fed8e
extra : source : eab96d73c39df98c888a491f54fbb963069c5f6b
2017-11-09 15:44:21 -05:00
Ryan Hunt 84c229fe9d Don't reuse a back buffer after a swap if the content or surface changed (bug 1399692 part 9, r=bas)
MozReview-Commit-ID: HGAxkeyESbc

--HG--
extra : rebase_source : 7c09e853a3feeb1d1d9d7cc93d77242265ec590b
extra : source : 7d9324e2ab34946539be9f17d74f639aae5ba7e5
2017-11-05 10:38:47 -05:00
Ryan Hunt 9dc07b61c4 Don't copy over regions that will be painted in this frame (bug 1399692 part 8, r=bas)
We do the same in FinalizeFrame, so we should do it here.

MozReview-Commit-ID: JTKDj8yrtI2

--HG--
extra : rebase_source : 6ba114c6734990dcb62e361889d1b2cf2b5ad7dc
extra : intermediate-source : 76bf99decf0906f0a6a4ad99539fd40f97c4539f
extra : source : fb9b0524428307c4ee097894e37879339df47579
2017-11-04 14:52:31 -04:00
Ryan Hunt c34dc7e2af Replay buffer commands on paint thread when OMTP is enabled (bug 1399692 part 7, r=bas)
This commit does the work of actually dispatching the recorded buffer operations
to the paint thread, and removing some main thread asserts from TextureClient.

MozReview-Commit-ID: CN3RoQPz9fP

--HG--
extra : rebase_source : 08ae6cf8445ef0a757efc54175768c2fa9bb1685
extra : intermediate-source : 0fc2414f146d8f5d08c97e5b7eedb25c5632ab2d
extra : source : e9349ad2f1f8fec862b1d2271d0d8f25ad0814d4
2017-10-26 00:47:17 -04:00
Ryan Hunt cc9ba81109 Record buffer operations to a struct for replaying on paint thread (bug 1399692 part 6, r=bas)
This commit adds a CapturedBufferState which is used to record all the operations
that are necessary for preparing the buffers. The commands are then instantly
executed to preserve the same behavior, but in the following commit they will
be dispatched to the paint thread.

Note: RotatedBuffer's aren't thread safe and so a shallow copy needs to be made
for sending to the paint thread. This complicates the code for AdjustTo as it can
fail naturally and the buffer parameter changes are needed later in BeginPaint.
So the code for AdjustTo is split up a bit to accomodate that.

MozReview-Commit-ID: FwSwFay887o

--HG--
extra : rebase_source : 70dd8a055aaa13586810030978409d1a89c39081
extra : intermediate-source : f235b12eda6efe0bdec8e6590d813738f53ffe82
extra : source : cb6507b560aaad188fc83a47b664aaa5692a0acd
2017-10-25 10:20:49 -04:00
Ryan Hunt 1c5e585bd6 Simplify copying the front buffer to the back buffer (bug 1399692 part 5, r=bas)
To sync the back buffer with the front buffer, we set the back buffer rect and
rotation to the front buffer's, and then copy over the pixels that different.

We used to do the updating of the rect and rotation before BeginPaint, but that
isn't necessary and we can move it to be with the copying of pixels.

MozReview-Commit-ID: HzBKvMZkn1

--HG--
extra : rebase_source : 053e55df273d0d89327b80bc599ee05a020f6fef
extra : intermediate-source : 467532fd5b7a2385ba0dbdb9201e28e8f2b4a583
extra : source : 3d0da65640964e5a0565b5e7b7646cf719ce1449
2017-10-23 18:27:53 -04:00
Ryan Hunt 8348d444d0 Don't create back buffer for front buffer until we know what type to create. (bug 1399692 part 4, r=bas)
This commit is an optimization for double buffering that delays the creation of
a back buffer until we know what kind of content type it needs to be.

Before this commit, we would EnsureBackBufferIfFrontBuffer before BeginPaint,
then in BeginPaint we could determine that we actually needed a different kind
of buffer because the content changed type, and recreate it.

This was needed because BeginPaint would copy the old front buffer to the buffer
created by EnsureBackBufferIfFrontBuffer, and then if anything failed or we had
determined we couldn't reuse the buffer, we would create a new one and copy that
"temporary" back buffer over, and use the new one.

This is unnecessary because we only need read access on that "temporary" back
buffer, and so we can just use the current front buffer instead.

This optimization only affects the double buffered case, and the single buffered
or basic cases should remain the same.

Note: Because we now need the front buffer for copying into the new back buffer,
we cannot Clear() it away in some error cases.

Note: The code in FinalizeFrame assumes that the back and front buffer have the
same size. This was implicitly enforced before, and now needs to be explicitly
enforced. This commit tries to preserve the exact same behavior, although the
restriction should be removed as long as the back buffer is large enough for
the visible region.

MozReview-Commit-ID: 2hyrrUhA4zO

--HG--
extra : rebase_source : 5db62a4d24383c7d64e127880a3bee7ff76dada1
extra : intermediate-source : dce585be0737f3c9b6b241afb0851d85fb9453c9
extra : source : 926af2eca400cf8a16777813ceb586b1d3be7d68
2017-10-23 15:33:40 -04:00
Ryan Hunt 56b43edede Remove BufferContentType and add ValidBufferSize (bug 1399692 part 3, r=bas)
BufferContentType and BufferSizeOkFor make more sense as general functions for
any RotatedBuffer, and this helps out in a later patch.

MozReview-Commit-ID: EAVodvl4WTu

--HG--
extra : rebase_source : 122b6466ef0194d6ff682d677db01312c9e27a2a
extra : intermediate-source : b971c1aa5a78c17d49d1d64389516437024be72a
extra : source : b57a3f0d08478f094328b5a50c57eed35798fdf0
2017-10-23 14:56:13 -04:00
Ryan Hunt 37f9020f14 Simplify the code for creating a new back buffer (bug 1399692 part 2, r=bas)
MozReview-Commit-ID: D28JNYWD9Uc

--HG--
extra : rebase_source : 089014bebbf97af2eeb5b940cf468411b753c428
extra : intermediate-source : 8ba8bda8521a6460b1213d2d0f14ebefc0a3e14a
extra : source : 9fcb661df79e51c80f5ffb24717dba655dc97d73
2017-10-23 12:40:01 -04:00
Ryan Hunt c6550ebd1e Remove unneeded lambda capture in paint thread (bug 1399692 part 1, r=bas)
MozReview-Commit-ID: 71X22PHRTRz

--HG--
extra : rebase_source : 1d1016e48054c39a615c31880e4aa8a38f426bf0
extra : intermediate-source : 2c41a712dff22de4fb2bbfd7c5a418fbc3a26f11
extra : source : 744c8fabaa1c3e6b7322cd2b4c6672b8509c643c
2017-10-31 01:55:24 -04:00
sotaro a8b71fcd72 Bug 1415763 - Fix DXGIYCbCrTextureData as to deliver YUVColorSpace r=mattwoodrow 2017-11-10 18:15:54 +09:00
Andreea Pavel e1c8aba28f Merge mozilla-central to mozilla-inbound r=merge a=merge on a CLOSED TREE 2017-11-09 22:17:00 +02:00
Andreea Pavel 5e4025c975 Backed out 9 changesets (bug 1399692) for failing reftest/tests/layout/reftests/svg/dynamic-text-06.svg Windows 10 x64 Stylo Disabled debug R-e10s2 r=backout on a CLOSED TREE
Backed out changeset 7d9324e2ab34 (bug 1399692)
Backed out changeset 76bf99decf09 (bug 1399692)
Backed out changeset 0fc2414f146d (bug 1399692)
Backed out changeset f235b12eda6e (bug 1399692)
Backed out changeset 467532fd5b7a (bug 1399692)
Backed out changeset dce585be0737 (bug 1399692)
Backed out changeset b971c1aa5a78 (bug 1399692)
Backed out changeset 8ba8bda8521a (bug 1399692)
Backed out changeset 2c41a712dff2 (bug 1399692)
2017-11-09 21:55:32 +02:00
Kartikaya Gupta 54431ae212 Bug 1415225 - Add a couple of mochitests for event-regions overrides. r=botond
These two tests exercise the codepaths where an event regions override
is set on (a) the root layer of a layer tree and (b) on an in-process
subdocument. I verified that case (b) was failing with webrender enabled
without the patchset and passes now.

MozReview-Commit-ID: Kw6TQjNupSa

--HG--
extra : rebase_source : ce54c46c7d0470b693e82ae3e477b3702155e59d
2017-11-09 09:03:53 -05:00
Kartikaya Gupta 3c76c8128a Bug 1415225 - Move the EventRegionsOverride field to be on RefLayers only. r=botond
We now set EventRegionsOverride flags on ref layers only, so
there's no need to have the APIs to set it on container layers in
general.

MozReview-Commit-ID: JKU4UXvdR2e

--HG--
extra : rebase_source : 77f49787e8953520dc56ea4a8f9286b35d6942b8
2017-11-09 09:03:52 -05:00
Kartikaya Gupta 93ca1a3bc5 Bug 1415225 - Stop setting the EventRegionsOverride flag on root layers. r=botond,mattwoodrow
As with the previous patch, instead of setting the override on the root
layer, we set the flag on the nsDisplayListBuilder before building the
display list, and the flag automatically forces all event regions
display items to use their dispatch-to-content region instead of any
other regions.

Both the WebRender and non-WebRender codepaths were setting the override
flag on their root layers and don't need to any more.

MozReview-Commit-ID: 1cz0ahqwkOm

--HG--
extra : rebase_source : 3292951aca97fd1a355c2fae5b0ab42d2064c548
2017-11-09 09:03:52 -05:00
Kartikaya Gupta d5cf7941e2 Bug 1415225 - Remove dead code. r=jrmuizel
This code has been unused since the removal of layers-full WR codepaths.

MozReview-Commit-ID: JQn55Kbz5rr

--HG--
extra : rebase_source : af6995265c02a1ddfccbc37adb633bc2b240ec8b
2017-11-09 09:03:51 -05:00
Mats Palmgren 1c2b8c222e Bug 1414666 part 1 - Add nsIFrame::PresShell() for convenient access to the shell. r=emilio
MozReview-Commit-ID: 8FPTPKWyVtY
2017-11-09 03:00:48 +01:00
David Anderson d3b572527a Don't fallback to DrawTargetCairo in TextureClient. (bug 1413862, r=mattwoodrow) 2017-11-08 16:57:25 -08:00
Ryan Hunt 6e900ce0c3 Don't reuse a back buffer after a swap if the content or surface changed (bug 1399692 part 9, r=bas)
MozReview-Commit-ID: HGAxkeyESbc

--HG--
extra : rebase_source : df5c404aaf3a613affadf4bfd77ca1fc3765f332
2017-11-05 10:38:47 -05:00
Ryan Hunt 4eab1ce94d Don't copy over regions that will be painted in this frame (bug 1399692 part 8, r=bas)
We do the same in FinalizeFrame, so we should do it here.

MozReview-Commit-ID: JTKDj8yrtI2

--HG--
extra : rebase_source : 9f900a4641df71a8da79a406cc89407a3553221f
extra : intermediate-source : de3aa5583481a3680e3d0cfdbe6b55916f0ef58a
extra : source : fb9b0524428307c4ee097894e37879339df47579
2017-11-04 14:52:31 -04:00
Ryan Hunt bd171d4d4c Replay buffer commands on paint thread when OMTP is enabled (bug 1399692 part 7, r=bas)
This commit does the work of actually dispatching the recorded buffer operations
to the paint thread, and removing some main thread asserts from TextureClient.

MozReview-Commit-ID: CN3RoQPz9fP

--HG--
extra : rebase_source : 9aeb3a727a930638aeb47a45a358769f1338d844
extra : source : e9349ad2f1f8fec862b1d2271d0d8f25ad0814d4
2017-10-26 00:47:17 -04:00
Ryan Hunt ae7878997b Record buffer operations to a struct for replaying on paint thread (bug 1399692 part 6, r=bas)
This commit adds a CapturedBufferState which is used to record all the operations
that are necessary for preparing the buffers. The commands are then instantly
executed to preserve the same behavior, but in the following commit they will
be dispatched to the paint thread.

Note: RotatedBuffer's aren't thread safe and so a shallow copy needs to be made
for sending to the paint thread. This complicates the code for AdjustTo as it can
fail naturally and the buffer parameter changes are needed later in BeginPaint.
So the code for AdjustTo is split up a bit to accomodate that.

MozReview-Commit-ID: FwSwFay887o

--HG--
extra : rebase_source : 376f9a7184bdce2cc405e4608d38b8505aafc2d6
extra : source : cb6507b560aaad188fc83a47b664aaa5692a0acd
2017-10-25 10:20:49 -04:00
Ryan Hunt fed0927bfd Simplify copying the front buffer to the back buffer (bug 1399692 part 5, r=bas)
To sync the back buffer with the front buffer, we set the back buffer rect and
rotation to the front buffer's, and then copy over the pixels that different.

We used to do the updating of the rect and rotation before BeginPaint, but that
isn't necessary and we can move it to be with the copying of pixels.

MozReview-Commit-ID: HzBKvMZkn1

--HG--
extra : rebase_source : a34e50a4d7664e3134f9da06b10f1908aa0d9d60
extra : source : 3d0da65640964e5a0565b5e7b7646cf719ce1449
2017-10-23 18:27:53 -04:00
Ryan Hunt 8a4c400778 Don't create back buffer for front buffer until we know what type to create. (bug 1399692 part 4, r=bas)
This commit is an optimization for double buffering that delays the creation of
a back buffer until we know what kind of content type it needs to be.

Before this commit, we would EnsureBackBufferIfFrontBuffer before BeginPaint,
then in BeginPaint we could determine that we actually needed a different kind
of buffer because the content changed type, and recreate it.

This was needed because BeginPaint would copy the old front buffer to the buffer
created by EnsureBackBufferIfFrontBuffer, and then if anything failed or we had
determined we couldn't reuse the buffer, we would create a new one and copy that
"temporary" back buffer over, and use the new one.

This is unnecessary because we only need read access on that "temporary" back
buffer, and so we can just use the current front buffer instead.

This optimization only affects the double buffered case, and the single buffered
or basic cases should remain the same.

Note: Because we now need the front buffer for copying into the new back buffer,
we cannot Clear() it away in some error cases.

Note: The code in FinalizeFrame assumes that the back and front buffer have the
same size. This was implicitly enforced before, and now needs to be explicitly
enforced. This commit tries to preserve the exact same behavior, although the
restriction should be removed as long as the back buffer is large enough for
the visible region.

MozReview-Commit-ID: 2hyrrUhA4zO

--HG--
extra : rebase_source : 2ddaa7d7d250475cf68524ad2151d8bcc7101013
extra : source : 926af2eca400cf8a16777813ceb586b1d3be7d68
2017-10-23 15:33:40 -04:00
Ryan Hunt acf6bf600e Remove BufferContentType and add ValidBufferSize (bug 1399692 part 3, r=bas)
BufferContentType and BufferSizeOkFor make more sense as general functions for
any RotatedBuffer, and this helps out in a later patch.

MozReview-Commit-ID: EAVodvl4WTu

--HG--
extra : rebase_source : 6b3406713414a5fe5c1ace6cd0db86c811557323
extra : source : b57a3f0d08478f094328b5a50c57eed35798fdf0
2017-10-23 14:56:13 -04:00
Ryan Hunt 94edce8cf6 Simplify the code for creating a new back buffer (bug 1399692 part 2, r=bas)
MozReview-Commit-ID: D28JNYWD9Uc

--HG--
extra : rebase_source : 96468353c813a9fa9b82f1ffe98ad87f70367a8b
extra : source : 9fcb661df79e51c80f5ffb24717dba655dc97d73
2017-10-23 12:40:01 -04:00
Ryan Hunt e325148fa6 Remove unneeded lambda capture in paint thread (bug 1399692 part 1, r=bas)
MozReview-Commit-ID: 71X22PHRTRz

--HG--
extra : rebase_source : e5fa03c7754b3e2a64ae2c6e2a4125bc1ba65303
extra : source : 744c8fabaa1c3e6b7322cd2b4c6672b8509c643c
2017-10-31 01:55:24 -04:00
David Anderson 7cac78cb17 Fix DataSourceSurface mapping in PaintCounter. (bug 1405390 part 4, r=bas)
--HG--
extra : rebase_source : c4bc6e8642f21098ce35a9a91dba5ca9d9369597
2017-11-09 00:43:31 -08:00
David Anderson 9575a22267 Remove trivial calls to DataSourceSurface::Stride. (bug 1405390 part 3, r=bas)
--HG--
extra : rebase_source : 7700599ef497a2abadc7970af5ea26b48061966e
2017-11-09 00:43:30 -08:00
David Anderson 32e1584385 Remove easily-removed cases of DataSourceSurface::GetData(). (bug 1405390 part 1, r=bas)
--HG--
extra : rebase_source : cc0d8001240efb530daa9845bc126e5026682340
2017-11-09 00:43:29 -08:00
Kartikaya Gupta c832839650 Bug 1411627 - Send the applied offset for sticky frames to WR. r=mstange
There are cases where we do a main-thread paint at a scroll position
where sticky offsets have been applied in order to keep sticky items
visually unmoving. From that paint, it's possible to do an async-scroll
in the direction that reduces the sticky offset. In order for WR to
handle this case properly we need to tell WR how much of a sticky offset
was already applied on the main thread.

MozReview-Commit-ID: 79DsfPpsIfA

--HG--
extra : rebase_source : e39316702cff3bd4ee6721c7503a1a9267734cd8
2017-11-07 10:16:48 -05:00
vincentliu a900bb5807 Bug 1413651 - Correct the chunk range to dealloc shmem when AllocChunk() fails to return. r=nical 2017-11-07 15:49:46 +08:00
sotaro e1d5eb970c Bug 1411472 - Backout because of test failures 2017-11-07 11:34:13 +09:00
Lee Salzman f11218633f Bug 1403198 - send font descriptors to WR instead of raw fonts where possible. r=jrmuizel
MozReview-Commit-ID: DYcaO3fE1fc
2017-11-06 20:19:46 -05:00
sotaro 4243be10df Bug 1411472 - Add support of PersistentBufferProviderShared r=nical 2017-11-07 09:31:58 +09:00
Andrew Osmond bda9d3294a Bug 1413011 - Allow the UI/chrome process to shutdown if the compositor thread failed to start. r=dvander
There are up to two compositor threads spawned - one in the GPU process
and one in the UI/chrome process. If the GPU process is used, then
failing to start the UI compositor thread is not fatal -- unless the GPU
process crashes too much and we fallback to the UI/chrome process. If
the GPU process compositor thread failed to start, then the GPU process
will crash and either restart, or fallback to the UI/chrome process
thread. If both fail, then Firefox crashes as expected.

Before we would not setup a content process properly unless the
UI compositor thread was active, even when using the GPU process. Now we
do, which allows the browser to be fully functional. Additionally when
shutting down, we ignore the lack of a compositor thread to permit a
graceful shutdown. In a future patch we will ideally we would not spawn
the compositor thread in a process until we actually need it, and
release assert on its failing to start.
2017-11-06 17:51:48 -05:00
David Anderson 32a0c40657 Don't treat resampled layers as entirely opaque. (bug 1412078, r=mattwoodrow) 2017-11-06 12:18:01 -08:00
James Willcox bc001da86a Bug 1413230 - Ensure we are attached to the GL context in SurfaceTextureHostOGL::PrepareTextureSource() r=jnicol,nical
MozReview-Commit-ID: BxDng9OG3RF
2017-11-06 09:30:13 -06:00
Ethan Lin 0d2b959f9f Bug 1410583 - Make sure we paint the whole item for blob image. r=jrmuizel
MozReview-Commit-ID: 84LiyRA2WFC

--HG--
extra : rebase_source : 769128dff81e4610decf2fbe53196a94e7857773
2017-11-06 16:51:16 +08:00
JerryShih ff87dafa78 Bug 1409176 - make SyncObjectD3D11Client become fallible. r=dvander
Currently, the device-reset flow doesn't notify the decoder for device change
immediately. The decoder might use an invalid sync-object for synchronization.
Then, we will hit some assertions.
This patch try to make the synchronization flow become fallible, then we could
pass the error to the media framework for error handling.

MozReview-Commit-ID: BFY32MmOdt0
2017-11-06 16:07:22 +08:00
Chris Peterson 84d577e4a4 Bug 1412048 - Remove NS_RUNTIMEABORT. r=froydnj
Use MOZ_CRASH, MOZ_CRASH_UNSAFE_OOL, or MOZ_CRASH_UNSAFE_PRINTF instead.

MozReview-Commit-ID: 1kCCHMlgbGP

--HG--
extra : rebase_source : 2f07ced16bccebf30cd3b2b5fea35e9868d32dad
extra : source : 0bf2c8425b828e71de55dd175fd0dad635b4e67d
2017-10-24 23:41:15 -07:00
NARCIS BELEUZU 582e5ff6cf Merge mozilla-central to inbound. r=merge a=merge on CLOSED TREE 2017-11-03 15:23:15 +02:00
NARCIS BELEUZU 3543cada7e Backed out 7 changesets (bug 1399692) failing on browser chrome browser/base/content/test/performance/browser_urlbar_search_reflows.js
Backed out changeset e9349ad2f1f8 (bug 1399692)
Backed out changeset cb6507b560aa (bug 1399692)
Backed out changeset 3d0da6564096 (bug 1399692)
Backed out changeset 926af2eca400 (bug 1399692)
Backed out changeset b57a3f0d0847 (bug 1399692)
Backed out changeset 9fcb661df79e (bug 1399692)
Backed out changeset 744c8fabaa1c (bug 1399692)
2017-11-03 14:32:46 +02:00
NARCIS BELEUZU ca445d6992 Backed out changeset fac6f595967b (bug 1399692) 2017-11-03 14:29:10 +02:00
Andrew Osmond 919f128d84 Bug 1408532 - Ensure ImageBridgeParent cleans up old actors if the process ID is reused. r=dvander 2017-11-03 07:49:18 -04:00
NARCIS BELEUZU 2e3654a915 Merge mozilla-inbound to mozilla-central. r=merge a=merge 2017-11-03 12:04:55 +02:00