Commit Graph

29714 Commits

Author SHA1 Message Date
Jeff Muizelaar
c9d72fab40 Bug 1453090. Don't PopClip on a different DT. r=jrmuizel
Make sure we PushClip on the same DT as we PopClip

--HG--
extra : rebase_source : 9ddc864f86582410597c82b36190827341c146a3
2018-04-11 10:27:12 -04:00
sotaro
35982d6737 Bug 1452901 - Schedule generate frame r=nical 2018-04-11 11:34:25 +09:00
arthur.iakab
bbca7c7700 Merge mozilla-central to inbound 2018-04-11 01:17:20 +03:00
Nika Layzell
0c3ba13e4c Bug 1437167 - Part 1: Stop using PRIntervalTime as the argument to CondVar::Wait and Monitor::Wait, r=mstange, r=froydnj 2018-04-10 17:49:47 -04:00
Lee Salzman
dc3fc2506c Bug 1450814 - generic implementation of DrawTarget::Blur using LockBits. r=rhunt
MozReview-Commit-ID: 2jROASoiPQd
2018-04-10 16:46:32 -04:00
Robert Longson
36466d75ed Bug 1451066 - One t in detach r=jmuizelaar
--HG--
extra : rebase_source : 00669d1975e41963a2dc030d76c7edf78fcd1593
2018-04-03 10:54:00 +03:00
Jeff Muizelaar
0d0e71fde6 Bug 1451458. Make sure we always clear items on size change. r=mstange
This changes the code around mFollowing group size changes to match
the code in DoGroupingForDisplayList. Specifically, it makes sure
we always ClearItems() on size changes even if we don't have a key.

--HG--
extra : rebase_source : 2063974082862906a2831bdd76ac86871ee3dbc3
2018-04-11 13:06:04 -04:00
Gurzau Raul
df79f362f0 Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-04-10 19:56:38 +03:00
Kartikaya Gupta
97a6b6003c Bug 1449982 - Conceptually split the mUpdaterQueue into separate queues per layers id. r=botond
This allows us to treat tasks from different layers id as independent,
thereby removing the unnecessary latency increase as described in bug
1449982 comment 33.

Note that we could probably implement this by actually maintaining
separate queues for each layers id, but that involves more overhead
since we would need to have a map from layers id to task queue, and
removing entries from that map becomes tricky with respect to locking
and timing.

MozReview-Commit-ID: 7jtYqNDwJqP

--HG--
extra : rebase_source : d55fa2c20c5e78a330033dcf049d5cc468024bb0
2018-04-10 12:30:01 -04:00
Kartikaya Gupta
c113f26ef7 Bug 1449982 - Hook up epoch-based task processing on the updater thread. r=botond,nical
This makes it so that we only process a UpdateHitTestingTree task (and any
tasks queued after it) once we know that the corresponding scene has
been built and swapped in by WebRender. This ensures that processing of
APZ data stays in sync with the active scene in WR.

The way we do this is by tracking the "epoch" (which is updated per
WR/layers transaction) that the APZ messages are based on. Only once the
scene for that transaction is swapped in do we process those messages.

MozReview-Commit-ID: 2qGTSTeSqve

--HG--
extra : rebase_source : fb4cb0df3970213d01e21a792957ad22771a0637
2018-04-10 12:30:01 -04:00
Kartikaya Gupta
bcf81a1fe2 Bug 1449982 - Move the WebRenderScrollData storage from WebRenderBridgeParent to APZUpdater. r=botond
This allows us to easily store a handle to the APZUpdater on the
WebRenderScrollDataWrapper class and walk around in the scroll data tree
without having to query other classes like CompositorBridgeParent or
WebRenderBridgeParent when we encounter a reflayer boundary.

MozReview-Commit-ID: 6l7oMb7tBlW

--HG--
extra : rebase_source : d21b64317eaf40f743fb7354b3292ab0f54a6d05
2018-04-10 12:29:56 -04:00
Kartikaya Gupta
cee3af0c5e Bug 1449982 - Clean up WrEpoch usage. r=nical
I don't know why we keep using plain uint32_t and uint64_t values when
we have better types that we can use. This makes the code use and store
wr::Epoch natively instead of raw uint32_t values that are wrapped
on-demand.

MozReview-Commit-ID: HUVcHYSxBTi

--HG--
extra : rebase_source : 9e8f367f864483a65273cbbeb1168587841279f0
2018-04-10 12:29:56 -04:00
Kartikaya Gupta
9c2db3f2e5 Bug 1449982 - Add the task queue for running things on the updater thread. r=botond
If we're using the WR scene builder thread as the updater thread, we
cannot just post a task to its message loop, because it's a rust thread
that doesn't have a message loop. Instead, we put these tasks into a queue
that we will process in callbacks that are invoked from the updater
thread.

This patch just adds the basic queue machinery, it will get more
complicated in a future patch because we need to gate the tasks to make
sure they don't run too early.

MozReview-Commit-ID: 8DCYbsQ5cBC

--HG--
extra : rebase_source : 7081fb187436451b0c9d654f2e31c486d25924d7
2018-04-10 12:29:55 -04:00
Kartikaya Gupta
4bffc1c061 Bug 1449982 - Implement the WR updater thread registration. r=botond
This lets the APZUpdater know which thread is the actual updater thread.
This is only really used for the thread assertions, but might be useful
for debugging and such as well.

MozReview-Commit-ID: IIDm6Ui3Sh4

--HG--
extra : rebase_source : 575ba6c0c5d56276743e81e738e73e7672e08367
2018-04-10 12:29:55 -04:00
Kartikaya Gupta
fde6e769ba Bug 1449982 - Add the plumbing for scene builder thread interaction. r=nical
This is all the (bidirectional) glue that connects the SceneBuilderHooks
to the APZUpdater.

MozReview-Commit-ID: JIqUaClVa57

--HG--
extra : rebase_source : c6da81e63793570f79cdfa153f6d33d2ac05bdf6
2018-04-10 12:29:55 -04:00
Kartikaya Gupta
4a07281ed3 Bug 1449982 - Introduce pref to control async scene building. r=nical
Until all the pieces are in place, turning on this pref will probably
break horribly. But we need the pref so we can add the rest of the
pieces without enabling them by default.

MozReview-Commit-ID: 7DkcwZgXwhx

--HG--
extra : rebase_source : e1fdef2e9a682028df524f51f767a4d2187410b1
2018-04-10 12:29:55 -04:00
Kartikaya Gupta
7dd62afca0 Bug 1449982 - Maintain a map from WrWindowId to APZUpdater. r=botond
This will allow callbacks from rust code to get a handle to the
necessary APZUpdater instance on which to invoke functions.

MozReview-Commit-ID: 13XdzZrrtI5

--HG--
extra : rebase_source : 137af2a4c738a6e9294972be9e0566c9fdef58ac
2018-04-10 12:29:55 -04:00
Kartikaya Gupta
164909dbed Bug 1449982 - Move the window id allocation to CompositorBridgeParent. r=nical
This includes a signature change from CompositorBridgeParentBase ->
CompositorBridgeParent which is not strictly required, but it makes it less
likely that we'll accidentally create a WebRenderAPI from somewhere else
and pass a nonsense window id. In effect, the signature change makes it
likely that only CompositorBridgeParent will allocate the window ids.

MozReview-Commit-ID: 8AnnmI8RytR

--HG--
extra : rebase_source : 6fd957c4a9e5bb2175bee2cc89f7eb6d27a6bc9e
2018-04-10 12:29:55 -04:00
Kartikaya Gupta
42eff13cf2 Bug 1449982 - Don't hold the sIndirectLayerTreesLock unnecessarily while notifying APZ of a layer tree removal. r=botond
MozReview-Commit-ID: 2OqbmMHCxn9

--HG--
extra : rebase_source : ec94523ba6d56a0c9cbfe3bf1a35bfaf2ba4687c
2018-04-10 12:29:54 -04:00
Miko Mynttinen
497d73ffdc Bug 1452791 - Update WebRenderLayerManager mAnimationReadyTime in empty transactions r=kats
MozReview-Commit-ID: 898pemO7YxO

--HG--
extra : rebase_source : d9f51ae6455bb633374d0752b0c73f6ef960ba9a
2018-04-10 16:07:48 +02:00
Kartikaya Gupta
b3befc287a Bug 1453463 - Update existing code to be more efficient by using the new map. r=botond
This updates existing bits of code (notably one of the GetTargetAPZC
methods) to use the new map for more efficient lookups. Places that
used GetTargetNode with a presshell-ignoring comparator can now use
GetTargetAPZC as well.

MozReview-Commit-ID: GFjO6KigVop

--HG--
extra : rebase_source : 336a7118927bd6c3f0e4edaf15770afb1f6602a9
2018-04-16 09:33:08 -04:00
Kartikaya Gupta
10a405ffe9 Bug 1453463 - Keep an APZC map on APZCTreeManager. r=botond
We are already building an almost-what-we-want map in the
TreeBuildingState, so I modified to be exactly what we want, and then
just move it to the APZCTreeManager once the tree build is done.

MozReview-Commit-ID: 40RVwYv93wR

--HG--
extra : rebase_source : 118b28dfb796f8153d07dfb356eb45a0d8298c8d
2018-04-16 09:33:08 -04:00
Kartikaya Gupta
5d85aede20 Bug 1453463 - Refactor to make unordered_maps with guid keys a little cleaner. r=botond
This is mostly just moving the existing hash function and introducing
additional helpers to create maps with presshell-ignoring guid keys. We
can use this in one place trivially so I did that as well.

MozReview-Commit-ID: G8nMS1PECT4

--HG--
extra : rebase_source : 4f34da9db77f7ec4b7e5ebaeccd532c8f8c92283
2018-04-16 09:33:07 -04:00
Csoregi Natalia
2b084713ed Merge inbound to mozilla-central. a=merge 2018-04-10 12:56:48 +03:00
Markus Stange
f0fdc9bdc6 Bug 1449641 - Always use mDrawTarget when merging the buffered region into the window DrawTarget. r=sotaro
If we have a non-null mTarget, we already set mDrawTarget to mTarget. So "mTarget ? mTarget : mDrawTarget" will always evaluate to mDrawTarget.

MozReview-Commit-ID: BlGYEdlL50Q

--HG--
extra : rebase_source : 214baea43d160c85d06cc11931c1c10d9a6ae4d2
2018-03-28 13:23:35 -04:00
Markus Stange
56547dba64 Bug 1449641 - Remove extraneous "if (mRenderTarget->mDrawTarget != mDrawTarget)". r=sotaro
The same condition is checked just before this if, so it's always true.

MozReview-Commit-ID: 9Vscnkz7AoY

--HG--
extra : rebase_source : d4209c6eb3963762c76a7dc4e1344147ae63f71a
2018-03-28 13:13:03 -04:00
Markus Stange
8ce851058b Bug 1449641 - Use the correct parameter when computing the clear rect. r=sotaro
This was incorrectly using the invalid rect, so it was clearing more than
necessary and not taking advantage of the opaque region that the caller computes.
The idea is that we don't need to clear parts of the invalid region that will be
covered by something opaque.

MozReview-Commit-ID: LhEkVUMnjC9

--HG--
extra : rebase_source : 97e0124684fbe6f3231795abf0591d25db0768db
2018-03-28 13:11:44 -04:00
Andreea Pavel
26f640b36b Backed out 4 changesets (bug 1366808) for Windows GPU leakchecks on a CLOSED TREE
Backed out changeset 23f60e5acaa2 (bug 1366808)
Backed out changeset bf2262b6aca8 (bug 1366808)
Backed out changeset 1fc82af3a155 (bug 1366808)
Backed out changeset 0649f0d9884b (bug 1366808)
2018-04-10 05:11:36 +03:00
Daniel Zielas
471ef50beb Bug 1420512 - Try unifying data structures for scrollbar container and scrollbar thumb info. r=botond
MozReview-Commit-ID: 9zPkrA3CwsN

--HG--
extra : rebase_source : b52bef52576558f03afc65120a40a5312ae7eba3
2018-03-02 19:00:03 +01:00
Stephen A Pohl
b40a23754c Bug 1366808: Properly detect buildID mismatches between parent and child processes and display about:restartrequired to prompt the user to restart Firefox before proceeding. r=jimm,felipe,bz 2018-04-09 20:16:31 -04:00
Andreea Pavel
0724b513f9 Merge mozilla-central to mozilla-inbound. a=merge on a CLOSED TREE 2018-04-10 00:58:54 +03:00
Olli Pettay
a2485252b4 Bug 1452751 - add a pref to control whether to default to passive touch listeners on window/document/documentElement/body , r=kats
--HG--
extra : rebase_source : ba015d60e7ab7da183048dc59dfb0fe42930df6d
2018-04-09 23:43:17 +03:00
Noemi Erli
b55e1a1cbc Merge inbound to mozilla-central. a=merge 2018-04-09 19:46:07 +03:00
Kartikaya Gupta
8d337fa65b Bug 1451453 - Update for API change in WR PR 2613. r=jrmuizel
MozReview-Commit-ID: DbVj132MFri

--HG--
extra : rebase_source : 3ef6251547e9c2c495fcb955c9c4ab63ce63bad9
2018-04-09 08:27:16 -04:00
Kartikaya Gupta
a95486dbd8 Bug 1451453 - Update for API change in WR PR 2600. r=jrmuizel
MozReview-Commit-ID: H5NL0Zmk9Vq

--HG--
extra : rebase_source : 6d8dd0067b58b1258587972ca88b323466561c15
2018-04-09 08:27:16 -04:00
Kartikaya Gupta
9905a5d165 Bug 1451453 - Update webrender to commit 092ada1154b72fe71d2f227a5df0239586d2323a. r=jrmuizel
MozReview-Commit-ID: 9djydrUnoWq

--HG--
extra : rebase_source : 24f1aaee32e64453daebc237e48c08804531b59e
2018-04-09 08:26:07 -04:00
Jonathan Watt
52623f7cef Bug 1452466 - Get rid of gfxFontStyle::ComputeWeight. r=jfkthame 2018-04-09 10:39:17 +01:00
Jonathan Watt
ef1290712d Bug 1452170 follow-up - Fix Windows unified build bustage by adding missing AutoRestore.h includes. r=me on CLOSED TREE 2018-04-09 10:21:42 +01:00
Kartikaya Gupta
efcb51ab74 Bug 1452601 - Drop LayersId::EqualFn as it is unnecessary. r=botond
It's not needed, because by default std::unorderd_map will use
std::equal_to which delegates to the operator== on LayersId which does
the same thing. We don't need to reimplement it.

MozReview-Commit-ID: CLJO2JJfbF4

--HG--
extra : rebase_source : c8f5c254f00ab5e96c5d6e140534465c5a52c5af
2018-04-09 08:29:55 -04:00
Lee Salzman
a90ccf8ea5 Bug 1448703 - log WR blob image font deletions for debugging. r=jrmuizel
MozReview-Commit-ID: FwpfhKjIpfm
2018-04-08 21:31:16 -04:00
Noemi Erli
eb61878455 Merge inbound to mozilla-central. a=merge 2018-04-07 00:55:15 +03:00
Jonathan Kew
309329c3c0 Bug 1450209 - Avoid use of CTFontGetAdvancesForGlyphs with variation fonts due to possible Core Text crash. r=mstange 2018-04-06 19:44:05 +01:00
Kartikaya Gupta
dcb1009794 Bug 1449287 - Remove obsolete compositor animation telemetry probes. r=botond
MozReview-Commit-ID: 7zFtemtGIAx

--HG--
extra : rebase_source : e9bcf9bebf9b10151a8618882a706707c28d5bda
2018-04-05 14:55:32 -04:00
Ted Campbell
ce6621e562 Bug 1451878 - Add memory reporting for gfxDWriteFontFileLoader. r=lsalzman
MozReview-Commit-ID: 9EBXTiNfRrA
2018-04-06 12:44:07 -04:00
Andrew Osmond
679c14a9c4 Bug 1388020. r=nical 2018-04-06 09:01:17 -04:00
Andreea Pavel
eed7d2803f Merge mozilla-central to autoland. a=merge on a CLOSED TREE 2018-04-06 17:54:45 +03:00
Kartikaya Gupta
fce60f9567 Bug 1419851 - Handle OMTA throttling for webrender. r=jrmuizel
Original patch by Ethan Lin <ethlin@mozilla.com>.

MozReview-Commit-ID: AAIaskIsz9x

--HG--
extra : rebase_source : 879144b98467f47867d66f2806d7d31dbcf2bc7b
2018-04-06 10:06:54 -04:00
Alexis Beingessner
0494a7c88a Bug 1451102 - roundout blobimage bounds and use that result consistently. r=jrmuizel
MozReview-Commit-ID: A9LLJnlOUjt

--HG--
extra : rebase_source : b66481965a17004907aeadf9ff5e0594400a2d5a
2018-04-06 23:09:25 -04:00
Bas Schouten
994ab9fbd6 Bug 1440753: Replace pixman regions with our own region code. r=mattwoodrow
MozReview-Commit-ID: KPsTAw3Uwa2
2018-03-09 05:27:15 +01:00
Jeff Muizelaar
228407bcf0 Bug 1451761. Only paint the dirty rect. r=mstange 2018-04-05 15:00:47 -04:00
Lee Salzman
3ffd2fdb72 Bug 1451845 - use SkCanvas layer clip image for DrawTargetSkia::PushLayer mask. r=jrmuizel
MozReview-Commit-ID: BwkwiorvmVY
2018-04-05 14:57:11 -04:00
Lee Salzman
ff2a78845b Bug 1448667 - use ColorMatrix effect instead of LuminanceToAlpha effect for DrawTargetD2D1::IntoLuminanceSource. r=bas
MozReview-Commit-ID: LHbSiFBx6HK
2018-04-05 14:07:18 -04:00
Jonathan Kew
c66fb1e660 Bug 1451296 - Make enabling of font-variation-settings and font-optical-sizing properties dependent on adequate platform support at runtime. r=lsalzman 2018-04-05 18:53:56 +01:00
Boris Zbarsky
a0b6e32bba Bug 1449631 part 12. Remove the Nullable smuggling from nsIDOMEventTarget. r=smaug
MozReview-Commit-ID: 73qhRSCpr3S
2018-04-05 13:42:42 -04:00
Botond Ballo
441707aee4 Bug 1449738 - Enable helper_hittest_backface_hidden.html for WebRender. r=kats
MozReview-Commit-ID: 827paBjv4JX

--HG--
extra : rebase_source : 4974049791088d7244b70dfae19ba1b4e81f49fd
2018-03-28 14:56:52 -04:00
Noemi Erli
f4d2c09aba Backed out changeset c9db3f332a19 (bug 1440753) for content sometimes not being rendered (bug 1451597). a=backout 2018-04-05 13:15:35 +03:00
Noemi Erli
ff466e94c1 Merge inbound to mozilla-central. a=merge 2018-04-05 13:02:11 +03:00
sotaro
009c31f3fd Bug 1449086 - Always call WaitFlushed() in WebRenderBridgeParent::FlushRendering() r=kats 2018-04-05 11:07:54 +09:00
Jeff Muizelaar
a3330d16d6 Bug 1450162. Correctly merge in the presence of reorderings. r=mstange
Previously we were assuming that we'd always get the display list in
a canonical ordering. With retained display lists this assumption is false.
2018-04-04 19:04:17 -04:00
Jeff Muizelaar
eb32c7230c Bug 1450162. Use an Entry type instead of tuples. r=mstange
This will make things a bit cleaner when interacting with the upcoming cache.
2018-04-04 19:04:16 -04:00
Ryan Hunt
38a7560378 Bug 1450307 - Paper over a crash in WebRenderCommandBuilder::GenerateFallbackData. r=kats
--HG--
extra : rebase_source : 0423b6dd01a39118b35e399f2af3bf190c6ff9c4
extra : amend_source : 256fc6ea4e213546be4ae909c63d90037c2e6d57
2018-04-04 14:45:34 -05:00
Olli Pettay
abe47d910c Bug 1449268 - Treat document-level touch event listeners as passive, r=kats
--HG--
extra : rebase_source : 0ea948a612dfbd46b80b52985f96685b012e0079
2018-04-04 19:19:54 +03:00
Botond Ballo
02b381dff1 Bug 1450099 - Only enter the SCROLLBAR_DRAG state if the scrollbar thumb is clicked. r=kats
MozReview-Commit-ID: HkNvYQP0KqC

--HG--
extra : rebase_source : a70141743169f36666a08582a4a12c47cd18bb45
2018-04-04 16:29:57 -04:00
Botond Ballo
28afde2e13 Bug 1450099 - Add a fast-path to FindScrollThumbNode() for when the drag metrics has not been initialized. r=kats
MozReview-Commit-ID: IGhP2KW9WC

--HG--
extra : rebase_source : b3d77febfb9bcbf03ae821147e8301b09e00d8f2
2018-04-04 16:36:01 -04:00
Narcis Beleuzu
6dda0f4a39 Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-04-05 01:07:43 +03:00
Kartikaya Gupta
7f1e850080 Bug 1449562 - Update webrender to commit 941bf5ac998061689a1bcd18d417f1f315e41ae6. r=jrmuizel
MozReview-Commit-ID: 88ia1A1Dyhq

--HG--
extra : rebase_source : db4fc1e00eed8bdb20f0316e47d79d27bc28e322
2018-04-04 15:21:50 -04:00
David Major
b3e88506ef Bug 1422368: Use intrinsics-based YUV functions from Win64 under Win32 clang-cl. r=jrmuizel 2018-04-04 08:41:36 -04:00
Margareta Eliza Balazs
ca277b407b Merge mozilla-central to inbound. a=merge CLOSED TREE 2018-04-04 12:51:48 +03:00
Margareta Eliza Balazs
210797c4c1 Merge inbound to mozilla-central. a=merge 2018-04-04 12:43:55 +03:00
sotaro
a48894473a Bug 1448720 - Add UpdateBias handling in WebRenderImageHost r=nical 2018-04-04 18:41:19 +09:00
Jonathan Kew
ee9b08a330 Bug 1341088 - Enable validation of opentype variation tables in downloadable fonts, and replace the keep_variation_tables pref with validate_variation_tables (default=true). r=jrmuizel 2018-04-04 10:08:05 +01:00
Jonathan Kew
9b24234052 Bug 1341088 - Update OTS to upstream rev. 63ff19f4a8, which includes support for variation tables. r=jrmuizel 2018-04-04 10:08:05 +01:00
sotaro
807f25f7be Bug 1438456 - Add GLLibraryEGL::CreateDisplay() r=jgilbert 2018-04-04 09:38:42 +09:00
Ciure Andrei
5ffac2bcd3 Merge mozilla-central to mozilla-inbound. a=merge CLOSED TREE 2018-04-04 00:58:50 +03:00
Ciure Andrei
7208a2fee8 Merge inbound to mozilla-central. a=merge 2018-04-04 00:54:16 +03:00
Jeff Muizelaar
57b24cd272 Bug 1451099. Avoid expensive debugging matrix transform. 2018-04-03 16:07:28 -04:00
Jeff Muizelaar
136be180bf Bug 1450249. blob-invalidation: Round the bounds. r=mstange
This fixes a number of reftest failures.

--HG--
extra : rebase_source : 70b934e9abadded46d1ef8a08d76e69a3e420852
2018-03-29 18:26:48 -04:00
Ciure Andrei
b861d14e56 Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-04-04 00:56:56 +03:00
Bas Schouten
6cee50b1b0 Bug 1440753: Replace pixman regions with our own region code. r=mattwoodrow
MozReview-Commit-ID: KPsTAw3Uwa2
2018-03-09 05:27:15 +01:00
Cosmin Sabou
eb23be2903 Backed out 2 changesets (bug 1450307) for reftest failures on fieldset-columns-001.html. CLOSED TREE
Backed out changeset 9436102afb18 (bug 1450307)
Backed out changeset aa8bcc37d888 (bug 1450307)
2018-04-04 20:50:00 +03:00
Ryan Hunt
0ba1c0fc98 Bug 1450307 - Round scaled paint size instead of paint bounds in GenerateFallbackData. r=jrmuizel
A component of dtSize could be zero because RoundedToInt(rect).Size() is not the same as
RoundedToInt(rect.Size()). The size after rounding might be zero, even if the rounded size
is not zero. For example with x0=0.5, x1=1.1.

MozReview-Commit-ID: 3NeBMAVD5ub

--HG--
extra : rebase_source : a241b10aa6e1e788691cfb7ac412fe5073257c81
extra : amend_source : 8d55d933c021b77463eb6c4fe0a2503fc9bf78d7
2018-04-02 17:07:04 -05:00
Jan Henning
b1dce09642 Bug 1281907 - Part 2 - Add reftest for scrollbars with pinch-zooming. r=botond
MozReview-Commit-ID: K7YoEPQLJzU

--HG--
extra : rebase_source : 370eb97fd04384df4f8d7e9bdbc64ff42b89fb57
2018-04-01 17:40:04 +02:00
Jan Henning
e920ec0ec7 Bug 1281907 - Part 1 - Include zoom level compensation in clip transform passed to caller. r=botond
If we don't do that, in the case of a root scrollbar the clip transform passed
to our caller will incorrectly be scaled with the current content resolution.
This means that that the position of the clip rect won't match the actual
position of the scrollbar if the resolution isn't ~1.0, so the scrollbars will
be clipped out of existence when the content is (pinch-) zoomed in or out.

MozReview-Commit-ID: 5yXa9EpTJ2g

--HG--
extra : rebase_source : 88c3b5a8613a3d6ef0c753116ebf9efe9ffc0022
2018-03-24 21:27:06 +01:00
Lee Salzman
0626b8ac56 Bug 1442669 - guard against excessively large glyphs in SkFontHost_cairo. r=jfkthame
MozReview-Commit-ID: 1X2524Q5K8E
2018-04-02 20:21:21 -04:00
Jeff Muizelaar
482fb13afc Bug 1450346. Properly initialize mAppUnitsPerDevPixel. r=mstange
--HG--
extra : rebase_source : 67d4987a7b98230daec2e9b7a07e9a22e9de7a41
2018-03-30 16:24:13 -04:00
Jeff Muizelaar
3226ae42c8 Bug 1454713. WebRenderUserData: Drop unnecessary T::Type() check. r=kats
Now that WebRenderUserData's a keyed on T::Type() we don't need to check it
after doing the lookup.

--HG--
extra : rebase_source : e20db22489b7689a241a79d2d74a54a220a60e3f
2018-04-17 13:52:45 -04:00
Ryan Hunt
f8901aa7a0 Bug 1450255 - Don't reset the TextureSource when uploading tiles with advanced layers. r=nical
LayerManagerMLGPU does not have a compositor so this line will force the TextureHost to
reupload the buffer later in this function when the TextureSource is set correctly.

--HG--
extra : amend_source : 57f41549565cf770c98ace6d49460d21468568a7
2018-04-02 13:35:50 -05:00
Emilio Cobos Álvarez
edd18bcc35 Bug 1420680: Remove the user font cache generation, which is also unused now. r=jfkthame
MozReview-Commit-ID: HuQg4RopOmX
2018-04-03 16:22:56 +02:00
Emilio Cobos Álvarez
a4433a4de8 Bug 1420680: Rework how the loadability of font-faces is computed. r=jfkthame,bz
This reworks bug 1440561 so that we only precompute loads that belong to our
user font set, avoiding messing up with fonts in the cache that belong to other
pages.

The loadability of a font is precomputed in PreTraverse in the same way as we
did, but only for the fonts that we may end up loading. This is stored in
FontFaceSet now.

Also, the principal shenanigans that this code did are reworked to be explicit
about when the document principal changes in ResetToURI, instead of having a
member around and a mutable variable. This makes the code easier to follow.

MozReview-Commit-ID: 9ofTbaLDUF7
2018-04-03 16:22:43 +02:00
sotaro
2cc8bd0a21 Bug 1426199 - Relax ASSERT checks r=nical 2018-04-03 18:25:36 +09:00
smswessem
3814c98b00 Bug 1358240 - Replace EmojiOne with Twemoji, r=jfkthame, timdream
--HG--
extra : rebase_source : cb1d370dc4fbff33f6022acf393126e0965089de
2018-03-08 18:23:19 -06:00
Jeff Muizelaar
5e6369829c Bug 1450403. blob-invalidation: hookup paint flashing. r=mstange
--HG--
extra : rebase_source : 70c84041e3987677c40ce617d442d1ea36b86b1a
2018-03-30 22:01:10 -04:00
sotaro
fffbf4515b Bug 1450212 - Change CompositorWindow creation and destruction timing r=nical 2018-03-31 07:48:27 +09:00
Botond Ballo
257491c121 Bug 1449746 - Make helper_hittest_backface_hidden.html more robust. r=kats
MozReview-Commit-ID: J0GH58j3X6U

--HG--
extra : rebase_source : f1764396de82d583a087fe6cd27a5c11944d5121
2018-03-29 23:16:31 -04:00
Jeff Muizelaar
7bd5060424 Bug 1450134. Replace ToRelativeLayoutRect() with ToRoundedLayoutRect(). r=kats
This function doesn't use any StackingContextHelper state anymore.
We should make what it does clearer and move it to a better place.

--HG--
extra : rebase_source : 1727be9657169547d842ec9b6887837abedbefdf
2018-03-29 17:57:43 -04:00
Jeff Muizelaar
04e6e86d0f Bug 1450134. Remove ToRelativeLayoutPoint(). r=kats
It's completely unused.

--HG--
extra : rebase_source : 235f41e637502a7d44292faea4b003e60c460dcb
2018-03-29 17:57:00 -04:00
shindli
3bfd0c07fd Merge inbound to mozilla-central. a=merge 2018-03-30 12:56:21 +03:00
Botond Ballo
f733b4a04e Bug 1449759 - Add an APZ mochitest for bug 1443518. r=kats
MozReview-Commit-ID: 1t6wpYo9n3P

--HG--
rename : gfx/layers/apz/test/mochitest/helper_hittest_subframe_float.html => gfx/layers/apz/test/mochitest/helper_hittest_float_bug1434846.html
extra : rebase_source : 11d9a120f1b1fdd841a7e7cb59b92975e08205df
2018-03-28 18:04:32 -04:00
Ciure Andrei
c38c8d3b28 Merge mozilla-central to mozilla-inbound. a=merge CLOSED TREE 2018-03-30 01:11:06 +03:00
Ciure Andrei
5d841a3421 Merge inbound to mozilla-central. a=merge 2018-03-30 01:06:18 +03:00
Jonathan Kew
c2f3f60125 Bug 1430820 - Cache any required feature-modified Core Text font instances in gfxCoreTextShaper, rather than re-creating them for each shaping call. r=jrmuizel 2018-03-29 21:53:55 +01:00
Jeff Muizelaar
f5e6030779 Bug 1447076. Don't accept blob images that don't have any area. r=kats
MozReview-Commit-ID: AZHOPQF3hmm
2018-03-29 15:05:54 -04:00
Dorel Luca
eb1ea97541 Merge mozilla-central to mozilla-inbound 2018-03-29 12:57:29 +03:00
Dorel Luca
57bbc1ac58 Merge mozilla-inbound to mozilla-central. a=merge 2018-03-29 12:50:33 +03:00
Gurzau Raul
8d268c6ce7 Merge mozilla-central to inbound. a=merge CLOSED TREE
--HG--
rename : toolkit/components/extensions/ext-permissions.js => toolkit/components/extensions/parent/ext-permissions.js
2018-03-29 01:00:42 +03:00
Gurzau Raul
d117255a14 Merge inbound to mozilla-central. a=merge 2018-03-29 00:55:16 +03:00
Andrew Osmond
9fdad4e863 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-28 12:58:49 -04:00
Ryan Hunt
2be42a45f6 Bug 1448485 - Remove assert in APZCallbackHelper and add comment about case it was triggered by. r=kats
MozReview-Commit-ID: IbXNISatv3Q

--HG--
extra : rebase_source : d88637454e58be5c18a1fa1dc0588a04eddc274c
2018-03-27 16:16:26 -05:00
Ryan Hunt
c371c4f33a Check if FilterNodeCapture was able to successfully validate (bug 1447428, r=bas)
--HG--
extra : rebase_source : e236b64a6733cddfb43caf83373dc8e874bcfb42
2018-03-26 12:48:57 -05:00
David Major
2c5d006825 Bug 1298383: Add default cases to appease clang-cl's -Wswitch. r=Bas 2018-03-28 09:56:30 -04:00
Nicolas Silva
b9c3c7eeb7 Bug 1449242 - Don't delay image key deletions by an extra transaction. r=sotaro 2018-03-28 15:33:21 +02:00
Kartikaya Gupta
d6673c9aad Bug 1449620 - Extract an APZUpdater class from APZSampler. r=botond
The APZUpdater class holds the methods that are to be run on the updater
thread. Note that there are a few differences between the APZSampler and
APZUpdater classes - most notably, APZSampler no longer has a
"RunOnSamplerThread" function because there should never be any need to
dispatch runnables to the sampler thread. There is still a
RunOnUpdaterThread in APZUpdater, as well as a mechanism for dispatching
runnables to the controller thread via the updater thread.

MozReview-Commit-ID: LLVWzRyhYWl

--HG--
extra : rebase_source : d3d2ae18b40f24473cab5567a48b67b8f478a733
2018-03-28 18:36:42 -04:00
Gurzau Raul
caf04b916e Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-03-29 00:59:08 +03:00
Kartikaya Gupta
fb7f70182b Bug 1447299 - Ensure all APZSampler functions run on the sampler thread. r=botond
Functions in APZSampler that are only invoked without WR (e.g. from
AsyncCompositionManager only) can be asserted as running on the sampler
thread. Functions that are invoked with WR need to be bounced onto the
sampler thread. In all cases the functions are called from the
compositor thread, and so we assert that as well.

MozReview-Commit-ID: JPgGlgUUsgg

--HG--
extra : rebase_source : 8b950d3386e1e64e766b76edaa7894b251fb8664
2018-03-28 14:57:06 -04:00
Kartikaya Gupta
b015c3b3ec Bug 1447299 - Bounce PAPZCTreeManager controller messages through the sampler thread. r=botond
The methods on PAPZCTreeManagerParent are always invoked on the
compositor thread, which currently is always the same as the sampler
thread. When it does RunOnControllerThread calls, there is an implicit
ordering with respect to the sampler thread, because the controller
thread messages are always dispatched *from* the sampler thread.
When we move the sampler thread to be the render backend thread, we have
to preseve this implicit ordering, but we have to make it more explicit.

For example, if a content process sends a layers update followed by
a SetTargetAPZC message, it expects that the APZ will process them in
that order, as the SetTargetAPZC might refer to a scrollframe that was
just layerized. Currently, both these messages arrive on the compositor
thread; the layers update is processed directly as the compositor thread
is the sampler thread, and then the SetTargetAPZC message is bounced to
the controller thread. However, if the compositor thread is not the
sampler thread, then we would bounce the layers update to the sampler
thread, and bounce the SetTargetAPZC to the controller thread,
introducing a race. If SetTargetAPZC runs first bad things happen. The
solution in this patch is to bounce the SetTargetAPZC to the sampler
thread as well, so that it gets bounced to the controller thread only
after we have processed the layers update.

This patch accomplishes that by introducing a method on APZSampler that
does this "double bounce".

MozReview-Commit-ID: KI9wQQ9PZT4

--HG--
extra : rebase_source : 79d0d36a649f11cc795148cc86539a526c8beeae
2018-03-28 14:57:01 -04:00
Kartikaya Gupta
cf0569e64e Bug 1447299 - Have the APZCTreeManagerParent store a reference to the APZSampler. r=botond
MozReview-Commit-ID: BNhkhFAmYP8

--HG--
extra : rebase_source : 43ff9d5f74add3b8b8b0cf651d06a14d8ec82885
2018-03-28 14:56:55 -04:00
Kartikaya Gupta
eacf1f2dcc Bug 1447299 - Move the RunOnControllerThread from APZCTreeManager::SetLongTapEnabled to the caller. r=botond
This is functionally a no-op (it just moves the thread-bouncing code
from inside APZCTreeManager::SetLongTapEnabled to the call site in
APZCTreeManagerParent. The other call site, in
widget/android/nsWindow.cpp, is already known to be running on the
controller thread (which would be the Java UI thread in that case).

This makes the code in APZCTreeManagerParent more consistent and
simplifies the next changes.

MozReview-Commit-ID: 8VfEDVVFNl8

--HG--
extra : rebase_source : 02225ed5b80129a1d18b429eff93866a33d4ea86
2018-03-28 14:56:48 -04:00
Kartikaya Gupta
3c26f7183f Bug 1447299 - Move the sampler thread util functions from APZThreadUtils to APZSampler. r=botond
Note that this also makes the utility functions instance methods,
because each APZSampler might have a different sampler thread instance.

MozReview-Commit-ID: 9dY8ZzVX6lR

--HG--
extra : rebase_source : 4dd58400aee5d9f2063abe0a912488b28ff74f9f
2018-03-28 14:56:41 -04:00
Kartikaya Gupta
4bbad90793 Bug 1447299 - Have the APZCTreeManager keep a pointer to the sampler. r=botond
MozReview-Commit-ID: GiITwCDuWAW

--HG--
extra : rebase_source : 13a288785c0c3d7d0374e253f4211bfe7c5540bc
2018-03-28 14:55:58 -04:00
Andi-Bogdan Postelnicu
a10bc600e1 Bug 1449145 - Improve by modernising code in gfx/layers/apz. r=botond
MozReview-Commit-ID: FxYKhXPsiTD

--HG--
extra : rebase_source : 54204905a105352c53cc696ad31d55f81cd808b7
2018-03-28 21:41:00 +03:00
Botond Ballo
38444e7793 Bug 1447131 - Mochitest for hit-testing over backface-visibility:hidden element. r=kats
MozReview-Commit-ID: EeQlvluPQD1

--HG--
extra : rebase_source : 074ba63d6c4d9a69393cce691988697def556818
2018-03-28 14:22:54 -04:00
Botond Ballo
1b44d973ee Bug 1447131 - Move centerOf() into apz_test_utils.js. r=kats
MozReview-Commit-ID: CwO5SnWmhb9

--HG--
extra : rebase_source : ad39696f8573e2e5119720c7495ce1b21cf62f82
2018-03-28 14:22:42 -04:00
Botond Ballo
3552e7b87f Bug 1447131 - Handle backface-visibility:hidden in compositor hit testing. r=kats
MozReview-Commit-ID: EZhhSk3EZAL

--HG--
extra : rebase_source : be2e6a1e3fc651cb26bf90b77077ca0a5de8d80a
2018-03-28 14:22:30 -04:00
sotaro
19a32411ca Bug 1191971 part 2 - Add capatiblity to enable DComp r=bas 2018-03-29 11:23:31 +09:00
sotaro
537c379106 Bug 1191971 part 1 - Create child window in gpu process r=bas 2018-03-29 11:21:47 +09:00
Tom Ritter
449237fc51 Bug 1378552 - Reduce the liklihood of inadvertently misusing NullPrincipal::Create(). r=ckerschb
NullPrincipal::Create() (will null OA) may cause an OriginAttributes bypass.
We change Create() so OriginAttributes is no longer optional, and rename
Create() with no arguments to make it more explicit about what the caller is doing.

MozReview-Commit-ID: 7DQGlgh1tgJ
2018-03-22 13:36:20 -05:00
Markus Stange
a52e472ae7 Bug 1449271 - Add a pref called gfx.compositor.glcontext.opaque that defaults to false and can be set to true in order to force the use of an opaque OpenGL context for the window on Mac. r=jrmuizel
MozReview-Commit-ID: InOKiLXGL7o

--HG--
extra : rebase_source : f21566cfb6c084ceb726e9a0331f430b6a72e4c6
2018-03-27 14:43:38 -04:00
Xidorn Quan
efc0cdde02 Bug 1447828 part 8 - Remove remaining uses of StyleBackendType as well as the type itself. r=emilio
MozReview-Commit-ID: 6sh4eKvDpRF

--HG--
extra : rebase_source : 7d83f2b2d4e2739333016ed82754bf3a4a700de4
extra : source : 147ca562a24652c3f30add793213db70aff65e9e
2018-03-29 02:34:34 +11:00
Kartikaya Gupta
9fa8fde9e9 Bug 1447998 - Update webrender to commit 22493328352ba432a7cd89491d81bfaa19bc1bce. r=jrmuizel
MozReview-Commit-ID: 4krUpVqWkr

--HG--
extra : rebase_source : 55990a227f280c2c9c1f92c9f2c1f52b6e91c184
2018-03-28 09:11:21 -04:00
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