Commit Graph

29639 Commits

Author SHA1 Message Date
Miko Mynttinen
0b8872867b Bug 1393367 - Change MOZ_ASSERT to MOZ_RELEASE_ASSERT. r=mstange, r=fbraun 2018-04-12 14:18:03 +02:00
Andreea Pavel
01f50bc3d8 Merge mozilla-inbound to mozilla-central. a=merge 2018-04-14 00:56:30 +03:00
Jonathan Watt
1e7f76576a Bug 1436048 part 1 - Use a user defined type for font weight everywhere. r=jfkthame,emilio
--HG--
extra : rebase_source : 2e267ff99de6f52484e34ac15c39e5ca8b473394
2018-04-13 20:34:37 +01:00
Jonathan Watt
cd28f53640 Bug 1453924 - Remove bogus multiplication by 100 in GDIFontEntry::TestCharacterMap. r=jfkthame
--HG--
extra : rebase_source : 0556f0f51557dc87e458c1d48d142ee679d98403
2018-04-11 21:15:48 +01:00
Markus Stange
686443f2a7 Bug 1444432 - Implement screenshot grabbing in LayerManagerComposite. r=jrmuizel
MozReview-Commit-ID: 4BNKNwCACUB

--HG--
extra : rebase_source : dc11246a3190f82b121b521e1324790792a5e405
2018-04-12 15:31:12 -04:00
Andrew Osmond
c0369e1c33 Bug 1453801 - Remove unused consumer tracking code from SourceSurfaceSharedDataWrapper. r=jrmuizel 2018-04-13 15:24:32 -04:00
Andrew Osmond
f17c1700f1 Bug 1452467 - Make native font resource memory allocations fallible. r=lsalzman 2018-04-13 13:33:15 -04:00
Markus Stange
0e34941ec1 Bug 1444432 - Add Compositor::GetWindowRenderTarget() and implement it for CompositorOGL. r=jrmuizel
MozReview-Commit-ID: d0vBM6g2pM

--HG--
extra : rebase_source : d16ad9a58c04c146cd4ef2d95d7eb2ec2cff1593
2018-03-28 14:44:17 -04:00
Markus Stange
072ffa8136 Bug 1444432 - Create Compositor::BlitRenderTarget and implement it for CompositorOGL. r=jrmuizel
MozReview-Commit-ID: Jz3bawvz1pv

--HG--
extra : rebase_source : 1b3e332aa2a312f6acc77b057bc466afc813990e
2018-04-12 15:28:26 -04:00
Markus Stange
0e1a4b9b8c Bug 1444432 - Create a Compositor abstraction called AsyncReadbackBuffer and implement it for CompositorOGL. r=jrmuizel
MozReview-Commit-ID: Jx1RFFoKypz

--HG--
extra : rebase_source : f7851e97ebc5d1cbc50896d3d02c028d26343f59
2018-03-28 15:46:38 -04:00
Markus Stange
7981f6dc01 Bug 1444432 - Add missing gfx:: qualifiers in TextureClientOGL.cpp. r=jrmuizel
MozReview-Commit-ID: BT33ief5qkt

--HG--
extra : rebase_source : 7709a9d125198880bf7765ef5a4d32ac6ca9e305
2018-04-13 00:13:41 -04:00
Markus Stange
2d583272e7 Bug 1444432 - Add an #include "X11UndefineNone.h" to GLXLibrary.h after the X11 header include, so that TiledContentClient.h doesn't suffer from a redefined None. r=jrmuizel
MozReview-Commit-ID: 8PpFuax0XHb

--HG--
extra : rebase_source : aed14abaf59f7cb4278e034ea1b7720a6ea985b6
2018-04-12 23:37:29 -04:00
Markus Stange
2d93796161 Bug 1444430 - Add a ProfilerScreenshots class which can be used to submit DataSourceSurfaces to the profiler. r=jrmuizel
ProfilerScreenshots encodes these surfaces to JPG data URLs, and submits them
as profiler markers. The encoding is done on a separate thread.

MozReview-Commit-ID: 7CKDBqUsLny

--HG--
extra : rebase_source : 45b608544b4ddf8502302cf974ca4e8b306de64e
2018-03-26 23:08:33 -04:00
Markus Stange
98c6ff684d Bug 1444430 - Extend the API of gfxUtils::EncodeSourceSurface to support encoding into a string. r=jrmuizel
MozReview-Commit-ID: KxXkOmat9RU

--HG--
extra : rebase_source : e8eed1a6330fcad42c78c8d8115ff41fc7e6a5f0
2018-04-12 15:20:14 -04:00
Markus Stange
f4bfb59a34 Bug 1444430 - Remove a copy in EncodeSourceSurfaceInternal. r=jrmuizel
MozReview-Commit-ID: 5iNEd4RKIyn

--HG--
extra : rebase_source : 2ae9ad954be266c652fec3caa3b604027f09c9b0
2018-03-26 23:04:04 -04:00
Sebastian Hengst
0819f35e51 Backed out 4 changesets (bug 525063) on request from Andi. a=backout
Backed out changeset 516c4fb1e4b8 (bug 525063)
Backed out changeset 6ff8aaef2866 (bug 525063)
Backed out changeset bf13e4103150 (bug 525063)
Backed out changeset d7d2f08e051c (bug 525063)
2018-04-13 16:01:28 +03:00
Kartikaya Gupta
cfd585d234 Bug 1453364 - Update scrollbar transforms separately from OMTA transforms. r=nical
Although they still happen in the same transaction, they are done in two
separate frame messages. This results in better encapsulated code on the
C++ side since we don't have to pass around an array of properties, and
will simplify future changes to update these properties at render time
rather than at GenerateFrame time.

MozReview-Commit-ID: 9qUkHX7gmD1

--HG--
extra : rebase_source : 15a319ba270eb1783815c514ae05c6a72e323dac
2018-04-11 15:28:00 -04:00
abeingessner
7bc00186cb Bug 1434630 - use proper logging framework instead of println. r=kats
This makes webrender much less verbose in release builds, and also
feeds all printing through a single managed point. This is intended
to reduce the amount of crashes we get from stdout becoming unavailable
on users' machines.
2018-04-13 10:58:06 -04:00
Andrew Osmond
74807c64ae Backed out changeset e5336e51b77f (bug 1452467) for Windows static analysis build bustage on a CLOSED TREE. r=aosmond 2018-04-13 10:14:12 -04:00
Andrew Osmond
117614d724 Bug 1452467 - Make native font resource memory allocations fallible. r=lsalzman 2018-04-13 09:41:29 -04:00
Zhang Junzhi
2bdc6774da Bug 1358017 - Part 5: Implements the "honour root" functionality for the auto-dir scrolling feature in APZ r=kats
With this commit, all the auto-dir scrolling functionalities are completed in
APZ.

MozReview-Commit-ID: L7qa3xOD8t9

--HG--
extra : rebase_source : bad2770219a0e6219f91899ab6c78e68f37195ac
2018-03-16 21:20:39 +08:00
Zhang Junzhi
fe2d79f73f Bug 1358017 - Part 4: Implements the auto-dir scrolling feature(without the "honour root" functionality) in APZ r=kats
This commit implements the auto-dir scrolling functionality in APZ, based on
part 1 to part 3. However, the functionality of mousewheel.autodir.honourroot
will be implemented in a future.

MozReview-Commit-ID: 9xai99x71gh

--HG--
extra : rebase_source : 118d188f730e3fb91d147b076a053cb04e622e55
2018-03-16 19:23:53 +08:00
Zhang Junzhi
414177f87e Bug 1358017 - Part 1: Adds some comments, renames some identifiers and refactors some other trivial things. r=kats,masayuki
Do some work in preparation for implementing actual functionalities for this
bug. No actual functionality change is involved in this commit.

MozReview-Commit-ID: 5aLhr38n1N4

--HG--
extra : rebase_source : 15cfc2cea5b7668367dd3bd4a0746ae8c61b7d20
2018-03-15 16:31:07 +08:00
Kartikaya Gupta
651d96be0a Bug 1452603 - Update webrender to commit 6f997974cec5772b1797725f4a7942d742e7d7ff. r=jrmuizel
MozReview-Commit-ID: 1Gq3I7Z2Dd2

--HG--
extra : rebase_source : 00049966e37dab234cae5b13e7683a608609f2e5
2018-04-12 11:04:46 -04:00
Jeff Muizelaar
9cd801f8bb Bug 1453682. blob-inval: Drop duplicated line. r=jrmuizel
This line was doing nothing.

--HG--
extra : rebase_source : 31e79d995bc1193d6ccce90bf8f3badd5074d728
2018-04-12 10:57:57 -04:00
Alexis Beingessner
faa067542e Bug 1412375 - Create a clipped stacking context for nsDisplayMasks. r=kats,mstange
This was only recently made possible by webrender#2600, which introduced special stacking-context
clips

MozReview-Commit-ID: HQAU7IsfDaz

--HG--
extra : rebase_source : 0ac7f0f3f73abdf5b60ca02b37cfaa7abeecb6a3
2018-04-11 13:00:49 -04:00
sotaro
fb2b919e09 Bug 1448896 - Change some messages to WebRenderParentCommand r=nical 2018-04-12 22:13:06 +09:00
Margareta Eliza Balazs
8ca418adb9 Merge inbound to mozilla-central. a=merge 2018-04-12 12:38:56 +03:00
sotaro
d411e21feb Bug 1453195 - Reduce mOptions.UseWebRender() usage in CompositorBridgeParent r=nical 2018-04-12 12:18:50 +09:00
Jeff Muizelaar
d12e9de5f2 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.
2018-04-11 20:50:00 -04:00
shindli
108a654fb8 Merge inbound to mozilla-central. a=merge 2018-04-12 02:45:34 +03:00
Tristan Bourvon
bec4e38793 Bug 525063 - Backing out a hunk triggering an assertion in gfx/layers/SourceSurfaceSharedData.h CLOSED TREE
--HG--
extra : rebase_source : c58fb6f67fa3a3920830f3724deb0410c5b49b32
2018-04-11 17:42:49 +02:00
Tristan Bourvon
a3a77c0312 Bug 525063 - Initialize uninitialized class attributes in m-c. r=ehsan 2018-04-10 21:11:02 +02:00
Kartikaya Gupta
9430ed7557 Bug 1452620 - Document the WrPipelineInfo structure. r=botond,nical
MozReview-Commit-ID: DleDZydMnKS

--HG--
extra : rebase_source : 1e86be2527841a2d1c1b999f11f9c4c03e844a2f
2018-04-10 17:26:54 -04:00
Kartikaya Gupta
97ffc1e59e Bug 1452620 - Use FfiVec to clean up WrPipelineInfo usage in C++. r=Gankro,nical
Instead of passing a WrPipelineInfo* to C++ code, we can now pass the
WrPipelineInfo directly. C++ code can access the info members without
having to call back into rust code, so the wr_pipeline_info* iterator
methods can be removed. Deleting the structure still requires passing it
back to rust.

MozReview-Commit-ID: HYcPX3mCGKW

--HG--
extra : rebase_source : f4b781cfc463c8e196f67a6e178ce4ce44a9464a
2018-04-10 17:26:54 -04:00
Kartikaya Gupta
404fe454a9 Bug 1452620 - Add an FfiVec structure. r=Gankro
This structure makes it more ergonomic to access vectors from C++. A
Vec<T> can be converted to FfiVec<T> which can safely cross the FFI
boundary. That provides an easy to use read-only access mechanism to the
vector contents. The FfiVec must be returned to rust code to be freed
properly.

MozReview-Commit-ID: AdIyEsjrPSZ

--HG--
extra : rebase_source : db87eb55e19c2d129f4c8a8155b03d9fbfc98199
2018-04-10 17:26:53 -04:00
Andreea Pavel
525c9e7907 Merge mozilla-central to autoland. a=merge on a CLOSED TREE 2018-04-11 17:38:56 +03:00
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