Commit Graph

29627 Commits

Author SHA1 Message Date
Kartikaya Gupta
1ad07c54db Bug 1449478 - Avoid clobbering transforms in the WebRenderScrollData. r=jrmuizel
Due to an oversight in bug 1423370, the code I added was setting the
transform on a WebRenderLayerScrollData after initializing it, but the
initialization might have populated the transform. Thus the
transform-set that I added would have clobbered the transform. This
updates the code to combine the two transforms instead which avoids
the clobber.

MozReview-Commit-ID: 4mKJTLSMD9J

--HG--
extra : rebase_source : c486c5866739ab040d81f9f9a43b2b8a04c2d383
2018-03-28 06:32:06 -04:00
Lee Salzman
0cd370450a Bug 1447910 - move WR font key deletion to the end of a transaction. r=jrmuizel
MozReview-Commit-ID: LL94sMCvNyK
2018-03-27 18:06:31 -04:00
Margareta Eliza Balazs
ecdbb83fa1 Merge mozilla-central to inbound. a=merge CLOSED TREE 2018-03-28 01:00:31 +03:00
Margareta Eliza Balazs
adebb06ac1 Merge inbound to mozilla-central. a=merge 2018-03-28 00:48:11 +03:00
Jeff Muizelaar
d07c300116 Bug 1388842. Add blob invalidation. r=mstange
MozReview-Commit-ID: 5xwqlULUbZe
2018-03-27 17:31:04 -04:00
Jeff Muizelaar
fe9267ddda Bug 1449029. Moz2D Recording: Make Finish() return if any items. r=lsalzman
Blob image invalidation will use will use this to avoid sending empty recordings.

MozReview-Commit-ID: BlP5kqCbBys
2018-03-27 17:31:03 -04:00
Kartikaya Gupta
3c7d5a8b07 Bug 1423370 - Create fewer WebRenderLayerScrollData items for transformed items. r=jrmuizel
Instead of creating a new layer scroll data for every single
nsDisplayTransform item, we only create a new layer scroll data for
nsDisplayTransform items with perspective. In addition, we save the
transform from the non-perspective nsDisplayTransform items on the
StackingContextHelper, and then apply it to layer scroll data items that
are created by display items nested inside those nsDisplayTransforms.

This effectively makes two changes to the structure of the layer scroll
data sent to APZ:
(1) we will drop layer scroll data items for transforms that APZ doesn't
care about (i.e. the non-perspective ones that don't wrap APZ-relevant
display items).
(2) we will collapse layer scroll data items that only had a transform
into its descendant layer scroll data items. This should be functionally
equivalent, since the transform is still in the right place relative to
everything else.

The net result is fewer layer scroll data items.

MozReview-Commit-ID: HV6QPfuUrje

--HG--
extra : rebase_source : ecfe1810f9889e7ce5096e1bc42cc30a92b43b4a
2018-03-27 12:02:28 -04:00
Jeff Gilbert
7c6388d1ad Bug 1444086 - TlsScope should use WeakPtr. r=jrmuizel
MozReview-Commit-ID: DX99PqmxMpF

--HG--
extra : rebase_source : 3dbf630accedefa5c2c6ce54469c13bbd8b6bffa
2018-03-27 12:29:19 -04:00
Lee Salzman
58c1a94839 Bug 1441941 - Limit allocations in SkTDArray. r=jrmuizel
MozReview-Commit-ID: 97eTGU3sUCC
2018-03-12 14:38:36 -04:00
Nathan Froyd
6b66af17ae Bug 1448019 - make various graphics constructors explicit; r=snorp
Attempting to stand up the static analysis for Android builds revealed
that we weren't being explicit enough.
2018-03-27 10:51:32 -04:00
Kartikaya Gupta
8747eb6d03 Bug 1449159 - Move the allow(improper_ctypes) attribute to be more scoped. r=jrmuizel
Apparently applying it on an individual function inside the extern "C"
block doesn't work so we have to apply it to the whole block. But that's
better than applying it to the whole crate.

MozReview-Commit-ID: GUMliaZragl

--HG--
extra : rebase_source : d12ac26aea76bc7c4487e80e6066a016871d1d20
2018-03-27 08:37:07 -04:00
Martin Robinson
f55533615b Bug 1444904 - Get the root scroll frame id from WebRender r=kats
Instead of hard-cording the root scroll frame id, get the value from
WebRender. This was previously hard-coded to 0, so when WebRender
switched to using 1 for the root scroll frame id, the positioning of
sticky frames were broken in subtle ways. This happened because they
were being parented to a root reference frame (which now uses the 0 id)
instead of the root scroll frame.

MozReview-Commit-ID: 66ArgKHGpWE

--HG--
extra : rebase_source : ff6937bf7fc8d4472eb074d0466c8dcd6fba54a8
2018-03-26 18:13:07 +02:00
Kartikaya Gupta
79451cb5d2 Bug 1448993 - Ensure the GPU process reports WR enabled-ness in crash reports. r=jrmuizel
MozReview-Commit-ID: KOMAm8YH3RV

--HG--
extra : rebase_source : a650bda0e51b64bdaa2032cab3707b6ef9587f72
2018-03-26 18:44:04 -04:00
Botond Ballo
af24ea01cd Bug 1425603 - APZ mochitest for obeying overscroll-behavior when scrolling over a checkerboarded area. r=kats
MozReview-Commit-ID: JMWBVf2bKKP

--HG--
rename : gfx/layers/apz/test/mochitest/helper_scroll_overscroll_behavior.html => gfx/layers/apz/test/mochitest/helper_overscroll_behavior_bug1425573.html
extra : rebase_source : be9f67885ef2fd13b6e3bc377903da7878d53ed1
2018-03-21 18:59:38 -04:00
Coroiu Cristina
446b02e5b2 Merge mozilla-central to autoland a=merge on a CLOSED TREE 2018-03-27 00:49:14 +03:00
Jonathan Kew
c0a406064e Bug 1448180 - Don't mask complex-script ranges from the cmap for downloadable fonts; assume the author knows what they're doing and use the font as provided. r=jrmuizel
--HG--
rename : layout/reftests/text/arabic-fallback-4-notref.html => layout/reftests/text/arabic-fallback-4-ref.html
2018-03-26 13:25:11 +01:00
Csoregi Natalia
cebb847e37 Merge mozilla-central to inbound. a=merge CLOSED TREE 2018-03-26 12:23:07 +03:00
sotaro
5aec14dd5c Bug 1432261 - Enable depth for WebRender r=jgilbert 2018-03-26 10:35:27 +09:00
Lee Salzman
d056167c69 Bug 1448189 - follow-up - Don't use -mstackrealign with clang-cl. r=jbeich 2018-03-25 11:00:03 -04:00
Jan Beich
401202ea26 Bug 1448189 - Realign stack before using SSE2 in Skia. r=lsalzman
--HG--
extra : rebase_source : c2aa4684bdb50d7667e5a7042a3120c0f4077c15
2018-03-23 06:40:27 +00:00
Emilio Cobos Álvarez
126534b1e9 Bug 1446108: Don't create bogus angles in layers animation code. r=kats
Summary:
I can propagate the error up if needed, but looks like the code should cope with
it just fine with this change.

Reviewers: kats

Bug #: 1446108

Differential Revision: https://phabricator.services.mozilla.com/D794

MozReview-Commit-ID: Dm6EKIC6F5i
2018-03-23 19:09:42 +01:00
Brindusan Cristian
bfd45c93ba Backed out 2 changesets (bug 1446108) for build bustages on build\src\obj-firefox\dist\include\mozilla/Alignment.h(29) CLOSED TREE
Backed out changeset 08814c30af6d (bug 1446108)
Backed out changeset 7977451e9641 (bug 1446108)
2018-03-23 18:44:07 +02:00
Emilio Cobos Álvarez
005aa351c9 Bug 1446108: Don't create bogus angles in layers animation code. r=kats
Summary:
I can propagate the error up if needed, but looks like the code should cope with
it just fine with this change.

Reviewers: kats

Bug #: 1446108

Differential Revision: https://phabricator.services.mozilla.com/D794

MozReview-Commit-ID: Dm6EKIC6F5i
2018-03-23 16:40:55 +01:00
Cosmin Sabou
56274d0a01 Backed out changeset c652b6d362f6 (bug 1440753) for permafailing on layout/reftests/scrolling/iframe-scrolling-attr-2.html a=backout 2018-03-23 16:54:23 +02:00
Noemi Erli
1270a21724 Merge mozilla-central to inbound. a=merge CLOSED TREE 2018-03-23 01:00:18 +02:00
Noemi Erli
b32b2756aa Merge inbound to mozilla-central. a=merge 2018-03-23 00:53:07 +02:00
Kartikaya Gupta
aad3bff374 Bug 1448006 - Disable mipmaps in WR. r=mstange
MozReview-Commit-ID: HlUzStD16Pa

--HG--
extra : rebase_source : 74ab82c5ae72b3ab7541eeffafdc9d1a0fc98abf
2018-03-22 12:14:15 -04:00
Andreea Pavel
d880f5dc0c Merge mozilla-central to mozilla-inbound. a=merge on a CLOSED TREE 2018-03-22 11:35:37 +02:00
Andreea Pavel
de5c4376b8 Merge mozilla-inbound to mozilla-central. a=merge 2018-03-22 11:31:19 +02:00
sotaro
ca36b6a3a9 Bug 1442093 - Add more log to GetAndInitDisplayForWebRender() r=jgilbert 2018-03-22 10:57:55 +09:00
arthur.iakab
24af737f4c Merge inbound to mozilla-central. a=merge 2018-03-22 01:46:39 +02:00
arthur.iakab
fda9fc4c79 Merge mozilla-central to autoland 2018-03-21 21:28:49 +02:00
arthur.iakab
abcb47d8cc Merge inbound to mozilla-central. a=merge 2018-03-21 21:13:11 +02:00
Jeff Muizelaar
1fde5d7706 Bug 1447450. Delete WebRenderUserDataTable when its clear. r=kats
FrameProperties have Remove() and Delete() methods. If you call
Remove() you now own the result, therefore we should delete it.

MozReview-Commit-ID: FybBYcbIZIH

--HG--
extra : rebase_source : fe1dc29d5a9bf5bac7b35452d3ad49b8aa0beb6a
2018-03-20 16:48:35 -04:00
Ryan Hunt
12792a2bc5 Add GuaranteePersistence to PushLayer in DrawTargetCapture. (bug 1447144, r=bas)
--HG--
extra : amend_source : 4492b72ad9e306aeefadddd970b0e997de386239
2018-03-19 13:32:12 -05:00
arthur.iakab
5e8092339a Merge mozilla-central to inbound
--HG--
rename : browser/base/content/test/general/bug364677-data.xml => browser/components/feeds/test/bug364677-data.xml
rename : browser/base/content/test/general/bug364677-data.xml^headers^ => browser/components/feeds/test/bug364677-data.xml^headers^
rename : browser/base/content/test/general/test_bug364677.html => browser/components/feeds/test/test_bug364677.html
rename : services/sync/tps/extensions/tps/bootstrap.js => services/sync/tps/extensions/tps/components/tps-cmdline.js
rename : testing/talos/talos/pageloader/bootstrap.js => testing/talos/talos/pageloader/components/tp-cmdline.js
rename : testing/talos/talos/startup_test/sessionrestore/addon/bootstrap.js => testing/talos/talos/startup_test/sessionrestore/addon/SessionRestoreTalosTest.js
rename : testing/talos/talos/talos-powers/bootstrap.js => testing/talos/talos/talos-powers/components/TalosPowersService.js
rename : tools/quitter/bootstrap.js => tools/quitter/QuitterObserver.js
extra : rebase_source : 5801e95a945b54754f27571e7b211e1eac132d67
2018-03-21 22:27:21 +02:00
Ryan Hunt
aae4eeb5a2 Respect SYNC_DECODE when deciding to use Webrender for nsDisplayBackgroundImage. (bug 1439960, r=mstange)
Previously CreateWebrenderCommands would use GetLayerState to determine whether to use Webrender or
take the fallback path. GetLayerState would then under some cases call CanOptimizeToImageLayer()
which would get the image container using the appropriate flags for sync decoding.

Now nsDisplayBackgroundImage only uses CanCreateWebrenderCommands, which doesn't pass the correct
flags to image container, leading to reftest failures in some cases. This commit fixes that.

MozReview-Commit-ID: KlslXVHlRi5

--HG--
extra : rebase_source : aacb5fcae966cb9af8d8607e6c10e4c0822ea88d
2018-03-20 13:42:05 -05:00
Miko Mynttinen
65c6bee9d6 Bug 1445302 - Replace TArray.RemoveElementAt(TArray.Length() - 1) pattern with TArray.RemoveLastElement() or TArray.PopLastElement() r=froydnj
MozReview-Commit-ID: rGjabnP2iz

--HG--
extra : rebase_source : 1ef6c5ce028ac9ebd9f3176d57835c43fe46bada
2018-03-13 14:51:33 +01:00
arthur.iakab
11989aa12a Merge mozilla-central to autoland 2018-03-22 02:00:17 +02:00
Bas Schouten
8f930c02f7 Bug 1440753: Replace pixman regions with our own region code. r=mattwoodrow
MozReview-Commit-ID: KPsTAw3Uwa2
2018-03-09 05:27:15 +01:00
sotaro
57a55d1c2d Bug 1411481- Enable SkiaGL canvas usage on Mac r=jrmuizel 2018-03-21 08:59:38 +09:00
Cosmin Sabou
66b7c55e79 Merge mozilla-central to inbound. a=merge CLOSED TREE 2018-03-21 00:51:18 +02:00
Cosmin Sabou
52c9a5448e Merge inbound to mozilla-central. a=merge 2018-03-21 00:24:33 +02:00
Cosmin Sabou
e997286c08 Backed out 3 changesets (bug 1439960) for build bustages on APZInputBridgeChild.cpp and FrameBuilder.cpp. CLOSED TREE
Backed out changeset b8057c06fc4c (bug 1439960)
Backed out changeset c8d6b0fa1447 (bug 1439960)
Backed out changeset e6bd6ebc8597 (bug 1439960)
2018-03-20 23:18:44 +02:00
Ryan Hunt
7648df8622 Fix unified build bustage for missing include. (bug 1439960, r=me) on a CLOSED TREE 2018-03-20 16:00:27 -05:00
Jeff Muizelaar
4338f2052b Bug 1388842. Add support for updating blob images. r=mstange
Currently, we use a simple merging algorithm, because the more
complicated ones didn't work.

This code won't actually be used until we do blob image invalidation
in a follow up.

MozReview-Commit-ID: Q2Em3QC195
2018-03-20 10:30:26 -04:00
Jonathan Kew
aaa8afd3af Bug 1435472 - Discard and re-create mAzureScaledFont if it was created with the wrong sUseClearType setting. r=bas 2018-03-20 13:46:40 +00:00
Margareta Eliza Balazs
922c555275 Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-03-20 19:00:25 +02:00
Kartikaya Gupta
814ae3282d Bug 1446358 - Update webrender to commit 2083e83d958dd4a230ccae5c518e4bc8fbf88009. r=jrmuizel
MozReview-Commit-ID: 36QLv2CRPh0

--HG--
extra : rebase_source : 5b9e8f2e6ca099761e9f3e492c9d62b00c44c63d
2018-03-20 09:01:12 -04:00
Ryan Hunt
e34eeaaa86 Remove DisplayItemLayer and corresponding layers.advanced prefs. (bug 1439960, r=mstange)
MozReview-Commit-ID: FAWTC1Llu31

--HG--
extra : rebase_source : 05bda872389db5cc61e805c3eb48e70eb5d95cbe
2018-02-21 09:29:49 -06:00
Ryan Hunt
1fe1a843f9 Remove DisplayItemLayer and corresponding layers.advanced prefs. (bug 1439960, r=mstange)
MozReview-Commit-ID: FAWTC1Llu31

--HG--
extra : rebase_source : 447e835dc664549a8bdbd4097d42773acf523f08
extra : histedit_source : d98b0f0654c2214a368313de84f11160a3fa7030
2018-02-21 09:29:49 -06:00
Jed Davis
91efa87e62 Bug 1440199 - Part 2: Remove named mode from IPC shared memory. r=froydnj
We're not using named shared memory, and supporting only anonymous
shared memory allows using other backends that are more compatible
with preventing a process from accessing any shared memory it wasn't
explicitly granted (i.e., sandboxing).

Specifically: SharedMemory::Open is removed; SharedMemory::Create no
longer takes a name, no longer has the open_existing option which doesn't
apply to anonymous memory, and no longer supports read-only memory
(anonymous memory which can never have been written isn't very useful).

This patch also fixes some comments in what remains of SharedMemory::Create.

MozReview-Commit-ID: 4kBrURtxq20

--HG--
extra : rebase_source : f6b1fb2fc79b6e9cdd251b3d9041036c0be503f9
2018-02-20 13:07:32 -07:00
Emilio Cobos Álvarez
f7522ae728 Bug 1447358: Unifdef the old style system code. r=jwatt
Summary:
This has been automatically generated using:

  http://dotat.at/prog/unifdef/

And:

find $OBJDIR -type f -name '*.h' |
while read FILE; do
  echo "$FILE"
  unifdef -m -DMOZ_STYLO -UMOZ_OLD_STYLE "$FILE";
done

find $OBJDIR -type f -name '*.cpp' |
while read FILE; do
  echo "$FILE"
  unifdef -m -DMOZ_STYLO -UMOZ_OLD_STYLE "$FILE";
done

MozReview-Commit-ID: I4NdKqbMXzJ

Reviewers: jwatt

Bug #: 1447358

Differential Revision: https://phabricator.services.mozilla.com/D779
2018-03-21 10:20:34 +01:00
Emilio Cobos Álvarez
48957d62c0 Bug 1446954: Cleanup !stylo and styloVsGecko test expectations. r=xidorn
MozReview-Commit-ID: J2glxiCWBVn
2018-03-20 11:29:51 +01:00
shindli
55e9f63bac Merge inbound to mozilla-central. a=merge 2018-03-20 12:11:27 +02:00
Boris Zbarsky
89ea512161 Bug 1446711 part 7. Switch the nsIDOMMouseEvent::MOZ_SOURCE_* constants over to MouseEventBinding. r=qdot
We can't include MouseEventBinding.h in MouseEvents.h because that produces
this include loop:

MouseEventBinding.h -> UIEventBinding.h ->
nsGlobalWindow.h -> nsGlobalWindowInner.h -> nsRefreshDriver.h ->
AnimationEventDispatcher.h -> AnimationComparator.h -> Animation.h ->
EffectCompositor.h -> PseudoElementHashEntry.h -> Element.h ->
PointerEventHandler.h -> MouseEvents.h -> MouseEventBinding.h

MozReview-Commit-ID: 6FNksGil7uD
2018-03-20 00:16:06 -04:00
Boris Zbarsky
1a7c5067ca Bug 1446851. Get rid of nsIDOMWheelEvent. r=qdot
We can't include WheelEventBinding.h in MouseEvents.h because that produces
this include loop:

WheelEventBinding.h -> MouseEventBinding.h -> UIEventBinding.h ->
nsGlobalWindow.h -> nsGlobalWindowInner.h -> nsRefreshDriver.h ->
AnimationEventDispatcher.h -> AnimationComparator.h -> Animation.h ->
EffectCompositor.h -> PseudoElementHashEntry.h -> Element.h ->
PointerEventHandler.h -> MouseEvents.h -> WheelEventBinding.h

MozReview-Commit-ID: 5KNwH69aJYW
2018-03-20 00:16:05 -04:00
sotaro
184652d442 Bug 1413392 - Reenable d2d canvas with WebRender r=jrmuizel 2018-03-20 08:07:26 +09:00
Andreea Pavel
d0f089f05d Merge mozilla-central to mozilla-inbound. a=merge on a CLOSED TREE 2018-03-20 00:43:40 +02:00
Andreea Pavel
7062e6b6a2 Merge mozilla-inbound to mozilla-central. a=merge 2018-03-20 00:39:56 +02:00
Lee Salzman
f0cb87c218 Bug 1438917 - limit allocations in SkTDynamicHash. r=jrmuizel
MozReview-Commit-ID: 1d3Tngi6Uek
2018-03-19 11:56:14 -04:00
Lee Salzman
dd7db02829 Bug 1444506 - follow-up - upstream bug fixes. r=me
MozReview-Commit-ID: DcB1BBpKTjj
2018-03-19 02:28:53 -04:00
Lee Salzman
d4d5b04b4c Bug 1444506 - follow-up - support BGRA in bilerp_clamp_8888 fast-path. r=me 2018-03-19 02:12:39 -04:00
Bogdan Tara
4785e99532 Merge inbound to mozilla-central. a=merge 2018-03-17 12:29:57 +02:00
Jeff Muizelaar
b0c6c75854 Bug 1439006. Allow multiple kinds of WebRenderUserData on a DisplayItem. r=mstange
Currently we can only have one type of WebRenderUserData on an Item. We already
have a hash table of WebRenderUserData so it's not hard to include type in the
hash to support one per type.

MozReview-Commit-ID: geJ0BeWv8b
2018-03-16 19:15:27 -04:00
James Willcox
8a43a8baff Bug 1401455 - Use correct GLX visual when rendering with WebRender r=karlt
MozReview-Commit-ID: AKT4bgdIkfV
2018-03-16 17:19:23 -05:00
James Willcox
36df193c10 Bug 1401455 - Add GLContextGLX::FindVisual() r=lsalzman
MozReview-Commit-ID: IiInaCEtnIF
2018-03-16 17:19:21 -05:00
James Willcox
4e30d2b54d Bug 1401455 - Expose glxChooseVisual() in GLXLibrary r=jgilbert
MozReview-Commit-ID: CdG2TAJA2Yc
2018-03-16 17:19:17 -05:00
Kartikaya Gupta
c864e00967 Bug 1441324 - Move the input event messages from PAPZCTreeManager to PAPZInputBridge. r=froydnj,rhunt
This remotes the APZInputBridge interface over the PAPZInputBridge
protocol in the case of the GPU process, and makes the GPU process'
main thread act as the APZ controller thread in that process. If
there is no GPU process we continue as before and the APZInputBridge
interface implementation is the concrete APZCTreeManager instance
in the UI process.

The main changes in this patch are moving all the code associated with
these messages out of APZCTreeManager{Parent,Child} and into
APZInputBridge{Parent,Child}. APZCTreeManagerChild now returns an
APZInputBridgeChild instance via InputBridge(), instead of returning
itself. The SetControllerThread call in the GPU process is also updated.

MozReview-Commit-ID: M4AaIW1Q0h

--HG--
extra : rebase_source : e5a8f14e23be34229fe80a47f6789d19b19e0a9f
2018-03-16 16:28:19 -04:00
Kartikaya Gupta
26139682b6 Bug 1441324 - Introduce an empty APZInputBridge protocol managed by PGPU. r=rhunt
This just adds the boilerplate that goes with the new protocol, without
adding any of the actual messages. The protocol is managed by PGPU, and
there will be one instance per compositor. The parent side lives on the
main thread of the GPU process, and the child side lives on the main
thread of the UI process. The protocol is only instantiated if the GPU
process is active.

MozReview-Commit-ID: J4VzwmEfYTa

--HG--
extra : rebase_source : 397ddda8b0e76e5ed5f63783b1220ed7b4414d99
2018-03-16 16:28:19 -04:00
Kartikaya Gupta
8848975da9 Bug 1441324 - Move the APZCTreeManager initialization for the GPU process to CompositorBridgeParent initialization. r=rhunt
This is important because the RecvInitialize method in CompositorBridgeParent
is run via a sync IPC message, and so we are guaranteed that when return to the
caller in the UI process, the APZCTreeManager will have been created. This
ensures that when we create the APZInputBridge actors (which will happen on a
different top-level protocol, but be triggered after the sync RecvInitialize
is complete) we know that the concrete APZCTreeManager is ready for use.

MozReview-Commit-ID: KYDyJNXxQJm

--HG--
extra : rebase_source : f7bbd000a94e405322ceaed6823693e4a95c81d4
2018-03-16 16:28:18 -04:00
Kartikaya Gupta
874af3e540 Bug 1441324 - Extract an APZInputBridge interface from IAPZCTreeManager. r=rhunt
This separates the methods that are used to deliver input events
synchronously over IPDL to the compositor; this interface will be
remoted over a new APZInputBridge IPDL protocol in future patches.

MozReview-Commit-ID: 1f3V9SUKlfW

--HG--
rename : gfx/layers/apz/public/IAPZCTreeManager.cpp => gfx/layers/apz/src/APZInputBridge.cpp
extra : rebase_source : 523abce7949baf9e3b7803a61632eb4434a6967f
2018-03-16 16:28:18 -04:00
Jeff Muizelaar
e81d471371 Bug 1440702. Add equality operators to Matrix4x4Flagged. r=Bas
This adds a naive implementation of equality. We can do better
in the future by looking at the flags.

MozReview-Commit-ID: K4xdfCmvvb9
2018-03-16 16:42:03 -04:00
Gurzau Raul
70be85b9cd Merge inbound to mozilla-central. a=merge 2018-03-16 19:53:35 +02:00
sotaro
7871e211ec Bug 1444798 - Fix ExternalImageCallback func types r=jrmuizel 2018-03-16 21:03:59 +09:00
Sylvestre Ledru
fa45a3c670 Bug 1443080 - Use the static call for static methods (not instance) r=Ehsan
MozReview-Commit-ID: JwHh4bzxuTR

--HG--
extra : rebase_source : 5f5e37517aa80c2e7b5933962178d761074886e7
2018-03-16 14:29:15 +01:00
Kartikaya Gupta
bba5baa68a Bug 1444946 - Update webrender to commit 486ee5f3aefb0172c2c5703e19f833e63eb295b9. r=jrmuizel
MozReview-Commit-ID: EwPVlYte5Wo

--HG--
extra : rebase_source : a7a135bde5afa3eae41e29962a504d15a49989ec
2018-03-16 09:02:26 -04:00
Zibi Braniecki
8264ecd92f Bug 1345957 - Update the use of LocaleService API in gfxPlatformFontList. r=jfkthame
MozReview-Commit-ID: Lj7H2DwlS91

--HG--
extra : rebase_source : 17e8304eb8d2d6640cd44816f1e3e825e26b57d4
2018-03-06 18:55:22 -08:00
Coroiu Cristina
51fd916771 Merge mozilla-central to autoland a=merge on a CLOSED TREE 2018-03-16 01:43:13 +02:00
Kartikaya Gupta
d16ab46492 Bug 1445662 - Update RemoteContentController to allow the GPU process controller thread to be different from the compositor thread. r=rhunt
A couple of RemoteContentController methods get called on the controller
thread in the GPU process. This is the same as the compositor thread so
we could just do compositor-thread stuff here, but we will want to
support the controller thread being the main thread instead of the
compositor thread. So we detect those cases and bounce the message
accordingly.
2018-03-15 15:25:11 -04:00
Kartikaya Gupta
c4a6aff0f0 Bug 1445662 - Annotate remaining PAPZCTreeManager-invoked methods with threading constraints. r=rhunt
These methods are already guaranteed to be called on the controller
thread.
2018-03-15 15:25:10 -04:00
Kartikaya Gupta
5083c84c88 Bug 1445662 - Ensure ZoomToRect runs on the controller thread. r=rhunt
Currently the ZoomToRect function is only ever called on Android, on the
UI process main thread, which is neither the controller nor the sampler
thread. Instead of allowing "random" threads to run inside APZ, we
ensure that callers run it on the controller thread.
2018-03-15 15:25:10 -04:00
Kartikaya Gupta
bb580f89fa Bug 1445662 - Ensure UpdateZoomConstraints runs on the sampler thread. r=rhunt
Without this patch, UpdateZoomConstraints can get called on:
a) the compositor/sampler thread (over PAPZCTreeManager)
b) the controller thread which is also the UI process main thread (on
   desktop platforms without a GPU process)
c) the UI process main thread when it's *not* the controller thread (on
   Android).
Instead of having to reason about all these scenarios separately, we can
try to unify them a little bit by ensuring the function contents always
run on the sampler thread, which is the thread that seems to make the
most sense for it.
2018-03-15 15:25:10 -04:00
Kartikaya Gupta
cfbe8bb66a Bug 1445662 - Assert that IAPZCTreeManager's helper methods are always on the controller thread. r=rhunt
These two functions (UpdateWheelTransaction and ProcessUnhandledEvent)
are only ever called on the concrete APZCTreeManager when the APZ code
is living in the GPU process. This is because the calls are made by the
IAPZCTreeManager implementation which lives in the UI process, and
remoted over PAPZCTreeManager. So the assertion is safe, and will help
us guard against inadvertent breakage when we try making a different
thread the controller thread in the GPU process.

In addition, the WillHandleInput function can be called in the GPU
process on the compositor thread, but we will allow it to be called on
the main thread as well. In that case we need to ensure we don't try
running EventStateManager pref-reading code in the GPU process, and
instead preserve the current behaviour of just returning true.
2018-03-15 15:25:10 -04:00
Kartikaya Gupta
323f2093f0 Bug 1445662 - Remove ProcessTouchVelocity from PAPZCTreeManager.ipdl. r=rhunt
This function is never actually called over IPDL. It is called directly
on the concrete APZCTreeManager instance by the
AndroidDynamicToolbarAnimator code, both of which live in the
compositor. So we don't need to expose this method on IAPZCTreeManager
or over PAPZCTreeManager.
2018-03-15 15:25:09 -04:00
Kartikaya Gupta
9ab9425d9f Bug 1445662 - Make the DPI non-static and bound to the controller thread. r=rhunt
Since we can have multiple browser windows on multiple different
displays with different DPIs, it doesn't make sense to have a single
static DPI value shared across all APZCTreeManagers. Instead, each
APZCTM should store its own DPI value for the display the window is on.
Since the DPI is only ever read from the controller thread, we can make
it bound to that thread, and update the setter code to also set it on
that thread.

As with the previous patch, the change in APZCTreeManagerParent is a
no-op but allows making some other thread in the GPU process the controller
thread. And the change in nsBaseWidget is a no-op everywhere except
Android.
2018-03-15 15:25:09 -04:00
Kartikaya Gupta
d59c0946db Bug 1445662 - Ensure the keyboard map access is threadsafe. r=rhunt
- The change in APZCTreeManagerParent is functionally a no-op because it
  only ever runs in the GPU process on the controller thread. But it
  allows moving the controller thread to some other thread.
- The change in nsBaseWidget is a no-op for desktop platforms, because
  in the UI process the main thread is the controller thread. But on
  Android it moves the call from the main thread to the Java UI thread.
2018-03-15 15:25:08 -04:00
Jeff Muizelaar
c8a1c9f6f0 Bug 1446166. Ensure that WebRenderUserData's are removed when LayerManager is destroyed. r=kats
This lets us avoid having to check whether we have the right one when getting them.

MozReview-Commit-ID: 9YDiSd7AekB

--HG--
extra : rebase_source : 4e9ce48075fa02eba83209f545181a0883e7551e
2018-03-15 13:51:05 -04:00
Peter Bacalso
0445cb7bdd Bug 1443292 - Move TouchBehaviorFlags from APZUtils.h to LayersTypes.h. r=botond
--HG--
extra : rebase_source : 2b4b07718222f65d8e30342b6f52eec114358318
extra : amend_source : b4fe1d0570f7f8c19f545504cd6a33fe3345d476
2018-03-14 18:18:27 -04:00
Kartikaya Gupta
552d7db33b Bug 1425573 - Follow-up to fix logging compilation failure. r=me and DONTBUILD
MozReview-Commit-ID: KaoJYgriHo4
2018-03-15 12:00:20 -04:00
Coroiu Cristina
fbaf1d233a Backed out 8 changesets (bug 1445662) for bustage at build/src/gfx/layers/apz/util/ChromeProcessController.cp on a CLOSED TREE
Backed out changeset d514b05d1f6a (bug 1445662)
Backed out changeset 13f4f51d7bd1 (bug 1445662)
Backed out changeset 20c79dee1905 (bug 1445662)
Backed out changeset ca1e29c9b439 (bug 1445662)
Backed out changeset 8fadda7d555e (bug 1445662)
Backed out changeset b5f2ceda75bd (bug 1445662)
Backed out changeset 41d8b7a6b339 (bug 1445662)
Backed out changeset 121cd3a0490f (bug 1445662)
2018-03-15 20:37:10 +02:00
Kartikaya Gupta
97dac6f1db Bug 1445662 - Update RemoteContentController to allow the GPU process controller thread to be different from the compositor thread. r=rhunt
A couple of RemoteContentController methods get called on the controller
thread in the GPU process. This is the same as the compositor thread so
we could just do compositor-thread stuff here, but we will want to
support the controller thread being the main thread instead of the
compositor thread. So we detect those cases and bounce the message
accordingly.

MozReview-Commit-ID: 6kLqdl6jgO0

--HG--
extra : rebase_source : 04f0ce53e247f198527f001cd80b48b126d25f9d
2018-03-14 16:57:52 -04:00
Kartikaya Gupta
a7f18cd8d9 Bug 1445662 - Annotate remaining PAPZCTreeManager-invoked methods with threading constraints. r=rhunt
These methods are already guaranteed to be called on the controller
thread.

MozReview-Commit-ID: 4pfUZe6cI8e

--HG--
extra : rebase_source : 9ad24c0bb2e45bbd63e0a2febc14391e1a28f274
2018-03-14 16:57:52 -04:00
Kartikaya Gupta
186ffd08c7 Bug 1445662 - Ensure ZoomToRect runs on the controller thread. r=rhunt
Currently the ZoomToRect function is only ever called on Android, on the
UI process main thread, which is neither the controller nor the sampler
thread. Instead of allowing "random" threads to run inside APZ, we
ensure that callers run it on the controller thread.

MozReview-Commit-ID: 64LkHaFLIOl

--HG--
extra : rebase_source : 61f397c0e18f83c68c228879692c9d4767b25675
2018-03-14 16:57:52 -04:00
Kartikaya Gupta
139ae9307f Bug 1445662 - Ensure UpdateZoomConstraints runs on the sampler thread. r=rhunt
Without this patch, UpdateZoomConstraints can get called on:
a) the compositor/sampler thread (over PAPZCTreeManager)
b) the controller thread which is also the UI process main thread (on
   desktop platforms without a GPU process)
c) the UI process main thread when it's *not* the controller thread (on
   Android).
Instead of having to reason about all these scenarios separately, we can
try to unify them a little bit by ensuring the function contents always
run on the sampler thread, which is the thread that seems to make the
most sense for it.

MozReview-Commit-ID: 8V4WTNtST3d

--HG--
extra : rebase_source : c4ebda75657d906d318acc07c174e8f3f634d18f
2018-03-14 16:57:42 -04:00
Kartikaya Gupta
43bc6e764c Bug 1445662 - Assert that IAPZCTreeManager's helper methods are always on the controller thread. r=rhunt
These two functions (UpdateWheelTransaction and ProcessUnhandledEvent)
are only ever called on the concrete APZCTreeManager when the APZ code
is living in the GPU process. This is because the calls are made by the
IAPZCTreeManager implementation which lives in the UI process, and
remoted over PAPZCTreeManager. So the assertion is safe, and will help
us guard against inadvertent breakage when we try making a different
thread the controller thread in the GPU process.

In addition, the WillHandleInput function can be called in the GPU
process on the compositor thread, but we will allow it to be called on
the main thread as well. In that case we need to ensure we don't try
running EventStateManager pref-reading code in the GPU process, and
instead preserve the current behaviour of just returning true.

MozReview-Commit-ID: JFBX3NSXywn

--HG--
extra : rebase_source : 6718944034ec7b7223581e562aa59e9e79b54b53
2018-03-14 16:57:41 -04:00
Kartikaya Gupta
354719495e Bug 1445662 - Remove ProcessTouchVelocity from PAPZCTreeManager.ipdl. r=rhunt
This function is never actually called over IPDL. It is called directly
on the concrete APZCTreeManager instance by the
AndroidDynamicToolbarAnimator code, both of which live in the
compositor. So we don't need to expose this method on IAPZCTreeManager
or over PAPZCTreeManager.

MozReview-Commit-ID: 6fEkJpDDvhl

--HG--
extra : rebase_source : cff9bb8fa43698950388b77f782b0b3fe6ec119b
2018-03-14 16:57:41 -04:00
Kartikaya Gupta
20e68959db Bug 1445662 - Make the DPI non-static and bound to the controller thread. r=rhunt
Since we can have multiple browser windows on multiple different
displays with different DPIs, it doesn't make sense to have a single
static DPI value shared across all APZCTreeManagers. Instead, each
APZCTM should store its own DPI value for the display the window is on.
Since the DPI is only ever read from the controller thread, we can make
it bound to that thread, and update the setter code to also set it on
that thread.

As with the previous patch, the change in APZCTreeManagerParent is a
no-op but allows making some other thread in the GPU process the controller
thread. And the change in nsBaseWidget is a no-op everywhere except
Android.

MozReview-Commit-ID: CB23MxGISeL

--HG--
extra : rebase_source : b3358202ec5fa27422c56ae1b0b2237dbc8e489b
2018-03-14 16:57:41 -04:00
Kartikaya Gupta
73717e624e Bug 1445662 - Ensure the keyboard map access is threadsafe. r=rhunt
- The change in APZCTreeManagerParent is functionally a no-op because it
  only ever runs in the GPU process on the controller thread. But it
  allows moving the controller thread to some other thread.
- The change in nsBaseWidget is a no-op for desktop platforms, because
  in the UI process the main thread is the controller thread. But on
  Android it moves the call from the main thread to the Java UI thread.

MozReview-Commit-ID: LVVZLFxSuyj

--HG--
extra : rebase_source : 89e9c8824c31867ad92152ff9b496744a6afdd83
2018-03-14 16:57:41 -04:00
Noemi Erli
da9500ef7d Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-03-15 19:44:05 +02:00
Alex Gaynor
59aea7c021 Bug 1445958 - fixed a method name name in a comment; r=jrmuizel
MozReview-Commit-ID: DHvy0cufcXt

--HG--
extra : rebase_source : 025125a18f561f6fa4359eb49af29147d1d5900f
2018-03-15 10:31:28 -04:00
Andrew Osmond
a53f4da6d7 Bug 1445802 - Disable broken asserts to unbreak Windows QR mda tests. r=aosmond 2018-03-15 06:42:19 -04:00
sotaro
0cc1972d14 Bug 1432039 - Improve assumption of content process's back-end prefs r=jrmuizel 2018-03-15 14:48:54 +09:00
Ryan VanderMeulen
0007daf65b Backed out changeset 1ec0f839a905 (bug 1086964) for mass Win7 debug test failures. 2018-03-14 20:35:43 -04:00
Emilio Cobos Álvarez
a4486328c8 Bug 1433671: Add MOZ_CAN_RUN_SCRIPT annotations to AccessibleCaret and other stuff. r=bz
MozReview-Commit-ID: Js0CF7WQM73
2018-03-14 23:32:22 +01:00
Ryan VanderMeulen
3f80fd8acc Bug 1086964 - Remove uses of no_pgo that are no longer needed. r=dmajor 2018-03-14 18:18:32 -04:00
Andreea Pavel
363ad2007d Merge mozilla-central to mozilla-inbound. a=merge on a CLOSED TREE 2018-03-15 00:11:42 +02:00
Andreea Pavel
067622ac36 Merge mozilla-inbound to mozilla-central. a=merge on a CLOSED TREE 2018-03-15 00:07:17 +02:00
Andrew Osmond
4986917db0 Bug 1435291 - Part 2. Make background SVGs use WebRender instead of fallback. r=jrmuizel 2018-03-14 14:19:13 -04:00
Ryan VanderMeulen
ca477b1e34 Bug 1445766 - Fix some non-unified build bustage in gfx/layers. r=lsalzman 2018-03-14 17:03:29 -04:00
Ryan Hunt
691f20afd2 Remove ReadLockHandle and ReadLockInit code (bug 1445008, r=aosmond)
This code is unused now that ReadLockDescriptors are not sent in layer transactions.

--HG--
extra : rebase_source : 8cd25541b22c3151e2dbd2f8ea6d1119e2f26c94
extra : source : 99a2d26d1ba82ad34a6c27641500a424cda015c3
2018-03-13 17:00:18 -05:00
Kearwood Gilbert
0fd0d36de4 Bug 1445647 - Fixed initialization of state.mSittingToStandingTransform
--HG--
extra : rebase_source : 42d51f2c33a27b920071f18d71b59c0550118f9f
2018-03-14 13:30:06 -07:00
Lee Salzman
9aa9c2ba03 Bug 1444506 - follow-up - use SkMD5. r=me 2018-03-14 10:17:38 -04:00
Emilio Cobos Álvarez
b3b7b29add Bug 1440993: followup: Avoid overwriting the frontbuffer variable. r=nical
MozReview-Commit-ID: 68ljrd3qf1u
2018-03-14 14:26:41 +01:00
Nicolas Silva
f59445a4bd Bug 1440993 - Null-check the GLContext's screen when reading back canvas data. r=sotaro. 2018-03-14 13:30:42 +01:00
Emilio Cobos Álvarez
222d41c92f Bug 1445478: Make pointerevents/test_bug1414336.html more reliable. r=kats
There can be something shuffling the iframe between the mouse event is sent and
the mouse event is received which makes us end up targeting the <body> instead
of the test target.

This can be reproduced with enough persistence either with and without the
patches from bug 1439875, at least on a headless build with rr chaos mode.

Move it to test_group_pointerevents in the apz tests to run it in a new window
and make it a bit more reliable.

MozReview-Commit-ID: BS6Es8iEmMY
2018-03-14 13:10:31 +01:00
sotaro
58a1b5e3d2 Bug 1443671 - Check aImageContainer in ImageBridgeChild::Connect() r=nical 2018-03-14 20:08:29 +09:00
arthur.iakab
8976abf9ca Merge inbound to mozilla-central. a=merge 2018-03-14 12:00:13 +02:00
Kearwood Gilbert
d0b2b8da65 Bug 1436791 - Implement gfxVRExternal,r=rbarker
- gfxVRExternal Enables other processes to present
  real or simulated VR hardware to Firefox.
- This functionality is disabled by default, under
  dom.vr.external.enabled.
- VRDisplayInfo, VRControllerInfo, and associated
  structs have been restructured to ensure internal
  state is not exposed via shmem interface.
- Some refactoring to convert structs to
  POD types, enabling them to be located
  in shmem and be memcpy'd.
- Work needed before unpreffing marked
  with "TODO" comments.
MozReview-Commit-ID: FbsusbxuoQ8

--HG--
extra : rebase_source : 8a448169c3f47411c705a4d9fd462a1f9363dfd9
extra : amend_source : e6702549527292e2850d16e8f503f0be9848159f
2018-03-13 17:09:54 -07:00
Nicholas Nethercote
d41188c796 Bug 1445117 - Remove duplicates from nsGkAtoms. r=froydnj
In each case, the atom had an obvious name and a weird name. Where possible, I
kept the obvious name and commented out the weird name, viz:

- `mixed` over `_mixed` for "mixed"
- `el` over `el_` for "el"
- `other` over `other_` for "other"
- `remote` over `Remote` for "remote"

But for several of them I didn't do that, because the weird name is used
within the HTML5 parser -- which is a huge pain to modify because it involves
code generated by code from another repo -- so I kept the weird name and
commented out the obvious name, viz:

- `list_` over `list` for "list"
- `svgSwitch` over `_switch` for "switch"
- `set_` over `set` for "set"

MozReview-Commit-ID: Jp3CpdWXNDm

--HG--
extra : rebase_source : 421ce5316772f1951488307e81f2ceee696d363d
2018-03-14 10:27:25 +11:00
Kartikaya Gupta
778e7fae97 Bug 1443792 - Remove direct access to AsyncPanZoomController from ContainerLayerComposite. r=botond
MozReview-Commit-ID: 7CiK7bzDcPW

--HG--
extra : rebase_source : 468e2c1e09fb03fdefc21262aeb93e7086eda50d
2018-03-12 16:06:38 -04:00
Kartikaya Gupta
bb2e76ca71 Bug 1443792 - Remove direct access to AsyncPanZoomController from AsyncCompositionManager. r=botond
MozReview-Commit-ID: FA8XFOhy1wk

--HG--
extra : rebase_source : ad6085abeb2a43e5af73cfdbe575fc148c05785f
2018-03-12 16:06:38 -04:00
Kartikaya Gupta
86032d9307 Bug 1443792 - Tighten the equivalence between a layer being scrollable and having an APZC. r=botond
If we can assume that a layer being composited has an APZC at index i if and
only if the frame metrics at index i is scrollable, then we can do the
transformations in the next patch without any change in functionality.

MozReview-Commit-ID: FRkvhwdd3nh

--HG--
extra : rebase_source : f1bee292305730079b3208e447330028c1a40727
2018-03-12 16:06:37 -04:00
Kartikaya Gupta
bfc7d9097f Bug 1443792 - Move ComputeTransformForScrollThumb to APZCTreeManager. r=botond
This makes more sense in APZCTreeManager, but is exposed back to
AsyncCompositionManager via APZSampler. This also makes the APZ code
better encapsulated since the method API exposed on APZSampler doesn't
need to take a AsyncPanZoomController; it can just take the
LayerMetricsWrapper instead.

MozReview-Commit-ID: 9yJJd3x8VhN

--HG--
extra : rebase_source : b6f81116183810df158d8cce72891bb2db458355
2018-03-12 16:06:37 -04:00
Kartikaya Gupta
9edc276575 Bug 1443792 - Move the SampleAPZAnimations function into APZSampler. r=botond
MozReview-Commit-ID: 2KIQ5A2J7m9

--HG--
extra : rebase_source : c3fa7b3ff696413552d8659796438fc67c6e7202
2018-03-12 16:06:37 -04:00
Jeff Muizelaar
faae221e52 Bug 1391255. Crash earlier if recording playback fails. r=kats
This should help us narrow down what's going wrong a bit.

MozReview-Commit-ID: 2Ah0nMCwv55

--HG--
extra : rebase_source : fae57d36fe28b364fc652fb0e32abbbf8da43b0e
2018-02-23 13:14:39 -05:00
Kartikaya Gupta
9bf844b397 Bug 1443297 - Fix sizing error for HostLayerManager::mCompositorBridgeID. r=jrmuizel
MozReview-Commit-ID: 5OWWCzkFOpL

--HG--
extra : rebase_source : e847e68f0933640fc289aded3856edfc9d2155c5
2018-03-14 12:17:27 -04:00
Kartikaya Gupta
b91f33e3d1 Bug 1435788 - Allow handling focus-changing events prior to the first update on GPU process restart. r=rhunt
If the GPU process restarts, the mLastAPZProcessedEvent gets reset to 1.
The code in Update() checks for this special case and resets the value
to the incoming content process sequence number. However, we before that
first call to Update() on the sampler thread, the FocusState might get calls
to ReceiveFocusChangingEvent(), which would be triggered by input events on
the controller thread. These input events would advance
mLastAPZProcessedEvent which would bypass the special case handling in
Update(). This can leave mLastAPZProcessedEvent at a lower value than
mLastContentProcessedEvent which triggers assertion failures.

This patch ensures that calls to ReceiveFocusChangingEvent() during this
initial state doesn't increment mLastAPZProcessedEvent, and so allows
the special case handling in Update() to work as expected. It also adds
the special case handling to the branch where the first Update() call
results in no focus target being selected.

MozReview-Commit-ID: 7P2O2qg0mXj

--HG--
extra : rebase_source : eb0655225eba55a7b1ad9bf16c7c8ecab3c0cc7b
2018-03-14 08:43:56 -04:00
Kartikaya Gupta
7acf28ebb0 Bug 1445403 - Add thread assertions as documentation. r=rhunt
MozReview-Commit-ID: DmOnjBymf8G

--HG--
extra : rebase_source : 14fd68abc8bf3f706bbadea155b841a5331644e3
2018-03-14 08:42:44 -04:00
Kartikaya Gupta
d4eeb476f3 Bug 1445403 - Sprinkle some magical Mutex dust on FocusState. r=rhunt
MozReview-Commit-ID: D9Dd9Fm2JTY

--HG--
extra : rebase_source : ece1ed5042b6991f3fee2d14383f0703034d2fdc
2018-03-14 08:42:44 -04:00
Kartikaya Gupta
ed0bf7f4f5 Bug 1445403 - Move FocusState method implementations into .cpp file. r=rhunt
MozReview-Commit-ID: FycCdfjdEWK

--HG--
extra : rebase_source : bb7dea0e0f917acb5d6249998821ea040b62046a
2018-03-14 08:42:44 -04:00
Zhang Junzhi
b18668bfff Bug 1445419 - Makes AsyncPanZoomController::CanScroll distinguish between wheel scrolling and non-wheel scrolling r=kats
Scrollable doesn't mean exactly the same thing as wheel-scrollable.

However, AsyncPanZoomController::CanScroll(const InputData& aEvent) mistakenly
calls CanScrollWithWheel without distinguishing between wheel scrolling and
non-wheel scrolling, which may potentially lead to wrong APZC targets during the
hittesting stage.

MozReview-Commit-ID: 6xXQdtObLwB

--HG--
extra : rebase_source : 1f4ee06b7d41213b2d6d85cdd1439a11b92b0e98
2018-03-14 04:14:13 +08:00
Narcis Beleuzu
298d1d55b5 Merge mozilla-central to inbound. a=merge CLOSED TREE 2018-03-13 12:36:54 +02:00
Jeff Gilbert
094e34e37c Bug 1431560 - Cherry pick ANGLE b3b177d: Update driver constants on program change. - r=kvark
MozReview-Commit-ID: J3aIAszM5RO
2018-03-14 13:41:44 -07:00
Kartikaya Gupta
670ad0f8e0 Bug 1445693 - Don't disable pointer events while we're in the midst of handling them. r=emilio
MozReview-Commit-ID: 3FaOJ1feD7b
2018-03-14 16:39:27 -04:00
Andrew Osmond
03ddb93873 Backed out changeset 8f16d20b0a3b (bug 1433351) for build bustage on a CLOSED TREE. 2018-03-15 11:18:35 -04:00
Ryan VanderMeulen
5383105dd9 Bug 1086964 - Remove uses of no_pgo that are no longer needed. r=dmajor 2018-03-14 18:18:32 -04:00
Andrew Osmond
866a8daa39 Bug 1433351 - Add nsBaseHashtable::EntryPtr::OrRemove method to abort nsBaseHashtable::LookupForAdd on miss. r=froydnj
In SourceSurfaceImage::GetTextureClient, we use LookupForAdd. This is
because we typically will create a new TextureClient if there isn't
already one created. This creation can fail because the size is too big,
or we don't have the memory available for it. Unfortunately LookupForAdd
is an infallible operation; it is expected we will always add something
to the hashtable if we don't find an entry. This patch adds an OrRemove
method to cover the corner case where we are unable to complete the
insertion.
2018-03-15 10:33:40 -04:00
Noemi Erli
ac0a30f58c Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-03-13 01:16:04 +02:00
Ryan Hunt
084c9b6f4c Allocate TextureReadLock at TextureClient creation and drop file handles immediately after. (bug 1416726, r=aosmond)
This changes the lifecycle and API for TextureReadLock to fix file descriptor exhaustion
crashes. These changes are partially superficial and mostly align the API of TextureReadLocks
with their actual usage.

The changes are:

1. Create the TextureReadLock in the TextureClient constructor so it's available before IPC creation
    a. This is superficial as EnableReadLock was always called before IPC creation
2. Send the ReadLockDescriptor in the PTextureConstructor message and close the file handle
3. Receive the ReadLockDescriptor in TextureHost and close the file handle
4. Send a boolean flag in layer transactions if the texture is read locked instead of a descriptor
5. Use a boolean flag in TextureHost to determine if the ReadLock must be unlocked instead of a nullptr

I believe that we can remove the InitReadLocks code from LayerTransaction as that was added to
prevent file descriptor limits in IPDL messages and is no longer needed with this change. But
that is a non-essential change and this patch is already big enough.

MozReview-Commit-ID: DzHujrOQejH

--HG--
extra : rebase_source : 3bdd7c9bc8edfdc386faad8a9e59ad7dc18ed91d
2018-03-12 08:10:13 -05:00
Kartikaya Gupta
7d1d15228b Bug 1443152 - Update to cbindgen 0.5.2. r=rhunt
MozReview-Commit-ID: COIPhZvMJK

--HG--
extra : rebase_source : 9687211e6bda9b306d8cdf522145eee132601b18
2018-03-12 16:38:10 -04:00
Jonathan Kew
b5ab0bb381 Bug 1427480 - Increase the MAX_FONT_SIZE limit applied in cairo_ft_font to match the gfxFont size limit. r=lsalzman 2018-03-20 18:02:18 +00:00
Jeff Gilbert
1cae699f31 Bug 1442791 - Build _linux files on BSDs in ANGLE. - r=jrmuizel
MozReview-Commit-ID: DWgXTnUtyrp
2018-03-21 23:47:58 -07:00
Nicolas Silva
2f19628734 Bug 1440717 - Use RefPtr for CompositingRenderTargetOGL::mGL. r=Bas 2018-03-12 13:36:00 +01:00
Kartikaya Gupta
f42d692541 Bug 1444374 - Make the LayerTransactionParent's mId always nonzero. r=mattwoodrow
We can easily populate the mId with the correct layers id, which is the
root layer tree id from the CompositorBridgeParent. This eliminates a
bunch of special-case handling.

MozReview-Commit-ID: FEkboAGEhYO

--HG--
extra : rebase_source : 01e73d516e5742d586cbf6d8b6bc5c9f7d64f141
2018-03-09 08:45:26 -05:00
Robert Longson
7709e9b3e1 Bug 1444666 - get rid of nsSVGUtils version of GetStrokeDashData and replace by SVGContentUtils::GetStrokeOptions r=jwatt 2018-03-11 16:11:24 +00:00
Kartikaya Gupta
5fe91a90f5 Bug 1437295 - Ensure that we have a compositor APZ testdata before running the test. r=botond
MozReview-Commit-ID: zV4J3pChIy

--HG--
extra : rebase_source : c4e267f7543525fffda5c27f38b99321e3b9556c
2018-03-10 23:26:28 -05:00
Kartikaya Gupta
fe4726f972 Bug 1437295 - Remove unnecessary change from bug 1374166. r=botond
The change that was made in bug 1374166 was attempting to fix the
problem fixed by the previous patch, but didn't actually succeed (it
just made it less likely to occur). Now that we have the proper fix we
can revert that botched attempt to speed up the test a little bit.

MozReview-Commit-ID: 3hWZ6bFTdxb

--HG--
extra : rebase_source : 15a8c6e183a5d7a09527ac3857b0eefb563c5165
2018-03-10 23:26:28 -05:00
Kartikaya Gupta
4def632d24 Bug 1437295 - Ensure that waitUntilApzStable also flushes the parent process. r=botond
With e10s enabled, we need to make sure that not only has the content
process layer tree reached the compositor, but also that the parent
process layer tree with the correct RefLayer has reached the compositor.
This is important for some APZ tests which proceed on the assumption
that the content process has been composited.

MozReview-Commit-ID: D0peZsJMHNT

--HG--
extra : rebase_source : 487a11a5478416e275013941282ff8f7636fb67c
2018-03-10 23:26:27 -05:00
Kartikaya Gupta
e29fdef19c Bug 1437295 - Ensure cleanup functions registered in a subtest are invoked when unloading the subtest. r=botond
If we are registering a cleanup function inside a subtest (as we will do
in the next patch) then we need to make sure it gets cleaned up before
the subtest is unloaded. Otherwise the cleanup will be attempted when
the top-level test page is unloaded, at which point the subtest is long
gone, and that results in an error.

MozReview-Commit-ID: 828XddkOUlP

--HG--
extra : rebase_source : a4b64d41c0dfcc27941abbff7ffbde2c69513b58
2018-03-10 23:26:27 -05:00
Kartikaya Gupta
3191dbda01 Bug 1437295 - Promise-ify some of the paint/flushing methods. r=botond
This is functionally a no-op but it makes code cleaner, particularly
some of the changes in a future patch.

MozReview-Commit-ID: 5UoT3aNJaPz

--HG--
extra : rebase_source : 53dbabc53ce5fbb549fa66976b41799f03be201d
2018-03-10 23:26:27 -05:00
Jonathan Kew
243822d04c Bug 1443095 - Update graphite2 library to release 1.3.11 (plus upstream commit 6e24eb7e to fix leak). r=jrmuizel 2018-03-10 10:43:38 +00:00
Daniel Holbert
408bfa9bf0 Bug 1444481 part 1: Add some needed #includes to ComputedTimingFunction.h and FrameMetrics.h. r=xidorn
(This is a helper patch -- I'm splitting this into its own patch since it's
changing files in other directories, and also so that the main patches here
can be a bit more direct.)

Without this change, the other patches in this series would cause compile
failures in the headers that I'm fixing up here (because the other patches will
be removing #includes from some headers that these files were inadvertently
depending on).

As of this patch, ComputedTimingFunction.h will now be including:
 - nsDebug.h to provide NS_ASSERTION
 - nsStringFwd.h to provide a forward-declaration for "nsAString&"
 - Assertions.h to provide MOZ_ASSERT
 - Maybe.h to provide Maybe<ComputedTimingFunction>
(I think it's been leaning on nsTimingFunction.h's include of nsString.h to
indirectly provide these.)

FrameMetrics.h will now be including:
 - PLDHashTable.h to provide PLDHashNumber
(I think it's been leaning on nsStyleCoord.h/nsStyleConsts.h to indirectly
provide this.)

MozReview-Commit-ID: AoFoEe9GisK

--HG--
extra : rebase_source : 63c69343acaf42511ebdeb0238f4385a0c6345a5
2018-03-09 11:52:02 -08:00
Botond Ballo
6f01e47daa Bug 1307555 - Mochitest. r=kats
MozReview-Commit-ID: 1e06rX4SQD8

--HG--
extra : rebase_source : 4f2aa932af8c1c8332d49aeaace687c71a4d58bc
2018-02-26 16:39:35 -05:00
Tom Ritter
f572733682 Bug 1444169 Fix capitalization for a few Windows files r=aklotz
MozReview-Commit-ID: BlWgIVobOBK

--HG--
extra : rebase_source : 71a8052c562aa7be510e3a4c13a0ca698a04a5ac
2018-03-08 14:49:59 -06:00
Kartikaya Gupta
faa816e22a Bug 1443807 - Update webrender to commit 5cb71f0f23719795e7c89417d91a7abad8ac20e9. r=jrmuizel
MozReview-Commit-ID: 9JzKooI2sJ2

--HG--
extra : rebase_source : 2762c00c95aa40dcd9d27ef1c5efa66494b8a90b
2018-03-09 08:39:35 -05:00
Brindusan Cristian
eb51abf4fb Merge inbound to mozilla-central. a=merge 2018-03-08 20:00:36 +02:00
Nicolas Silva
0405d57c60 Bug 1352877 - Assert that the global compositor map is accessed on the right threads. r=mattwoodrow 2018-03-08 09:56:11 +01:00
Matt Woodrow
4803a952b9 Bug 1442915 - Don't use shadow visible region in DefaultComputeEffectiveTransforms since it might not be computed yet. r=mstange 2018-03-08 20:00:50 +13:00
Kartikaya Gupta
a205ba0c5f Bug 1443301 - Stop exposing mApzcTreeManager from CompositorBridgeParent. r=botond
MozReview-Commit-ID: 5Dq0HzLImTz

--HG--
extra : rebase_source : 9329303f382fa94b0a2f05226ad5e993c83490e6
2018-03-07 17:34:11 -05:00
Kartikaya Gupta
eb67d6cb7b Bug 1443301 - Update dynamic toolbar init codepath to not need an APZCTreeManager. r=botond
MozReview-Commit-ID: BthTS5k1PDW

--HG--
extra : rebase_source : 9f26d5e40f2ce4979cf55018844271350f11a6fa
2018-03-07 17:34:11 -05:00
Kartikaya Gupta
20abc0426b Bug 1443301 - Give the dynamic toolbar class a non-owning ref to the APZCTreeManager. r=botond
MozReview-Commit-ID: 8lE53GEhDMI

--HG--
extra : rebase_source : 3d6e69f9f00672a07f1124669d781d6fbba780b2
2018-03-07 17:34:10 -05:00
Kartikaya Gupta
b9c7b63015 Bug 1443301 - Remove unused function. r=botond
MozReview-Commit-ID: I05MwCw8VdK

--HG--
extra : rebase_source : fdfac26097179513fa5189ec7892f158d1fe24f9
2018-03-07 17:34:10 -05:00
Cosmin Sabou
aba9ad6f65 Merge inbound to mozilla-central. a=merge
--HG--
rename : mobile/android/geckoview/src/androidTest/java/org/mozilla/geckoview/test/NavigationListenerTest.kt => mobile/android/geckoview/src/androidTest/java/org/mozilla/geckoview/test/NavigationDelegateTest.kt
2018-03-08 05:59:30 +02:00
shindli
8e9217d36a Merge mozilla-central to inbound. a=merge CLOSED TREE 2018-03-08 02:27:35 +02:00
Kartikaya Gupta
ff4a47d56e Bug 1443187 - Avoid crashing if a previously-uncomposited layer tree gets adopted. r=botond
MozReview-Commit-ID: FZYwS7IwdKq

--HG--
extra : rebase_source : ea7b093df17887af841cb4ccdd64d47a69c016ad
2018-03-07 16:41:44 -05:00
Botond Ballo
b4385a3fda Bug 1442767 - Rename Box to RectAbsolute (Gecko changes). r=kats
MozReview-Commit-ID: 1wrzwQw8bdx

--HG--
rename : gfx/src/nsCoordBox.h => gfx/src/nsRectAbsolute.h
extra : rebase_source : ec71a9add57c07887cb37f2d105390072e13d98d
2018-03-05 18:08:18 -05:00
Botond Ballo
74cd005201 Bug 1442767 - Rename Box to RectAbsolute (Moz2D changes). r=bas
MozReview-Commit-ID: 7VOZs8pQgJ4

--HG--
rename : gfx/2d/Box.h => gfx/2d/RectAbsolute.h
extra : rebase_source : 46dc03f33d51f28729a56cf25055f4eb3e7dad6f
2018-03-05 16:35:35 -05:00
Hiroyuki Ikezoe
be2fe6bf8c Bug 1437272 - Split nsTimingFunction into an independent header file. r=birtles
So that we don't need to include nsStyleStruct.h in gfx any more.

MozReview-Commit-ID: 6nOaAbssLCz

--HG--
extra : rebase_source : 9c195c90277a4584dc14a6949e9eea53bcd8487c
2018-03-08 18:22:45 +09:00
Makoto Kato
4ee4cdc55a Bug 1443088 - Don't use SSE2 flag on non-Intel platform. r=jgilbert
gcc for arm/aarch64 target doesn't allow -msse2 command line option and it
causes option error, not warning.  So it should not add this option for
non-Intel platform.

MozReview-Commit-ID: 9E6SGBMkT94

--HG--
extra : rebase_source : 3bd8d2f11d108c7463134c34f679244e6f4f3531
2018-03-06 14:46:12 +09:00
Ryan VanderMeulen
e468fac775 Bug 1443812 - Update HarfBuzz to 1.7.6. r=jfkthame 2018-03-07 13:29:23 -05:00
sotaro
9ef90362b1 Bug 1441753 - Fix CopyableCanvasRenderer::IsDataValid() r=nical 2018-03-07 08:24:46 +09:00
Nicolas Silva
8cb3e60578 Bug 1442748 - Remove the workaround from 1442608. r=kats 2018-03-06 20:21:13 +01:00
Nicolas Silva
81db82c188 Bug 1442748 - Don't generate frames if we haven't received a display list. r=kats 2018-03-06 20:20:56 +01:00
Kartikaya Gupta
f789357a7c Bug 1436287 - Disable high-frequency intermittent failure until the proper fix is in place. r=botond
MozReview-Commit-ID: KMcKyGrvOCi

--HG--
extra : rebase_source : a1cda66266fb1d82dc306d728e37d7897fcdfb95
2018-03-06 04:33:31 -05:00
Kartikaya Gupta
98952dab6e Bug 1442627 - Stop exporting a few other apz/src headers. r=botond
These were mostly exported because APZCTreeManager included them and now
they don't need to be exported any more.

MozReview-Commit-ID: 8W3vKOvzYW3

--HG--
extra : rebase_source : 8da95a203692ab3a88d37e66071b914682b44f14
2018-03-06 10:25:39 -05:00
Kartikaya Gupta
45d31fa895 Bug 1442627 - Stop exporting APZCTreeManager.h in mozilla/layers/. r=botond
MozReview-Commit-ID: GC5fSWOYtF5

--HG--
extra : rebase_source : e2dfe679595bf9208e082699a99375cd509b66e3
2018-03-06 10:25:39 -05:00
Kartikaya Gupta
b18710abb6 Bug 1442627 - Move static helpers from APZCTreeManager to APZUtils. r=botond
This also includes unified build fixes that were needed as a result of
the shuffling around.

MozReview-Commit-ID: 1AGG3DHnN1m

--HG--
extra : rebase_source : 7399cea6dff2bd91ab305dee22d93b32382cc0be
2018-03-06 10:25:39 -05:00
Kartikaya Gupta
d437c0bee5 Bug 1442627 - Reduce exposure of the APZCTreeManager. r=botond
Callers should be using one of the more specific subinterfaces like
IAPZCTreeManager (for controller-API methods) or APZSampler (for
sampler-API methods). There's also a bunch of android-specific
dynamic toolbar code that uses this function - I don't want to
deal with that right now, so instead of removing it entirely we can just
make it Android-only.

MozReview-Commit-ID: I8DYWLYoFgP

--HG--
extra : rebase_source : 75e05825194f9c6843506bb5d82e1a0c6e2b08bb
2018-03-06 10:25:38 -05:00
Kartikaya Gupta
6107f5de3d Bug 1442627 - Add new APZSampler APIs to set the test scroll offset and zoom. r=botond
MozReview-Commit-ID: DrH1D42jfJx

--HG--
extra : rebase_source : 22c2546a8188c871bf106d5883452a1be32c482e
2018-03-06 10:25:37 -05:00
Kartikaya Gupta
752091f7a7 Bug 1442627 - Switch some call sites in WebRenderBridgeParent to use APZSampler. r=botond
MozReview-Commit-ID: AqtcAyTkcEK

--HG--
extra : rebase_source : dd00ef41c0dc2ca3f8179a217019d964735af320
2018-03-06 10:25:37 -05:00
Kartikaya Gupta
551f604b60 Bug 1442627 - Don't use GetAPZCTreeManager in CrossProcessCompositorBridgeParent. r=botond
Although CrossProcessCompositorBridgeParent still needs to create a
dummy APZCTreeManager of its own in place, we can at least stop it from
grabbing the "real" APZCTreeManager from CompositorBridgeParent, which
allows access to methods that might not be properly guarded with respect
to thread safety.

MozReview-Commit-ID: Btvez3OkFPs

--HG--
extra : rebase_source : a4bec1769ff2fb899bb2e65f99f8e715f9a94c44
2018-03-06 10:25:36 -05:00
Cosmin Sabou
c17d867e25 Merge inbound to mozilla-central. a=merge
--HG--
rename : browser/base/content/tabbrowser.js => browser/modules/AsyncTabSwitcher.jsm
2018-03-06 06:27:48 +02:00
Botond Ballo
084c2d5c2d Bug 1443231 - Another follow-up to fix a debug assertion in the gtest. r=botond
MozReview-Commit-ID: 4p1zurPLCRB

--HG--
extra : rebase_source : 078b5aa8d558bc2c8bdd13ebe142706287c8123b
2018-03-05 17:00:46 -05:00
Botond Ballo
1b4474359e Bug 1443231 - Follow-up to fix warning-as-error on Windows (CLOSED TREE). r=botond
MozReview-Commit-ID: 52PVwcjRVu3

--HG--
extra : rebase_source : 1c2b39bdcce30f47d1b675615a35c4573556459e
2018-03-05 16:38:17 -05:00
Cosmin Sabou
ed1b2a8736 Backed out 4 changesets (bug 1437167) for build bustages on nsUpdateDriver.cpp and WindowsMessageLoop.cpp on a CLOSED TREE.
Backed out changeset b98740e7c639 (bug 1437167)
Backed out changeset 4476e8f51fa6 (bug 1437167)
Backed out changeset c79dc40faa41 (bug 1437167)
Backed out changeset b608d2dcbb86 (bug 1437167)
2018-03-06 00:09:46 +02:00
Jonathan Kew
195f35adee Bug 253143 - Do not add letter-spacing after zero-width format controls such as ZWSP. r=jwatt 2018-03-05 21:57:57 +00:00
Jonathan Watt
88c85e4536 Bug 499025 - Don't open an error pop-up if the user cancels printing. r=bobowen
This fixes PrintTargetWindows::BeginPrinting to detect when the
user cancels and have it return NS_ERROR_ABORT in that case.

The rest of the changes are simply making sure that the various
call points up the call stack don't print a warning message if
NS_ERROR_ABORT is returned up from
PrintTargetWindows::BeginPrinting.

MozReview-Commit-ID: 6xZ5SPje6TT
2018-02-06 20:14:47 +00:00
Nika Layzell
68cee68ee8 Bug 1440511 - Part 9: Correct serialization and deserialization of arrays of Shmem objects, r=froydnj
MozReview-Commit-ID: KEFduw2Pn8r
2018-03-05 16:00:03 -05:00
Nika Layzell
69042a522a Bug 1440511 - Part 8: Include ParamTraits impls which are used in ipdlh files, r=froydnj
MozReview-Commit-ID: 9AfzlhyTgsY
2018-03-05 16:00:03 -05:00
Nika Layzell
262be91f75 Bug 1437167 - Part 1: Stop using PRIntervalTime as the argument to CondVar::Wait and Monitor::Wait, r=mstange, r=froydnj
MozReview-Commit-ID: BN18I8Q6c7S
2018-03-05 16:00:00 -05:00
Nathan Froyd
062f6d980e Bug 1443236 - remove static init and shutdown nsRegion routines; r=kats
These routines are no-ops; let's get rid of them.
2018-03-05 14:06:50 -05:00
Kartikaya Gupta
395eaf8c66 Bug 1448490 - Make the layers id a struct instead of a uint64_t. r=mattwoodrow
The new struct is in LayersTypes.h, all the rest of the changes are just
replacing existing uint64_t instances with the new LayersId struct.

Note that there is one functional change, in
CompositorBridgeParent::DeallocPWebRenderBridgeParent, where we now
correctly convert the PipelineId to a LayersId before using it to index
into sIndirectLayerTrees, whereas before we were incorrectly just using
the mHandle part of the PipelineId.

MozReview-Commit-ID: GFHZSZiwMrP

--HG--
extra : rebase_source : d2b274f63aaee2ee9bba030297e0a37a19af0d6c
2018-03-24 19:06:01 -04:00
Kartikaya Gupta
1d52de6949 Bug 1444380 - Update webrender to commit 4ccaede43b3944199f89a42f49093d93409c7f61. r=jrmuizel
MozReview-Commit-ID: EBYITOhYdGz

--HG--
extra : rebase_source : 4585cae0dd67bfc570d67b76656961f3d778b87d
2018-03-12 12:55:25 -04:00
Jeff Muizelaar
9cc13080c9 Bug 1447834. Remove gfxContext::CurrentPoint. r=mstange
MozReview-Commit-ID: 8QEFG5aSPZY

--HG--
extra : rebase_source : 147ea86d0ffa711a249149e4dff5ffd6b9f59558
2018-03-21 18:54:32 -04:00
Kartikaya Gupta
44813a9cf7 Bug 1447286 - Update for API changes in WR PR 2555. r=jrmuizel
MozReview-Commit-ID: CEhcf8PlOp4

--HG--
extra : rebase_source : 56f9a4b42974825cbbdf16296313315f8d5d4cc9
2018-03-22 10:29:02 -04:00
Kartikaya Gupta
f30afee346 Bug 1447286 - Add dummy callback implementation for API change in WR PR 2550. r=jrmuizel
MozReview-Commit-ID: 4nGoyNIFCFf

--HG--
extra : rebase_source : 7da8b5bfb604bba03992c023936fd65ad4a4eb79
2018-03-22 10:28:46 -04:00
Kartikaya Gupta
c87aa15000 Bug 1447286 - Update webrender to commit 30cfecc343e407ce277d07cf09f27ad9dd1917a1. r=jrmuizel
MozReview-Commit-ID: BLqZiOeNLt

--HG--
extra : rebase_source : ca7966e2a1437ec67e45ac4b4589e3a04c6de363
2018-03-22 10:27:18 -04:00
Kartikaya Gupta
8831866d46 Bug 1448490 - Follow-up to fix compilation of disabled-by-default logging. r=me and DONTBUILD
MozReview-Commit-ID: CQhx0Ty5tKw
2018-03-28 06:31:03 -04:00
Jeff Muizelaar
a82971be10 Bug 1449958. Properly inherit scale and transform if there's no new transform. r=kats
In bug 1447185 we end up drawing at very high resolution because the scale factor getting reset to 1.

MozReview-Commit-ID: IdipkU0jWCG

--HG--
extra : rebase_source : 8d6d693d54a49fcd772df2279aad83a69d084198
2018-03-29 11:00:39 -04:00