Commit Graph

537 Commits

Author SHA1 Message Date
Kartikaya Gupta
a02e29e13b Bug 1389149 - Add WR bindings for setting hit-test info and doing hit-tests. r=mstange
This exposes some functions on wr::DisplayListBuilder to set hit-test
info and to do hit-tests.

The mechanism to set hit-test info is made a little more generic than is
actually used in this patchset, because doing it this way allows for
more optimization possibilities.
Specifically, the API allows setting some hit-testing state which is then
applied to all display items that are created until that state is
updated or cleared. An alternative would be to specify the hit-testing
state explicitly when creating particular display items; however doing
that would force the call sites that create the display items to compute
or obtain the hit-testing state, which would make the code less
encapsulated and harder to refactor/optimize.

MozReview-Commit-ID: EJoCFv83iu8

--HG--
extra : rebase_source : d2a117a52144f76dcc312de2a4047298e78135cb
2017-11-15 11:39:44 -05:00
peter chang
8d32c73914 Bug 1410334 - Create correct animation properties based on WrAnimationProperty info, r=kats
MozReview-Commit-ID: 6LNbwQd9IfX

--HG--
extra : rebase_source : 2b53786ae996237bef7bf8100087b3f48667d718
2017-11-15 16:09:21 +08:00
peter chang
a90de5cb7d Bug 1410334 - Add new WrAnimationProperty, r=kats
Store the animation id and the animation effect type

MozReview-Commit-ID: 10Zxy5vJV1X

--HG--
extra : rebase_source : 3e6b9d347d2404edfc80c3e7cc2250456902ab72
2017-11-15 16:03:10 +08:00
Noemi Erli
f24a75f9b7 Merge mozilla-central to mozilla-inbound. r=merge a=merge CLOSED TREE 2017-11-15 12:15:40 +02:00
Noemi Erli
550148ab69 Merge inbound to mozilla-central r=merge a=merge 2017-11-15 11:57:12 +02:00
Lee Salzman
29099d481c Bug 1416607 - error when Moz2DImageRenderer fails to create a NativeFontResource or UnscaledFont. r=jrmuizel
MozReview-Commit-ID: Jool723LUFX
2017-11-14 23:15:31 -05:00
Lee Salzman
011e836339 Bug 1416607 - follow-up - typo fix in error message. r=me 2017-11-14 23:27:16 -05:00
Kartikaya Gupta
9e0fc459e6 Bug 1416258 - Update webrender to commit 8a39cf24f493e894a66c2465dd310a2b2923e558. r=jrmuizel
MozReview-Commit-ID: IjTJa62Op9b

--HG--
extra : rebase_source : 2de0202e76d7ffd58b01ad9f90b8a9660a2022cf
2017-11-14 09:19:11 -05:00
Morris Tseng
78bddf84f9 Bug 1342762 - Remove pipeline in RemovePipelineIdForCompositable. r=nical
MozReview-Commit-ID: 29NrWHCGR5V

--HG--
extra : rebase_source : 25a4fc2f1abef15dbf5515516a45a34079acc8dd
2017-11-13 17:32:23 +08:00
JerryShih
c061f3959d Bug 1371838 - set the window_id as renderer_id to WR. r=jrmuizel
MozReview-Commit-ID: 7YbQNzTNpmE
2017-11-11 18:57:31 +08:00
JerryShih
4eb77c1992 Bug 1371838 - add a custom thread listener to WR. r=jrmuizel
MozReview-Commit-ID: yyFwBr21F3
2017-11-11 18:57:31 +08:00
JerryShih
56d6261465 Bug 1371838 - register the WR thread pool's thread to gecko profiler. r=jrmuizel
MozReview-Commit-ID: BUyTq2vz3cO
2017-11-11 18:57:31 +08:00
JerryShih
8b031732c0 Bug 1371838 - export the gecko profiler registering function to WR. r=jrmuizel
MozReview-Commit-ID: 2gVAmU2xomP
2017-11-11 18:57:31 +08:00
Milan Sreckovic
639eb384ce Bug 1416306 - Make the function argument a const& instead of passing by value. r=mstange 2017-11-10 10:29:00 -05:00
sotaro
03a781381b Bug 1416594 - Add SurfaceFormat::R8G8B8A8 handling to SurfaceFormatToImageFormat() r=nical 2017-11-15 07:15:11 +09:00
JerryShih
7fa50ff43a Bug 1415816 - integrate gfxCriticalNote/gfxCriticalError for WebRender in gpu process. r=kats
MozReview-Commit-ID: 3Mey7XRYRn6
2017-11-10 07:30:53 -05:00
Narcis Beleuzu
218e1676cb Merge inbound to mozilla-central r=merge a=merge 2017-11-08 12:51:09 +02:00
Margareta Eliza Balazs
130574a8e2 Merge mozilla-central to mozilla-inbound. r=merge a=merge CLOSED TREE 2017-11-08 00:09:29 +02:00
Lee Salzman
62496c6987 Bug 1412545 - avoid race condition when setting Cairo ft font user data. r=jrmuizel
MozReview-Commit-ID: 4aqfj2xlCc2
2017-11-07 14:10:31 -05:00
Kartikaya Gupta
185e484e8c Bug 1414271 - Update for API change in WR PR 1977. r=jrmuizel
MozReview-Commit-ID: Hcnlj0uFHN3

--HG--
extra : rebase_source : 99c14d374bc84cba3cd57ab7bfd40623516791f4
2017-11-07 08:32:07 -05:00
Kartikaya Gupta
8ce461077b Bug 1414271 - Update webrender to commit 34f1e8ed19a19cb950deef89ee31c1cf3d442d22. r=jrmuizel
Also includes regenerated FFI header.

MozReview-Commit-ID: BwH36DHIvrc

--HG--
extra : rebase_source : c672b765e5b56e60d158d492cfbe4ee86b5ce223
2017-11-07 08:31:57 -05:00
Lee Salzman
135158086d Bug 1403198 - support WR native font handles in blob image. r=jrmuizel
MozReview-Commit-ID: 1n0z2xNZDxp
2017-11-06 20:21:25 -05:00
Lee Salzman
826eee8b2a Bug 1403198 - support WR font descriptors on Mac. r=jrmuizel
MozReview-Commit-ID: BqN51yY88oJ
2017-11-06 20:21:06 -05:00
Lee Salzman
3e6f5e1180 Bug 1403198 - support WR font descriptors with DWrite. r=jrmuizel
MozReview-Commit-ID: 8u3kYoKYOuC
2017-11-06 20:20:43 -05:00
Lee Salzman
b70e5bcc71 Bug 1403198 - support WR font descriptors with Fontconfig. r=jrmuizel
MozReview-Commit-ID: L52PYBwEqNw
2017-11-06 20:20:11 -05:00
Lee Salzman
f11218633f Bug 1403198 - send font descriptors to WR instead of raw fonts where possible. r=jrmuizel
MozReview-Commit-ID: DYcaO3fE1fc
2017-11-06 20:19:46 -05:00
Markus Stange
9d74ba14bd Bug 1413178 - Initialize the new field that was added in webrender commit 479d43ab4f245c42b33e12f9b6f050045ec84ab3. r=lsalzman
MozReview-Commit-ID: 3oFtSjbnBsI

--HG--
extra : rebase_source : b3d792787a9226265d02eaff027e0919aca1d17d
2017-11-03 00:37:20 -04:00
Kartikaya Gupta
69f8f61109 Bug 1413178 - Re-generate FFI header. r=lsalzman
MozReview-Commit-ID: 53SneuKAusl

--HG--
extra : rebase_source : 9ace105caaf16c9fc2a844cd82a483e84d5ceb53
2017-11-03 10:59:33 -04:00
sotaro
9bdbc201fd Bug 1408421 - Improving throttling GenerateFrame() r=jrmuizel 2017-11-03 11:22:28 +09:00
Kartikaya Gupta
c832839650 Bug 1411627 - Send the applied offset for sticky frames to WR. r=mstange
There are cases where we do a main-thread paint at a scroll position
where sticky offsets have been applied in order to keep sticky items
visually unmoving. From that paint, it's possible to do an async-scroll
in the direction that reduces the sticky offset. In order for WR to
handle this case properly we need to tell WR how much of a sticky offset
was already applied on the main thread.

MozReview-Commit-ID: 79DsfPpsIfA

--HG--
extra : rebase_source : e39316702cff3bd4ee6721c7503a1a9267734cd8
2017-11-07 10:16:48 -05:00
Markus Stange
e691e26bec Bug 1386162 - Implement nsDisplayClearBackground using push_clear_rect. r=kats
MozReview-Commit-ID: DlGA7KuZzm0

--HG--
extra : rebase_source : 2c2b402c7f9f2df8cc7cc5e80aa591f3aae946ef
extra : source : 4003a8f5c3c8bf0146183eca287c7ee162bd3d57
2017-10-31 11:31:00 -04:00
Kartikaya Gupta
3a399cf5e5 Bug 1412280 - Update sticky code for API change in WR PR 1940. r=jrmuizel
MozReview-Commit-ID: 2I8wpe3Bt1y

--HG--
extra : rebase_source : 5056aee8978c9bd5c51724ec909125de318f04ad
2017-10-31 09:17:22 -04:00
Kartikaya Gupta
197f2cc1ec Bug 1412280 - Remove unused bincode dependency. r=jrmuizel
MozReview-Commit-ID: JPy0COAMZfp

--HG--
extra : rebase_source : 23268ba42cde3f42d78f600c5ecf09a91761ae9e
2017-10-31 09:08:39 -04:00
Jeff Muizelaar
a1e7521959 Bug 1412565. Release the vec before deleting the item. r=lsalzman
I think I caught and fixed this earlier but somehow lost the change.
Oh well.
2017-10-30 22:38:38 -04:00
Sebastian Hengst
f07fc93141 merge mozilla-inbound to mozilla-central. r=merge a=merge
MozReview-Commit-ID: 4PW6ESqLL73
2017-10-30 23:52:23 +01:00
Andrew Osmond
031385694b Bug 1331944 - Part 4. Add RenderSharedSurfaceTextureHost wrapper to integrate with external images. r=jrmuizel 2017-10-30 13:10:29 -04:00
Andrew Osmond
2f8b457e1e Bug 1331944 - Part 3. Refactor mozilla::wr::LockExternalImage to make it easier to add new types. r=jrmuizel 2017-10-30 13:10:29 -04:00
Daniel Holbert
126bd9e1a4 Bug 1412427 part 8: (automated patch) Switch a bunch of C++ files in gfx to use our standard mode lines. r=jrmuizel
This patch was generated automatically by the "modeline.py" script, available
here: https://github.com/amccreight/moz-source-tools/blob/master/modeline.py

For every file that is modified in this patch, the changes are as follows:
 (1) The patch changes the file to use the exact C++ mode lines from the
     Mozilla coding style guide, available here:
https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Coding_Style#Mode_Line

 (2) The patch deletes any blank lines between the mode line & the MPL
     boilerplate comment.

 (3) If the file previously had the mode lines and MPL boilerplate in a
     single contiguous C++ comment, then the patch splits them into
     separate C++ comments, to match the boilerplate in the coding style.

MozReview-Commit-ID: 77D61xpSmIl

--HG--
extra : rebase_source : c6162fa3cf539a07177a19838324bf368faa162b
2017-10-27 16:10:06 -07:00
JerryShih
95b77b8a45 Bug 1399389 - update Cargo.lock and webrender_ffi_generated.h for webrender_bindings updating. r=nical
MozReview-Commit-ID: 8FIu1K1jjxM
2017-10-30 11:31:38 +08:00
JerryShih
5b15c33523 Bug 1399389 - redirect the warn/error message to gfx_critical_error/note in WR. r=kvark
MozReview-Commit-ID: Fxkz3Fq96Tb
2017-10-30 11:31:38 +08:00
Jeff Muizelaar
91f3b3ac1d Bug 1380014. Fix up the webrender bindings. r=kats
The earlier patches in this bug were written before we had
sophisticated binding generation so the types didn't match very well.
This fixes all of that.

MozReview-Commit-ID: DpcblpB8vxW
2017-10-28 18:32:24 -04:00
Jeff Muizelaar
5052f0826f Bug 1380014. Keep the unscaled font alive. r=lsalzman
This is the actual change the eliminates the font cache
churn as well as eliminating the jank that comes when
loading font for the first time.
2017-10-27 23:23:35 -04:00
Jeff Muizelaar
ed62b1d4a1 Bug 1380014. Share fonts with WebRender. r=lsalzman
This changes the serialization format a little bit.
We now have an index at the end of the blob. This
is currently used to store a list of the used font keys.
In the future we'll add rects and can use it for invalidation.
2017-10-27 18:21:27 -04:00
Alexis Beingessner
0f3e571e68 Bug 1410893 - Update bindings for API changes in WR PR 1923. r=jrmuizel
MozReview-Commit-ID: G7qfzaX6mxb

--HG--
extra : rebase_source : 0584dfa51eac36bbacf3870de50c86d4b53ee525
2017-10-27 08:56:31 -04:00
Kartikaya Gupta
1acb485728 Bug 1410893 - Update Cargo lockfiles and re-generate FFI header. r=jrmuizel
MozReview-Commit-ID: FobLKM7SYdY

--HG--
extra : rebase_source : bb1d27b56d9556097ef005c93de44be10d19e79a
2017-10-27 08:52:51 -04:00
Kartikaya Gupta
d639eb0193 Bug 1410893 - Update webrender to commit 4b8493d6bdc64d2d83202ac15b06b0d4b14c6e76. r=jrmuizel
MozReview-Commit-ID: DoUZXZtRyDY

--HG--
extra : rebase_source : c6b6fac4767e641ac7207bc03dbf206417f7a655
2017-10-27 08:51:39 -04:00
Kartikaya Gupta
8e9c8a8efc Bug 1409508 - Handle another clip edge case. r=mstange
This edge case happens when:
- we have a display item A nested inside another display item B
- B has pushed an out-of-band clip, and
- A's clip chain doesn't connect directly to the end of B's clip chain
  but instead connects somewhere farther up the clip chain
See comments in the patch for more details.

MozReview-Commit-ID: 4mCCaVUQuvH

--HG--
extra : rebase_source : 1601a8f0c586d618d395b4e20086b9ecd318945b
2017-10-25 15:05:20 -04:00
Alexis Beingessner
168deb7b2b Bug 1401653 - fixup webrender text-decoration bindings. r=jrmuizel
This does 3 things that were all a bit too intermixed to split out cleanly:

1. Teaches TextDrawTarget to handle rectangular clips (while also completely
forbidding other ones). This is necessary to handle how gecko "overdraws"
decorations with clips to create the illusion of continuous lines when they're
actually made out of multiple lines, possibly from different display items
with different lines. Previously gecko *was* handing these clips to
TextDrawTarget to use these clips, but we were just ignoring them.

This is also necessary work to support partial glyphs natively (which apply
rectangular clips to glyphs). Also note that this currently causes a bug
in webrender if combined with zero-blur shadows, but it's not a regression
since we already mishandle clipped decorations. I will work on fixing this
upstream.

2. Changes the intermediate representation of lines from the old webrender
format to a rect-based one. This is in preperation for webrender adopting
that format in a future update.

3. Changes the way wavy lines are processed, correcting some errors in the
old wavy line bindings that lead to them being positioned incorrectly. Also
introduces a wavyLineThickness property that the will be required in a
future webrender update. Wavy lines are unlike any other line, so it's
ultimately desirable to distinguish them.

The net result of these changes is that a companion upstream change (webrender#1923)
will make decoration rendering nearly identical to gecko, and much nicer.
However the clipped shadows issue will need to be seperately resolved before
actually closing this issue.

MozReview-Commit-ID: 6O2wLA6bU3C

--HG--
extra : rebase_source : 17254c45145229b75f77f87f85874e66e6edd05e
2017-10-24 12:44:38 -04:00
Attila Craciun
1fc19f42dc Backed out 1 changesets (bug 1401653) for failing no matching function for call in src/layout/generic/TextDrawTarget.h:143:43 r=backout on a CLOSED TREE.
Backed out changeset 5055d2703f2f (bug 1401653)
2017-10-25 16:32:17 +03:00
Alexis Beingessner
7d07e76ce2 Bug 1401653 - fixup webrender text-decoration bindings. r=jrmuizel
This does 3 things that were all a bit too intermixed to split out cleanly:

1. Teaches TextDrawTarget to handle rectangular clips (while also completely
forbidding other ones). This is necessary to handle how gecko "overdraws"
decorations with clips to create the illusion of continuous lines when they're
actually made out of multiple lines, possibly from different display items
with different lines. Previously gecko *was* handing these clips to
TextDrawTarget to use these clips, but we were just ignoring them.

This is also necessary work to support partial glyphs natively (which apply
rectangular clips to glyphs). Also note that this currently causes a bug
in webrender if combined with zero-blur shadows, but it's not a regression
since we already mishandle clipped decorations. I will work on fixing this
upstream.

2. Changes the intermediate representation of lines from the old webrender
format to a rect-based one. This is in preperation for webrender adopting
that format in a future update.

3. Changes the way wavy lines are processed, correcting some errors in the
old wavy line bindings that lead to them being positioned incorrectly. Also
introduces a wavyLineThickness property that the will be required in a
future webrender update. Wavy lines are unlike any other line, so it's
ultimately desirable to distinguish them.

The net result of these changes is that a companion upstream change (webrender#1923)
will make decoration rendering nearly identical to gecko, and much nicer.
However the clipped shadows issue will need to be seperately resolved before
actually closing this issue.

MozReview-Commit-ID: 6O2wLA6bU3C

--HG--
extra : rebase_source : 98da45bc7f2eaabd63ae226c505cb1580b5c8500
2017-10-24 12:44:38 -04:00