Commit Graph

34976 Commits

Author SHA1 Message Date
Lee Salzman
44eb8379af Bug 1547063 - Use FreeType metrics directly instead of querying Cairo. r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D44497

--HG--
extra : moz-landing-system : lando
2019-09-16 17:15:10 +00:00
Lee Salzman
4e52e1c29b Bug 1547063 - Use SharedFTFace locking instead of Cairo locking. r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D44496

--HG--
extra : moz-landing-system : lando
2019-09-16 17:12:38 +00:00
Lee Salzman
4f2be9076e Bug 1547063 - implement recording instance data for ScaledFontMac. r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D44495

--HG--
extra : moz-landing-system : lando
2019-09-16 16:45:26 +00:00
Lee Salzman
286a7bbfff Bug 1547063 - Use SharedFTFace in thebes. r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D44494

--HG--
extra : moz-landing-system : lando
2019-09-16 17:07:59 +00:00
Lee Salzman
264178a181 Bug 1547063 - Remove FcPattern usage from Skia. r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D44493

--HG--
extra : moz-landing-system : lando
2019-09-16 16:44:51 +00:00
Lee Salzman
3417aec992 Bug 1547063 - Cairo support for SharedFTFace. r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D44492

--HG--
extra : moz-landing-system : lando
2019-09-16 16:44:34 +00:00
Lee Salzman
2d38529fad Bug 1547063 - add SharedFTFace abstraction of FT_Face. r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D44491

--HG--
extra : moz-landing-system : lando
2019-09-16 17:03:04 +00:00
Jeff Muizelaar
55f24d593c Bug 1581549. Update to mozangle 0.3.1 to solve build time issues. r=kvark
Differential Revision: https://phabricator.services.mozilla.com/D46031

--HG--
extra : source : 5fe4ede89388a6d193c9ab482d6e98eeb50fce52
2019-09-16 15:30:32 +00:00
Cosmin Sabou
514c7c5e05 Backed out changeset 5fe4ede89388 (bug 1581549) for causing SM bustages. CLOSED TREE 2019-09-16 19:28:08 +03:00
Botond Ballo
2641cbd682 Bug 1577859 - Additional post container scrolling removal cleanup in APZ code. r=tnikkel
With container scrolling, layers that are fixed wrt. the RCD-RSF are no
longer descendants of layers with RCD-RSF metadata. This allows us to remove
some code that handles this case in AsyncCompositionManager.

In particular, when ApplyAsyncContentTransformToTree() calls
AlignFixedAndStickyLayers():

  - If we are currently processing a layer with RCD-RSF metadata,
    AlignFixedAndStickyLayers() will not do anything (because there will be
    no descendants fixed wrt. the RCD-RSF), so it doesn't matter what
    transform we pass to AlignFixedAndStickyLayers().

  - If we are processing a different layer, then Metrics().IsRootContent()
    will be false, so GetCurrentAsyncTransformForFixedAdjustment()
    simplifies to just GetCurrentAsyncTransform().

As a result, GetCurrentAsyncTransformForFixedAdjustment() (and its helper
GetCurrentAsyncViewportTransform()) can be removed, and its use replaced
with GetCurrentAsyncTransform().

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

--HG--
extra : moz-landing-system : lando
2019-09-15 23:34:13 +00:00
Botond Ballo
f94ae56498 Bug 1577859 - Stop handling scrollbar layers that are descendants of the scrolled content. r=tnikkel
With containerless scrolling, scrollbar layers and their target scrolled layers
will be in sibling subtrees.

Depends on D45596

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

--HG--
extra : moz-landing-system : lando
2019-09-15 21:50:10 +00:00
Jeff Muizelaar
7389ffb35c Bug 1581549. Update to mozangle 0.3.1 to solve build time issues. r=kvark
Differential Revision: https://phabricator.services.mozilla.com/D46031

--HG--
extra : moz-landing-system : lando
2019-09-16 15:30:32 +00:00
sotaro
a9eafcf63d Bug 1581370 - Change mUseTripleBuffering to bool r=nical
Differential Revision: https://phabricator.services.mozilla.com/D45949

--HG--
extra : moz-landing-system : lando
2019-09-16 09:40:12 +00:00
Cosmin Sabou
7ed8e2d3d1 Merge autoland to mozilla-central. a=merge 2019-09-16 11:16:05 +03:00
Cosmin Sabou
07a555811e Backed out changeset 7b54bb7c31f6 (bug 1547063) for backing out also the other changes in Bug 1547063. 2019-09-16 11:14:31 +03:00
Cosmin Sabou
8113720646 Backed out 8 changesets (bug 1547063) for causing bug 1581466. a=backout
Backed out changeset c969a93b0ca7 (bug 1547063)
Backed out changeset 003f5a79c6a7 (bug 1547063)
Backed out changeset 2c7032b4d022 (bug 1547063)
Backed out changeset 23892ecc6ef8 (bug 1547063)
Backed out changeset af6e6807ece7 (bug 1547063)
Backed out changeset ebc71e607938 (bug 1547063)
Backed out changeset 772c3427c791 (bug 1547063)
Backed out changeset e74a67e2afe3 (bug 1547063)
2019-09-16 10:44:20 +03:00
Lee Salzman
a0bb3c2aca Bug 1547063 - fix advance scaling for emoji. r=karlt
This fixes the regression in reftests/text/color-opacity-rtl-[12].html.
This also reverts an earlier erroneous change to WPT content-counter-004.xht
that was done in https://hg.mozilla.org/mozilla-central/rev/c969a93b0ca7
to silence an unexpected-pass that accidentally arose because of matching
failures in test/ref when we switched to GetFTGlyphExtents in
https://hg.mozilla.org/mozilla-central/rev/003f5a79c6a7. Now that the
actual scaling issue is fixed, the behavior is again consistent with Cairo
metrics causing the failure to reappear like before with Cairo metrics.

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

--HG--
extra : moz-landing-system : lando
2019-09-16 01:20:33 +00:00
Botond Ballo
3a1c85bca4 Bug 1577859 - Remove the layout.scroll.root-frame-containers pref and code that depends directly on it. r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D45198

--HG--
extra : moz-landing-system : lando
2019-09-15 17:01:22 +00:00
Glenn Watson
804a9e983e Bug 1580711 - Refactor storage of primitive instances into primitive clusters. r=nical
Previously, primitive lists were stored as:

  PicturePrimitive
    PrimitiveList
      [PrimitiveInstance]
      [PrimitiveCluster]
      [PictureIndices]

Each primitive instance contained a spatial node index and an
index into the primitive cluster it belongs to.

Now, the instances in a primitive list are stored as:

  PicturePrimitive
    PrimitiveList
      [PrimitiveCluster]
        [PrimitiveInstance]

This provides a number of advantages:
 * Size of the PrimitiveInstance struct is smaller.
 * No need to maintain a separate PictureIndices list.
 * Easy and fast to skip the array, finding pictures or scroll root changes.
 * Much faster to split and reorder PrimitiveList structures.

This patch is refactoring only, it doesn't contain any functional
changes. As we enable multiple picture caching slices, we need to
be able to split and reorder PrimitiveLists. Storing the primitive
instances in this way makes that process much more efficient than
it currently is.

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

--HG--
extra : moz-landing-system : lando
2019-09-15 22:35:54 +00:00
Hiroyuki Ikezoe
9ca5e64e7d Bug 1581113 - Explicitly set dom.animations-api.timelines.enabled in browser_test_group_fission.js. r=boris
Differential Revision: https://phabricator.services.mozilla.com/D45942

--HG--
extra : moz-landing-system : lando
2019-09-15 18:32:08 +00:00
Lee Salzman
0d6ebe2503 Bug 1547063 - Use FreeType metrics directly instead of querying Cairo. r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D44497

--HG--
extra : moz-landing-system : lando
2019-09-15 03:01:19 +00:00
Lee Salzman
1ad0ba9769 Bug 1547063 - Use SharedFTFace locking instead of Cairo locking. r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D44496

--HG--
extra : moz-landing-system : lando
2019-09-15 03:01:02 +00:00
Lee Salzman
b8b94ba41a Bug 1547063 - implement recording instance data for ScaledFontMac. r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D44495

--HG--
extra : moz-landing-system : lando
2019-09-15 03:00:44 +00:00
Lee Salzman
a9377fd974 Bug 1547063 - Use SharedFTFace in thebes. r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D44494

--HG--
extra : moz-landing-system : lando
2019-09-15 03:00:32 +00:00
Lee Salzman
1e337c2560 Bug 1547063 - Remove FcPattern usage from Skia. r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D44493

--HG--
extra : moz-landing-system : lando
2019-09-15 03:00:14 +00:00
Lee Salzman
3001810ca0 Bug 1547063 - Cairo support for SharedFTFace. r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D44492

--HG--
extra : moz-landing-system : lando
2019-09-15 03:00:02 +00:00
Lee Salzman
d5010d11ca Bug 1547063 - add SharedFTFace abstraction of FT_Face. r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D44491

--HG--
extra : moz-landing-system : lando
2019-09-15 02:59:44 +00:00
Andrew Osmond
ab39496ccc Bug 1574493 - Part 6. Add reftest annotations for newly failing/passing tests. r=jrmuizel,kvark
Differential Revision: https://phabricator.services.mozilla.com/D45539

--HG--
extra : moz-landing-system : lando
2019-09-14 16:16:59 +00:00
Andrew Osmond
f59d309602 Bug 1574493 - Part 5. Snap scroll offsets and pictures during frame building. r=kvark
The snapping during scene building is unable to take into account scroll
offsets. Since we have already snapped the primitive rects in the raster
space, we know that this can only result in a translation rather than a
size change, and thus is safe to do during frame building.

When we update the transform tree, we now snap the scroll offset in
device space to ensure that scroll offsets should primarily be integer
offsets and not have snapping implications.

The local rect of a picture is calculated during the first picture
traversel. It is composed of already snapped primitives, however the
picture itself may inflate itself, and thus is now snapped again as part
of inflation.

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

--HG--
extra : moz-landing-system : lando
2019-09-14 16:17:08 +00:00
Andrew Osmond
1c671c3838 Bug 1574493 - Part 4. Snap primitives during scene building. r=kvark
Now that rounding has been removed from Gecko, we need to start snapping
properly in WebRender. Snapping can change the size of a primitive, and
thus it is problematic to do any later than scene building due to the
GPU caching and sharing of data between clips and such that only differ
in their positioning.

This patch produces a snapping transform which allows any primitive to
snap using information known during scene building. This excludes
animated tranforms which are assumed to be the identity. This allows for
primitives that are marked as will-change: transform but given no
initial transform to render the same as primitives that are not. This
also excludes scroll positioning because that is not known until frame
building. A follow up patch will deal with that.

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

--HG--
extra : moz-landing-system : lando
2019-09-14 16:17:06 +00:00
Andrew Osmond
fce484c34f Bug 1574493 - Part 3. Stop rounding rects/clips during display list building. r=jrmuizel
Rounding in layout pixels is very close to snapping in raster pixels if
there are no transforms involved. This is why it worked most of the time
and fell flat in many edge cases. In future parts of this series, we
will trust scene building and frame building to do the heavy lifting for
snapping purposes.

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

--HG--
extra : moz-landing-system : lando
2019-09-14 16:17:04 +00:00
Andrew Osmond
13d6122e89 Bug 1574493 - Part 2. Remove snapping in frame building. r=kvark
This will be rewritten in a later patch in the series. The shaders will
be provided the correct information and will no longer need to concern
themselves with snapping.

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

--HG--
extra : moz-landing-system : lando
2019-09-14 16:17:02 +00:00
Andrew Osmond
811b2b59fa Bug 1574493 - Part 1. Split out repeating and non-repeating images in the display list. r=jrmuizel
Repeating/background images may have extra parameters such the stretch
size and tile spacing, that non-repeating images do not require. By
splitting these apart, we can make it easier to infer what we should do
if snapping changes the size of an image primitive, in addition to
reducing the display list size for non-repeating images.

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

--HG--
extra : moz-landing-system : lando
2019-09-14 16:17:00 +00:00
Botond Ballo
03b31cec00 Bug 1581233 - Add a helper function to reduce repetition at the call sites of HitTestingTreeNode::SetHitTestData(). r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D45916

--HG--
extra : moz-landing-system : lando
2019-09-14 09:01:22 +00:00
Kris Taeleman
2969981f24 Bug 1571976 - Adding profiling for rasterized blob pixels. r=gw
Differential Revision: https://phabricator.services.mozilla.com/D45559

--HG--
extra : moz-landing-system : lando
2019-09-11 23:36:23 +00:00
Hiroyuki Ikezoe
dbf5343dd1 Bug 1581113 - Set dom.animations-api.getAnimations.enabled pref. r=boris
Differential Revision: https://phabricator.services.mozilla.com/D45897

--HG--
extra : moz-landing-system : lando
2019-09-13 21:46:49 +00:00
Ciure Andrei
a4046ec458 Backed out 6 changesets (bug 1574493) for causing nested-sticky-2.html to perma fail CLOSED TREE
Backed out changeset 358746636448 (bug 1574493)
Backed out changeset 34aef5498237 (bug 1574493)
Backed out changeset 1f88e2031c76 (bug 1574493)
Backed out changeset 07c588b5ea10 (bug 1574493)
Backed out changeset 0685e8d3510e (bug 1574493)
Backed out changeset 15d4390220c4 (bug 1574493)
2019-09-13 19:26:50 +03:00
Lee Salzman
b99493d327 Bug 1576077 - make ScaledFontDWrite remember if it needs synthetic bold. r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D45721

--HG--
extra : moz-landing-system : lando
2019-09-13 15:47:32 +00:00
Jonathan Kew
4118072885 Bug 1578154 - Ensure all device contexts flush their nsFontCache when the platform font list is reinitialized. r=jwatt
Differential Revision: https://phabricator.services.mozilla.com/D45432

--HG--
extra : moz-landing-system : lando
2019-09-13 14:49:36 +00:00
Andrew Osmond
35a0f13ba2 Bug 1574493 - Part 6. Add reftest annotations for newly failing/passing tests. r=jrmuizel,kvark
Differential Revision: https://phabricator.services.mozilla.com/D45539

--HG--
extra : moz-landing-system : lando
2019-09-13 14:03:28 +00:00
Andrew Osmond
d34a1ebd32 Bug 1574493 - Part 5. Snap scroll offsets and pictures during frame building. r=kvark
The snapping during scene building is unable to take into account scroll
offsets. Since we have already snapped the primitive rects in the raster
space, we know that this can only result in a translation rather than a
size change, and thus is safe to do during frame building.

When we update the transform tree, we now snap the scroll offset in
device space to ensure that scroll offsets should primarily be integer
offsets and not have snapping implications.

The local rect of a picture is calculated during the first picture
traversel. It is composed of already snapped primitives, however the
picture itself may inflate itself, and thus is now snapped again as part
of inflation.

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

--HG--
extra : moz-landing-system : lando
2019-09-13 14:03:26 +00:00
Andrew Osmond
b39a6837b4 Bug 1574493 - Part 4. Snap primitives during scene building. r=kvark
Now that rounding has been removed from Gecko, we need to start snapping
properly in WebRender. Snapping can change the size of a primitive, and
thus it is problematic to do any later than scene building due to the
GPU caching and sharing of data between clips and such that only differ
in their positioning.

This patch produces a snapping transform which allows any primitive to
snap using information known during scene building. This excludes
animated tranforms which are assumed to be the identity. This allows for
primitives that are marked as will-change: transform but given no
initial transform to render the same as primitives that are not. This
also excludes scroll positioning because that is not known until frame
building. A follow up patch will deal with that.

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

--HG--
extra : moz-landing-system : lando
2019-09-13 14:03:25 +00:00
Andrew Osmond
25866edb78 Bug 1574493 - Part 3. Stop rounding rects/clips during display list building. r=jrmuizel
Rounding in layout pixels is very close to snapping in raster pixels if
there are no transforms involved. This is why it worked most of the time
and fell flat in many edge cases. In future parts of this series, we
will trust scene building and frame building to do the heavy lifting for
snapping purposes.

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

--HG--
extra : moz-landing-system : lando
2019-09-13 14:03:23 +00:00
Andrew Osmond
554bdc1122 Bug 1574493 - Part 2. Remove snapping in frame building. r=kvark
This will be rewritten in a later patch in the series. The shaders will
be provided the correct information and will no longer need to concern
themselves with snapping.

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

--HG--
extra : moz-landing-system : lando
2019-09-13 14:03:15 +00:00
Andrew Osmond
ef0483f724 Bug 1574493 - Part 1. Split out repeating and non-repeating images in the display list. r=jrmuizel
Repeating/background images may have extra parameters such the stretch
size and tile spacing, that non-repeating images do not require. By
splitting these apart, we can make it easier to infer what we should do
if snapping changes the size of an image primitive, in addition to
reducing the display list size for non-repeating images.

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

--HG--
extra : moz-landing-system : lando
2019-09-13 14:03:13 +00:00
Ciure Andrei
8c3feea58a Backed out 6 changesets (bug 1574493) for causing nested-sticky-1.html to perma fail CLOSED TREE
Backed out changeset fdc25a90b0ef (bug 1574493)
Backed out changeset 0ce3c48c1f79 (bug 1574493)
Backed out changeset 326b9f96614b (bug 1574493)
Backed out changeset b0817c0aee77 (bug 1574493)
Backed out changeset 70d99c264df9 (bug 1574493)
Backed out changeset e5217ab4b668 (bug 1574493)
2019-09-13 16:17:47 +03:00
Sylvestre Ledru
42c17aec0b Bug 1581065 - Ride along: Fix two typos in the doc r=andi
Differential Revision: https://phabricator.services.mozilla.com/D45818

--HG--
extra : moz-landing-system : lando
2019-09-13 11:32:01 +00:00
Andrew Osmond
4d96fe56c4 Bug 1574493 - Part 6. Add reftest annotations for newly failing/passing tests. r=jrmuizel,kvark
Differential Revision: https://phabricator.services.mozilla.com/D45539

--HG--
extra : moz-landing-system : lando
2019-09-13 10:48:37 +00:00
Andrew Osmond
c80f443469 Bug 1574493 - Part 5. Snap scroll offsets and pictures during frame building. r=kvark
The snapping during scene building is unable to take into account scroll
offsets. Since we have already snapped the primitive rects in the raster
space, we know that this can only result in a translation rather than a
size change, and thus is safe to do during frame building.

When we update the transform tree, we now snap the scroll offset in
device space to ensure that scroll offsets should primarily be integer
offsets and not have snapping implications.

The local rect of a picture is calculated during the first picture
traversel. It is composed of already snapped primitives, however the
picture itself may inflate itself, and thus is now snapped again as part
of inflation.

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

--HG--
extra : moz-landing-system : lando
2019-09-13 10:48:35 +00:00
Andrew Osmond
3a0a1c5220 Bug 1574493 - Part 4. Snap primitives during scene building. r=kvark
Now that rounding has been removed from Gecko, we need to start snapping
properly in WebRender. Snapping can change the size of a primitive, and
thus it is problematic to do any later than scene building due to the
GPU caching and sharing of data between clips and such that only differ
in their positioning.

This patch produces a snapping transform which allows any primitive to
snap using information known during scene building. This excludes
animated tranforms which are assumed to be the identity. This allows for
primitives that are marked as will-change: transform but given no
initial transform to render the same as primitives that are not. This
also excludes scroll positioning because that is not known until frame
building. A follow up patch will deal with that.

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

--HG--
extra : moz-landing-system : lando
2019-09-13 10:48:33 +00:00
Andrew Osmond
b2d4e121cb Bug 1574493 - Part 3. Stop rounding rects/clips during display list building. r=jrmuizel
Rounding in layout pixels is very close to snapping in raster pixels if
there are no transforms involved. This is why it worked most of the time
and fell flat in many edge cases. In future parts of this series, we
will trust scene building and frame building to do the heavy lifting for
snapping purposes.

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

--HG--
extra : moz-landing-system : lando
2019-09-13 10:48:31 +00:00
Andrew Osmond
b124fe4b02 Bug 1574493 - Part 2. Remove snapping in frame building. r=kvark
This will be rewritten in a later patch in the series. The shaders will
be provided the correct information and will no longer need to concern
themselves with snapping.

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

--HG--
extra : moz-landing-system : lando
2019-09-13 10:48:24 +00:00
Andrew Osmond
25917edfc6 Bug 1574493 - Part 1. Split out repeating and non-repeating images in the display list. r=jrmuizel
Repeating/background images may have extra parameters such the stretch
size and tile spacing, that non-repeating images do not require. By
splitting these apart, we can make it easier to infer what we should do
if snapping changes the size of an image primitive, in addition to
reducing the display list size for non-repeating images.

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

--HG--
extra : moz-landing-system : lando
2019-09-13 10:48:22 +00:00
Andreea Pavel
730793a2ef Backed out 5 changesets (bug 1570081) for assertion failure at WebRenderCommandBuilder.cpp on a CLOSED TREE
Backed out changeset 8d4baf4d063a (bug 1570081)
Backed out changeset 14a4451b2781 (bug 1570081)
Backed out changeset ba19640abf33 (bug 1570081)
Backed out changeset 214c815015a8 (bug 1570081)
Backed out changeset 548e4395ee1a (bug 1570081)
2019-09-13 11:24:59 +03:00
Nicolas Silva
04ec40580d Bug 1570081 - Put the blob dirty rect in the same space as the drawing commands and visible rect. r=jrmuizel
Depends on D43222

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

--HG--
extra : moz-landing-system : lando
2019-09-12 15:59:58 +00:00
Nicolas Silva
563b86112a Bug 1570081 - Don't insert blob images with empty visible rects. r=jrmuizel
Depends on D41389

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

--HG--
extra : moz-landing-system : lando
2019-09-12 15:53:41 +00:00
Nicolas Silva
ebc84206a7 Bug 1570081 - Wrench rawtest changes. r=jrmuizel
Other patches in this series change blob-related coordinate systems which
means rawtests have to be adapted since the previous test parameters will
now give different results.
In addition, the new model for specifying blobs mtaches the visible area
to the layout rectangle of the primitive, which means there is no more
decorrelation between the item and the portion of it that needs rendering,
so one of the test is adapted accordingly.

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

--HG--
extra : moz-landing-system : lando
2019-09-12 15:56:16 +00:00
Nicolas Silva
3bfb23feb3 Bug 1570081 - Support changing the blob image visible rect in WebRender. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D39911

--HG--
extra : moz-landing-system : lando
2019-09-12 15:54:50 +00:00
Bastien Orivel
d843925e5f Bug 1580908 - Part 7: Update serde_bytes to 0.11. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D45716

--HG--
extra : moz-landing-system : lando
2019-09-12 21:46:21 +00:00
Bastien Orivel
081b88925b Bug 1580908 - Part 1: Update uuid to 0.7 to dedupe it. r=froydnj
This also removes a dependency on rand 0.4 getting it closer to being
able to remove that.

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

--HG--
extra : moz-landing-system : lando
2019-09-12 21:45:58 +00:00
Glenn Watson
9b39510831 Bug 1580827 - Fix video stuttering / freezing with WR dirty rects. r=kvark
Differential Revision: https://phabricator.services.mozilla.com/D45734

--HG--
extra : moz-landing-system : lando
2019-09-12 20:19:54 +00:00
Andrew Osmond
388269850b Bug 1580896 - Make wrench's --chase argument support primitive IDs. r=kvark
Differential Revision: https://phabricator.services.mozilla.com/D45703

--HG--
extra : moz-landing-system : lando
2019-09-12 20:17:16 +00:00
Boris Zbarsky
1128b8dee8 Bug 1578173 part 6. Remove remaining uses of [Constructor] from bindings. r=edgar
Differential Revision: https://phabricator.services.mozilla.com/D45394

--HG--
extra : moz-landing-system : lando
2019-09-12 11:01:17 +00:00
Glenn Watson
c873e19b84 Bug 1580677 - Update plane-split dependency to 0.15.0 r=nical
Differential Revision: https://phabricator.services.mozilla.com/D45628

--HG--
extra : moz-landing-system : lando
2019-09-12 12:46:41 +00:00
Gurzau Raul
fe4bb6d539 Backed out 6 changesets (bug 1574493) for wrench failures at stacking-context-clip.yaml on a CLOSED TREE.
Backed out changeset 8a8736ac4e25 (bug 1574493)
Backed out changeset 4a3294e88823 (bug 1574493)
Backed out changeset 0c26ecdc1ddc (bug 1574493)
Backed out changeset 11257f7b3ad3 (bug 1574493)
Backed out changeset dcedc286ad9d (bug 1574493)
Backed out changeset 87f216e0753d (bug 1574493)
2019-09-12 18:34:07 +03:00
Andrew Osmond
ff567c5ddb Bug 1574493 - Part 6. Add reftest annotations for newly failing/passing tests. r=jrmuizel,kvark
Differential Revision: https://phabricator.services.mozilla.com/D45539

--HG--
extra : moz-landing-system : lando
2019-09-12 12:42:52 +00:00
Andrew Osmond
fbb941e1dd Bug 1574493 - Part 5. Snap scroll offsets and pictures during frame building. r=kvark
The snapping during scene building is unable to take into account scroll
offsets. Since we have already snapped the primitive rects in the raster
space, we know that this can only result in a translation rather than a
size change, and thus is safe to do during frame building.

When we update the transform tree, we now snap the scroll offset in
device space to ensure that scroll offsets should primarily be integer
offsets and not have snapping implications.

The local rect of a picture is calculated during the first picture
traversel. It is composed of already snapped primitives, however the
picture itself may inflate itself, and thus is now snapped again as part
of inflation.

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

--HG--
extra : moz-landing-system : lando
2019-09-12 12:42:50 +00:00
Andrew Osmond
fba00abf09 Bug 1574493 - Part 4. Snap primitives during scene building. r=kvark
Now that rounding has been removed from Gecko, we need to start snapping
properly in WebRender. Snapping can change the size of a primitive, and
thus it is problematic to do any later than scene building due to the
GPU caching and sharing of data between clips and such that only differ
in their positioning.

This patch produces a snapping transform which allows any primitive to
snap using information known during scene building. This excludes
animated tranforms which are assumed to be the identity. This allows for
primitives that are marked as will-change: transform but given no
initial transform to render the same as primitives that are not. This
also excludes scroll positioning because that is not known until frame
building. A follow up patch will deal with that.

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

--HG--
extra : moz-landing-system : lando
2019-09-12 12:42:48 +00:00
Andrew Osmond
320cbbf828 Bug 1574493 - Part 3. Stop rounding rects/clips during display list building. r=jrmuizel
Rounding in layout pixels is very close to snapping in raster pixels if
there are no transforms involved. This is why it worked most of the time
and fell flat in many edge cases. In future parts of this series, we
will trust scene building and frame building to do the heavy lifting for
snapping purposes.

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

--HG--
extra : moz-landing-system : lando
2019-09-12 12:42:41 +00:00
Andrew Osmond
571a0f49e1 Bug 1574493 - Part 2. Remove snapping in frame building. r=kvark
This will be rewritten in a later patch in the series. The shaders will
be provided the correct information and will no longer need to concern
themselves with snapping.

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

--HG--
extra : moz-landing-system : lando
2019-09-12 12:42:39 +00:00
Andrew Osmond
7cda552aeb Bug 1574493 - Part 1. Split out repeating and non-repeating images in the display list. r=jrmuizel
Repeating/background images may have extra parameters such the stretch
size and tile spacing, that non-repeating images do not require. By
splitting these apart, we can make it easier to infer what we should do
if snapping changes the size of an image primitive, in addition to
reducing the display list size for non-repeating images.

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

--HG--
extra : moz-landing-system : lando
2019-09-12 12:42:37 +00:00
Nathan Froyd
7c06e89288 Bug 1577583 - use __builtin_popcount in cairo for clang; r=lsalzman
`register` isn't allowed in C++17, but cairo is too old to care.
Instead of turning off the warning, just use the `__builtin_popcount`
path for clang.  This path also applies to clang-cl.

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

--HG--
extra : moz-landing-system : lando
2019-09-12 13:06:01 +00:00
Nicolas Silva
40a8a07d2f Bug 1570081 - Fix a number of issues with the tile decomposition code. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D44689

--HG--
extra : moz-landing-system : lando
2019-09-12 11:49:29 +00:00
Hiroyuki Ikezoe
0eeb21e17f Bug 1541705 - Introduce nsLayoutUtils::FrameIsScrolledOutOfViewInCrossProcess and use it for the check whether animating element is scrolled out of view or not. r=botond,boris
Differential Revision: https://phabricator.services.mozilla.com/D44421

--HG--
extra : moz-landing-system : lando
2019-09-12 08:08:57 +00:00
Hiroyuki Ikezoe
f61192f0f0 Bug 1541705 - Notify areas of out-of-process subframes from the compositor to the corresponding process. r=botond
Note that the areas are clipped out by all ancestor scroll ports and
their coordinate systems are the screen coordinate.  So that we can tell
arbitrary elements in out-of-process iframes are scrolled out or not with
this area and the transform matrix of the iframe on screen coodinate.

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

--HG--
extra : moz-landing-system : lando
2019-09-12 08:08:45 +00:00
Hiroyuki Ikezoe
5221523b46 Bug 1541705 - Introduce remote document rect. r=botond
The rect will be used for calculating the result of the composition of the
remote display item on the compositor.

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

--HG--
extra : moz-landing-system : lando
2019-09-12 08:08:32 +00:00
Kris Taeleman
553a42bb5e Bug 1571977 - Add wrench test for textureRect. r=gw
Differential Revision: https://phabricator.services.mozilla.com/D44925

--HG--
extra : moz-landing-system : lando
2019-09-11 19:58:02 +00:00
Glenn Watson
dd41a93180 Bug 1580063 - Track dirty rects in WR picture cache tiles, and use them to reduce GPU work. r=nical
This patch adds a simple quadtree structure to each picture cache
tile. This tree is used to track dirty regions of each tile. By
using a tree that can split / merge nodes, the CPU overhead of
tracking dirty areas is minimized, by only splitting nodes where
content is regularly changing.

For now, this patch makes use of the dirty rects to set a single
scissor rect when rendering picture cache tiles. This results in
a significant performance improvement (due to fewer pixels being
drawn) on many pages. In future, the dirty rects will also be
exposed at the API level, allowing clients to leverage partial
present APIs for power saving purposes.

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

--HG--
extra : moz-landing-system : lando
2019-09-11 13:20:08 +00:00
Jeff Muizelaar
b8ad0be101 Bug 1580543. Update to VS 2017 for WebRender appveyor. r=kvark
This should hopefully fix WebRender CI.

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

--HG--
extra : moz-landing-system : lando
2019-09-11 17:30:02 +00:00
Steven Michaud
a57ff23303 Bug 1201401 - Work around a crash in CVCGDisplayLink::getDisplayTimes. r=spohl
Differential Revision: https://phabricator.services.mozilla.com/D45426

--HG--
extra : moz-landing-system : lando
2019-09-11 16:49:45 +00:00
Jonathan Kew
393c038cf9 Bug 1580352 - Avoid potential undefined behavior (left-shifting a negative integer) in pixman. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D45512

--HG--
extra : moz-landing-system : lando
2019-09-11 12:22:39 +00:00
Andrew Osmond
90491197ac Bug 1568616 - Include document's scratch buffer in WebRender captures. r=kvark
Differential Revision: https://phabricator.services.mozilla.com/D45188

--HG--
extra : moz-landing-system : lando
2019-09-10 02:34:05 +00:00
Jonathan Kew
aaa84ab1a4 Bug 1548813 - Ensure cached mReplacementCharFallbackFamily is cleared if the font list is reinitialized. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D45347

--HG--
extra : moz-landing-system : lando
2019-09-10 14:19:04 +00:00
Jeff Muizelaar
ecc722c789 Bug 1568227. Change to using the visual rect for the blob bounds. r=nical
This also makes sure that we invalidate for any visible rect bounds changes.
This makes more sense even if it's more conservative.

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

--HG--
extra : moz-landing-system : lando
2019-09-10 17:48:43 +00:00
Jeff Muizelaar
3f94bd9625 Bug 1568227. Remove offset from visible rect. r=nical
This stops making the visible rect relative to the bounds of the image.

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

--HG--
extra : moz-landing-system : lando
2019-09-10 17:48:41 +00:00
Jeff Muizelaar
4e2ce23730 Bug 1568227. Use the visible rect as the display items bounds for fallback items. r=nical
Differential Revision: https://phabricator.services.mozilla.com/D45323

--HG--
extra : moz-landing-system : lando
2019-09-10 17:48:39 +00:00
Jeff Muizelaar
5ce9334259 Bug 1568227. Render blobs at visibleRect.x,y instead of 0,0. r=nical
Differential Revision: https://phabricator.services.mozilla.com/D45322

--HG--
extra : moz-landing-system : lando
2019-09-10 17:48:37 +00:00
Razvan Maries
913fce80bb Backed out 2 changesets (bug 1568227) for perma fails on paint-order-001.tentative.html. CLOSED TREE
Backed out changeset fef155ac9c60 (bug 1568227)
Backed out changeset bb324781c1e3 (bug 1568227)
2019-09-10 20:38:46 +03:00
Ryan Hunt
56dcc94078 Bug 1578075 - Increase stack size of paint thread/workers on OSX Catalina or higher to workaround crash from recursion in CoreText. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D45370

--HG--
extra : moz-landing-system : lando
2019-09-10 15:20:34 +00:00
Jeff Muizelaar
c61d2bd386 Bug 1568227. Use the visible rect as the display items bounds for fallback items. r=nical
Differential Revision: https://phabricator.services.mozilla.com/D45323

--HG--
extra : moz-landing-system : lando
2019-09-10 15:14:37 +00:00
Jeff Muizelaar
b74d61d223 Bug 1568227. Render blobs at visibleRect.x,y instead of 0,0. r=nical
Differential Revision: https://phabricator.services.mozilla.com/D45322

--HG--
extra : moz-landing-system : lando
2019-09-10 15:12:05 +00:00
Simon Giesecke
a7b804f7af Bug 1575479 - Encapsulate mBaseHashtableET::mData. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D45004

--HG--
extra : moz-landing-system : lando
2019-09-10 13:51:09 +00:00
Coroiu Cristina
5928204cd2 Bug 1575874 - Fix ESlint failure a=me on a CLOSED TREE
--HG--
extra : amend_source : 99ee40f9c4bab8f3cdc9f4dc7517dc6be77e32ac
2019-09-10 14:14:20 +03:00
Jamie Nicol
de1f14f711 Bug 1560335 - Enable webrender for Pixel 2 on GeckoView Nightly. r=aosmond
Differential Revision: https://phabricator.services.mozilla.com/D35436

--HG--
extra : moz-landing-system : lando
2019-09-10 10:46:13 +00:00
Bob Owen
f5e4873899 Bug 1575874: Create the CanvasTranslator on the Compositor thread to prevent race with WaitForSurfaceDescriptor. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D43774

--HG--
extra : moz-landing-system : lando
2019-09-10 02:06:28 +00:00
Bob Owen
e2376fc330 Bug 1575796: Pass the begin and current point from the wrapped PathBuilder in PathBuilderRecording::Finish. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D43078

--HG--
extra : moz-landing-system : lando
2019-09-05 18:09:24 +00:00
Bob Owen
4a393ad08e Bug 1575828: Ensure that CanvasChild::GetDataSurface is called on the main thread. r=jrmuizel
This also makes sure the SourceSurfaceCanvasRecording clean-up is done on the
main thread where required.

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

--HG--
extra : moz-landing-system : lando
2019-09-10 02:06:46 +00:00
Bob Owen
7d5ad55fe0 Bug 1575832: Ensure canvas recorded event translation has finished before shutting down the canvas thread. r=jrmuizel
Null checks have been added for the recorder in CanvasChild to prevent crashes
during shutdown.
This also removes mCanSend in CanvasParent and uses CanSend() instead.

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

--HG--
extra : moz-landing-system : lando
2019-09-06 18:38:25 +00:00
Mihai Alexandru Michis
0ef6713848 Merge autoland to mozilla-central. a=merge 2019-09-10 12:52:27 +03:00
Dorel Luca
0f892548f9 Backed out 4 changesets (bug 1578576) for causing build failure with microsoft visual studio 2019. a=backout
Backed out changeset e5b3436fc277 (bug 1578576)
Backed out changeset cd2799d2d190 (bug 1578576)
Backed out changeset 13282d7a47a5 (bug 1578576)
Backed out changeset 3064469c073d (bug 1578576)

--HG--
rename : gfx/angle/checkout/src/common/Color.inc => gfx/angle/checkout/src/common/Color.inl
rename : gfx/angle/checkout/src/image_util/copyimage.inc => gfx/angle/checkout/src/image_util/copyimage.inl
rename : gfx/angle/checkout/src/image_util/generatemip.inc => gfx/angle/checkout/src/image_util/generatemip.inl
rename : gfx/angle/checkout/src/image_util/loadimage.inc => gfx/angle/checkout/src/image_util/loadimage.inl
rename : gfx/angle/checkout/src/libANGLE/Version.inc => gfx/angle/checkout/src/libANGLE/Version.inl
rename : gfx/angle/checkout/src/libANGLE/renderer/d3d/d3d11/dxgi_support_table_autogen.cpp => gfx/angle/checkout/src/libANGLE/renderer/d3d/d3d11/dxgi_support_table.cpp
rename : gfx/angle/checkout/src/libGLESv2/proc_table_egl.h => gfx/angle/checkout/src/libGLESv2/proc_table.h
rename : gfx/angle/checkout/src/libGLESv2/proc_table_egl_autogen.cpp => gfx/angle/checkout/src/libGLESv2/proc_table_autogen.cpp
2019-09-10 11:54:20 +03:00
Dzmitry Malyshau
c6f647e9c9 Bug 1579318 - Switch mozangle dependency of Wrench to 0.2 r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D44934

--HG--
extra : moz-landing-system : lando
2019-09-10 02:04:32 +00:00
Bogdan Tara
1735c8570e Backed out changeset bde7561bd171 (bug 1571977) for wrench amd tidy failures CLOSED TREE 2019-09-10 04:23:19 +03:00
Kris Taeleman
5af13d7fdd Bug 1571977 - Add wrench test for textureRect. r=gw
Differential Revision: https://phabricator.services.mozilla.com/D44925

--HG--
extra : moz-landing-system : lando
2019-09-10 00:32:33 +00:00
Bogdan Tara
18bc1e5f1c Backed out changeset aca75dcd4379 (bug 1560335) for android bustages complaining about gfxPlatform.cpp CLOSED TREE 2019-09-10 00:45:08 +03:00
Jamie Nicol
e25c972bc8 Bug 1560335 - Enable webrender for Pixel 2 on GeckoView Nightly. r=aosmond
Differential Revision: https://phabricator.services.mozilla.com/D35436

--HG--
extra : moz-landing-system : lando
2019-09-09 17:10:42 +00:00
Lee Salzman
b29a21235b Bug 1573049 - silence filter node type warnings. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D44903

--HG--
extra : moz-landing-system : lando
2019-09-09 20:25:03 +00:00
Dzmitry Malyshau
743324c2d2 Bug 1579316 - Automatically select GPU adapter in WR wrench and examples on macOS r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D44933

--HG--
extra : moz-landing-system : lando
2019-09-06 21:07:27 +00:00
Markus Stange
d603768670 Bug 1578330 - Call GetBufferSize after BeginFrame because RenderCompositorANGLE mutates it in BeginFrame. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D45143

--HG--
extra : moz-landing-system : lando
2019-09-09 03:59:15 +00:00
Botond Ballo
3e8ba858e5 Bug 1570559 - Add a gtest. r=tnikkel
Depends on D45083

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

--HG--
extra : moz-landing-system : lando
2019-09-06 22:10:03 +00:00
Botond Ballo
8bce3e7fac Bug 1570559 - Move helper functions that are only used in TestTreeManager.cpp into that file. r=tnikkel
Depends on D45082

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

--HG--
extra : moz-landing-system : lando
2019-09-06 22:03:45 +00:00
Botond Ballo
8bbdacfb8a Bug 1570559 - Add a helper function APZCTreeManagerTester::UpdateHitTestingTree(). r=tnikkel
Depends on D44712

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

--HG--
extra : moz-landing-system : lando
2019-09-06 22:03:43 +00:00
Botond Ballo
20431125e7 Bug 1570559 - When the target APZC changes mid-gesture, always clear the old APZC's gesture state. r=tnikkel
Previously we were only doing this if content wasn't prevent-defaulting the
events targeting the new APZC.

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

--HG--
extra : moz-landing-system : lando
2019-09-06 21:23:23 +00:00
Markus Stange
9cd785e1c4 Bug 1578045 - Correctly return zero vertices if clipping plane 0 or 2 clip away the entire polygon. r=kip
This fixes a bug that was introduced three years ago in bug 1268854.
What happened was that the final pass over the polygon assumed that the current
polygon was living in plane[0]. But due to the double buffering, the "current"
polygon alternates between plane[0] and plane[1]. And bug 1268854 had introduced
an early exit so that we could hit the final pass at a time where the current,
now empty, polygon was in plane[1]. So we would incorrectly treat all 32 points
in plane[0] as part of the final polygon.

This bug was responsible for intermittently unreasonable numbers in CompositorOGL's fill
rate / overdraw overlay, and, since changeset cc84a0e9d5ddde198422f4f11ab6bf85f631d5f0,
also caused CompositorOGL to execute unnecessary draw calls.

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

--HG--
extra : moz-landing-system : lando
2019-09-06 17:12:06 +00:00
Miko Mynttinen
e110583d7c Bug 1578576 - Part 3: Prefer ES2 for WebGL1 r=jgilbert
Depends on D44580

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

--HG--
extra : moz-landing-system : lando
2019-09-07 19:38:21 +00:00
Miko Mynttinen
20f8e99683 Bug 1578576 - Part 2: Update to ANGLE 3865 r=jgilbert
Depends on D44561

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

--HG--
rename : gfx/angle/checkout/src/common/Color.inl => gfx/angle/checkout/src/common/Color.inc
rename : gfx/angle/checkout/src/image_util/copyimage.inl => gfx/angle/checkout/src/image_util/copyimage.inc
rename : gfx/angle/checkout/src/image_util/generatemip.inl => gfx/angle/checkout/src/image_util/generatemip.inc
rename : gfx/angle/checkout/src/image_util/loadimage.inl => gfx/angle/checkout/src/image_util/loadimage.inc
rename : gfx/angle/checkout/src/libANGLE/Version.inl => gfx/angle/checkout/src/libANGLE/Version.inc
rename : gfx/angle/checkout/src/libANGLE/renderer/d3d/d3d11/dxgi_support_table.cpp => gfx/angle/checkout/src/libANGLE/renderer/d3d/d3d11/dxgi_support_table_autogen.cpp
rename : gfx/angle/checkout/src/libGLESv2/proc_table.h => gfx/angle/checkout/src/libGLESv2/proc_table_egl.h
rename : gfx/angle/checkout/src/libGLESv2/proc_table_autogen.cpp => gfx/angle/checkout/src/libGLESv2/proc_table_egl_autogen.cpp
extra : moz-landing-system : lando
2019-09-07 13:38:36 +00:00
Miko Mynttinen
9d0e84cb7b Bug 1578576 - Part 1: Update angle updater and merge base r=jgilbert
Differential Revision: https://phabricator.services.mozilla.com/D44561

--HG--
extra : moz-landing-system : lando
2019-09-07 13:36:46 +00:00
Brindusan Cristian
c2bb1572d6 Backed out changeset 5e0ff929002a (bug 1579318) for wrench bustages on Microsoft.Diagnostics.Tracing.EventSource.dll. CLOSED TREE 2019-09-07 02:19:40 +03:00
Lee Salzman
31b462db31 Bug 1572913 - check ClearType level in ScaledFontDWrite::GetDefaultAAMode. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D44912

--HG--
extra : moz-landing-system : lando
2019-09-06 18:45:56 +00:00
Dzmitry Malyshau
04b5aea7d1 Bug 1579227 - Switch YUV images to be opaque in WR r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D45030

--HG--
extra : moz-landing-system : lando
2019-09-06 17:38:44 +00:00
Dave Townsend
df895249c6 Bug 1550058: Move most keyboard shortcut handling out of XBL. r=masayuki
Most of our keyboard shortcut handling is handled by nsXBLWindowKeyHandler along
with nsXBLPrototypeHandler. With the impending removal of XBL this needs to
change.

This patch moves nsXBLWindowKeyHandler to dom/events/GlobalKeyListener and copies
nsXBLPrototypeHandler to dom/events/KeyEventHandler. Windows, text elements and
XUL <keyset> are changed to use the new copies and anything unnecessary for
those is stripped out.

XBL handler elements still remain using the existing nsXBLPrototypeHandler path.
Some of the code is ripped out there to make it compile. There is probably a
lot more that can be removed but since the whole of XBL is likely gone soon I'm
not sure it is worth cleaning that up much.

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

--HG--
rename : dom/xbl/nsXBLWindowKeyHandler.cpp => dom/events/GlobalKeyListener.cpp
rename : dom/xbl/nsXBLWindowKeyHandler.h => dom/events/GlobalKeyListener.h
rename : dom/xbl/nsXBLPrototypeHandler.cpp => dom/events/KeyEventHandler.cpp
rename : dom/xbl/nsXBLPrototypeHandler.h => dom/events/KeyEventHandler.h
rename : dom/xbl/builtin/ShortcutKeyDefinitionsForBrowserCommon.h => dom/events/ShortcutKeyDefinitionsForBrowserCommon.h
rename : dom/xbl/builtin/ShortcutKeyDefinitionsForEditorCommon.h => dom/events/ShortcutKeyDefinitionsForEditorCommon.h
rename : dom/xbl/builtin/ShortcutKeyDefinitionsForInputCommon.h => dom/events/ShortcutKeyDefinitionsForInputCommon.h
rename : dom/xbl/builtin/ShortcutKeyDefinitionsForInputCommon.h => dom/events/ShortcutKeyDefinitionsForTextAreaCommon.h
rename : dom/xbl/builtin/ShortcutKeys.cpp => dom/events/ShortcutKeys.cpp
rename : dom/xbl/builtin/ShortcutKeys.h => dom/events/ShortcutKeys.h
rename : dom/xbl/builtin/android/ShortcutKeyDefinitions.cpp => dom/events/android/ShortcutKeyDefinitions.cpp
rename : dom/xbl/builtin/android/moz.build => dom/events/android/moz.build
rename : dom/xbl/builtin/emacs/ShortcutKeyDefinitions.cpp => dom/events/emacs/ShortcutKeyDefinitions.cpp
rename : dom/xbl/builtin/android/moz.build => dom/events/emacs/moz.build
rename : dom/xbl/builtin/mac/ShortcutKeyDefinitions.cpp => dom/events/mac/ShortcutKeyDefinitions.cpp
rename : dom/xbl/builtin/android/moz.build => dom/events/mac/moz.build
rename : dom/xbl/builtin/unix/ShortcutKeyDefinitions.cpp => dom/events/unix/ShortcutKeyDefinitions.cpp
rename : dom/xbl/builtin/android/moz.build => dom/events/unix/moz.build
rename : dom/xbl/builtin/win/ShortcutKeyDefinitions.cpp => dom/events/win/ShortcutKeyDefinitions.cpp
rename : dom/xbl/builtin/android/moz.build => dom/events/win/moz.build
extra : moz-landing-system : lando
2019-09-06 17:10:40 +00:00
thomasmo
0987c90616 Bug 1576975 - Compile VRSession.cpp into vrhost.dll r=kip
Includes changes for separating mozilla-central-specific code.

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

--HG--
extra : moz-landing-system : lando
2019-09-06 16:48:56 +00:00
Dzmitry Malyshau
4bfcb3fba0 Bug 1579318 - Switch mozangle dependency of Wrench to 0.2 r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D44934

--HG--
extra : moz-landing-system : lando
2019-09-06 16:55:52 +00:00
Botond Ballo
4fa43ed7fe Bug 1576524 - Clean up APZCTreeManager::mDetachedLayersIds in UpdateHitTestingTree. r=tnikkel
This ensures that mDetachedLayersIds doesn't grow indefinitely.

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

--HG--
extra : moz-landing-system : lando
2019-09-06 08:39:52 +00:00
Botond Ballo
11566e8cc0 Bug 1576524 - Have APZCTreeManager track a set of layers ids for which it should not send MatrixMessages. r=tnikkel,hsivonen
Differential Revision: https://phabricator.services.mozilla.com/D44740

--HG--
extra : moz-landing-system : lando
2019-09-06 08:28:36 +00:00
Cosmin Sabou
90087b3c49 Backed out changeset 1c068477fae2 (bug 1579318) for causing qr tidy bustages. CLOSED TREE
--HG--
extra : rebase_source : eec7dedcf5f1c886e9cc98c1d98fc7d2f3e29183
2019-09-06 18:21:25 +03:00
Jeff Muizelaar
eeaaa467b6 Bug 1579405. Remove some debugging code added in bug 1493616. r=nical
This isn't needed any more and conflicts with the changes happening in bug 1579404

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

--HG--
extra : moz-landing-system : lando
2019-09-06 15:06:05 +00:00
Jeff Muizelaar
76625b1eb6 Bug 1579401. wr-blob: Merge if condition. r=nical
No need to check twice and this will make it cleaner when we change the condition.

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

--HG--
extra : moz-landing-system : lando
2019-09-06 15:05:20 +00:00
Jeff Muizelaar
47c358dd9e Bug 1579397. wr-blob: Rename mPaintRect to mVisibleRect. r=nical
This moves it in line with the terminology used elsewhere.

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

--HG--
extra : moz-landing-system : lando
2019-09-06 15:04:31 +00:00
Dzmitry Malyshau
5d78d59ef4 Bug 1579318 - Switch mozangle dependency of Wrench to 0.2 r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D44934

--HG--
extra : moz-landing-system : lando
2019-09-06 03:19:05 +00:00
Ting-Yu Lin
b8fee8f71c Bug 1308587 Part 2 - Remove -moz prefix for all multi-column properties in testing and css files. r=dholbert
This patch is generated by the following script:

```
function remove_column_prefix() {
    echo "Renaming $1 to $2"
    find .\
         -type f\
         ! -path "./obj*"\
         ! -path "./.git"\
         ! -path "./.hg"\
         \( -name "*.html" -or\
            -name "*.xhtml" -or\
            -name "*.xht" -or\
            -name "*.xul" -or\
            -name "*.xml" -or\
            -name "*.css"  \)\
            -exec sed -i -e "s/$1/$2/g" "{}" \;
}

remove_column_prefix "-moz-columns" "columns"
remove_column_prefix "-moz-column-width" "column-width"
remove_column_prefix "-moz-column-count" "column-count"
remove_column_prefix "-moz-column-fill" "column-fill"
remove_column_prefix "-moz-column-gap" "column-gap"
remove_column_prefix "-moz-column-rule" "column-rule"
remove_column_prefix "-moz-column-rule-width" "column-rule-width"
remove_column_prefix "-moz-column-rule-color" "column-rule-color"
remove_column_prefix "-moz-column-rule-style" "column-rule-style"

```

Note: after running the above script, I reverted one minor change to the
file multicol-nested-column-rule-001.xht in the theoretically read-only
directory layout/reftests/w3c-css/received/css-multicol/.

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

--HG--
extra : moz-landing-system : lando
2019-09-05 21:37:32 +00:00
Jeff Muizelaar
725bfc2aef Bug 1579231. Add some additional debugging output to blob grouping. r=mstange
Also rearranges some corresponding code.

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

--HG--
extra : moz-landing-system : lando
2019-09-05 22:21:23 +00:00
Razvan Maries
d1e676c8db Backed out changeset b83d5986ddf7 (bug 1579231) for build bustages on WebRenderCommandBuilder.cpp. CLOSED TREE 2019-09-06 00:38:06 +03:00
Jeff Muizelaar
c64e7e7e52 Bug 1579233. wr-blob: Use aImageRect.TopLeft() directly instead of calling it offset. r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D44906

--HG--
extra : moz-landing-system : lando
2019-09-05 21:16:43 +00:00
Jeff Muizelaar
3b01bda4c3 Bug 1579231. Add some additional debugging output to blob grouping. r=mstange
Also rearranges some corresponding code.

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

--HG--
extra : moz-landing-system : lando
2019-09-05 21:16:41 +00:00
Glenn Watson
a33501d4ab Bug 1578986 - Refactor tile comparisons to enable dirty rect checking. r=nical
Previously, primitive sub-dependencies (such as transforms, opacity
bindings etc) were invalidated by comparing the dependency array
only. This means that it's not possible to correlate an area of
a tile that is affected by those sub-dependencies.

Now, comparisons on sub-dependencies are handled as part of the
dependency check for each primitive. This means we have the
affected rectangle of the tile available, which will allow
dirty regions within a tile to be built correctly.

This patch is only preparation work - the actual dirty rect
calculation will be done as a follow up patch.

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

--HG--
extra : moz-landing-system : lando
2019-09-05 20:44:41 +00:00
thomasmo
9517432844 Bug 1570120 - Create FxR HTML UI with navigation r=Gijs
This change introduces the HTML-based UI for the 2D Content window in Firefox
Reality for Desktop, accessed via the --fxr command line parameter.

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

--HG--
extra : moz-landing-system : lando
2019-09-05 19:25:42 +00:00
Kristen Wright
885b132251 Bug 1578378 - use 'false' instead of hidden static pref in non-nightly builds r=gw
Falls back to 'false' in non-nightly builds instead of using the gfx.webrender.start-debug-server pref, which is only available in nightly builds.

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

--HG--
extra : moz-landing-system : lando
2019-09-05 08:00:21 +00:00
Steven Michaud
574a2cd354 Bug 1201401 - Work around a crash in CVCGDisplayLink::getDisplayTimes. r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D44525

--HG--
extra : moz-landing-system : lando
2019-09-05 15:49:21 +00:00
Csoregi Natalia
321d7f8f17 Backed out changeset e16dda7ba4bf (bug 1570120) for failures on browser_parsable_css.js related to custom properties. CLOSED TREE 2019-09-05 06:21:44 +03:00
Glenn Watson
d6bac95db7 Bug 1578641 - Improve how tile clipping works in WR picture caching. r=kvark
Previously, picture caching code would use the viewport of the
scroll root to find a clipping rect for picture cache tiles. This
viewport rect was also used to eliminate fixed position clip rects
on primitives that would otherwise cause unwanted invalidations
due to them moving relative to the scroll root when scrolls occur.

Now, the picture caching code uses a similar technique to Gecko
to find shared clips on primitives in a picture cache. These clips
are filtered out from being applied on a per-primitive basis, and
instead applied once during compositing the tiles into the parent
picture.

This is a potential performance improvement, since less per-item
work is required when building clip chains. More importantly, it
means the picture caching code correctly handles cases where the
scroll root contains fixed position elements (or other scroll
roots). This is a requirement before we can enable picture caching
on multiple slices.

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

--HG--
extra : moz-landing-system : lando
2019-09-04 20:30:12 +00:00
thomasmo
a7ea9dae63 Bug 1570128:Part 1 - Present VR output to VR Host r=kip,jrmuizel,handyman,sotaro
This change introduces plumbing for communicating with the GPU process through
VRShMem while bootstrapping Firefox for creating a window with Firefox Reality.
Test impact shows a fabricated value returned for the texture handle in VRShMem.

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

--HG--
extra : moz-landing-system : lando
2019-09-04 19:58:51 +00:00
thomasmo
de1b47b157 Bug 1570120 - Create FxR HTML UI with navigation r=Gijs
This change introduces the HTML-based UI for the 2D Content window in Firefox
Reality for Desktop, accessed via the --fxr command line parameter.

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

--HG--
extra : moz-landing-system : lando
2019-09-04 20:30:14 +00:00
Eric Rahm
770e0fc0d2 Bug 1578025 - Remove using namespace std from gfx/vr. r=kip
Differential Revision: https://phabricator.services.mozilla.com/D44307

--HG--
extra : moz-landing-system : lando
2019-09-04 19:32:00 +00:00
Kris Taeleman
eaa0124969 Bug 1522422 - Fixing opacity issue on SVG USE elements in D2D. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D44059

--HG--
extra : moz-landing-system : lando
2019-09-04 13:26:43 +00:00
Gerald Squelart
e1481bf4bb Bug 1576550 - AUTO_PROFILER_STATS(add_marker...) - r=gregtatum
Gather stats for most calls to `profiler_add_marker()`, including the time to
allocate payloads if any.

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

--HG--
extra : moz-landing-system : lando
2019-09-04 07:58:21 +00:00
Gerald Squelart
95f77c2409 Bug 1576819 - Use PROFILER_ADD_MARKER{,_WITH_PAYLOAD} everywhere - r=gregtatum
All calls to `profiler_add_marker()` (outside of the profilers code) are
now replaced by either:
- `PROFILER_ADD_MARKER(name, categoryPair)`
- `PROFILER_ADD_MARKER_WITH_PAYLOAD(name, categoryPair, TypeOfMarkerPayload,
                                    (payload, ..., arguments))`

This makes all calls consistent, and they won't need to prefix the category pair
with `JS::ProfilingCategoryPair::`.

Also it will make it easier to add (and later remove) internal-profiling
instrumentation (bug 1576550), and to replace heap-allocated payloads with
stack-allocated ones (bug 1576555).

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

--HG--
extra : moz-landing-system : lando
2019-09-04 07:56:51 +00:00
sotaro
45201fa9a1 Bug 1578605 - Remove workaround of Bug 1569881 r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D44592

--HG--
extra : moz-landing-system : lando
2019-09-04 02:40:27 +00:00
Tom Ritter
d922064696 Bug 1547519 - Rename NS_STRINGIFY to MOZ_STRINGIFY, move to mfbt, and unify stragglers r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D39961

--HG--
extra : moz-landing-system : lando
2019-09-04 02:40:32 +00:00
Glenn Watson
0b27e4437e Bug 1578340 - Intern local position + spatial node in WR clips. r=nical
Previously, clip nodes interned the local clip information, but
stored the spatial node and the local position as part of the
instance.

This was required since the local position of clips would change
when a new display was sent after scrolling. However, since we
now handle this via external scroll offsets, the local position
is stable, and we can intern both the position and spatial node.

This greatly simplifies some in-progress work for picture caching,
where we want to be able to quickly identify clip chain nodes that
are shared between elements of a display list. With this change,
comparing the item uid of the interned clip node is enough to
guarantee equality of the shared clips.

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

--HG--
extra : moz-landing-system : lando
2019-09-03 15:15:00 +00:00
sotaro
6ad6dcbc80 Bug 1576087 - Split EGLSurface creation from RenderCompositorANGLE::ResizeBufferIfNeeded() r=nical
Differential Revision: https://phabricator.services.mozilla.com/D43212

--HG--
extra : moz-landing-system : lando
2019-09-03 12:36:09 +00:00
Markus Stange
5bc93ccd37 Bug 1578310 - Delete framebuffers for deleted IOSurfaces. r=mattwoodrow
I had accidentally flipped things around so that the framebuffers were only
deleted when a registry was set.

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

--HG--
extra : moz-landing-system : lando
2019-09-03 00:33:31 +00:00
Markus Stange
8b10792aed Bug 1578305 - Remove debug overlay layers in LayerManagerComposite::Destroy(). r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D44409

--HG--
extra : moz-landing-system : lando
2019-09-03 00:33:31 +00:00
Eric Rahm
c5497a628a Bug 1577916 - Remove using namespace std from gfx/layers r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D44285

--HG--
extra : moz-landing-system : lando
2019-09-02 17:38:31 +00:00
Coroiu Cristina
7b22710544 Backed out changeset 6e0fb526633d (bug 1577916) for build bustage at gfx/layers/composite/TextRenderer.cpp on a CLOSED TREE 2019-09-02 20:15:28 +03:00
Eric Rahm
bb149919a3 Bug 1577916 - Remove using namespace std from gfx/layers r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D44285

--HG--
extra : moz-landing-system : lando
2019-09-02 16:53:17 +00:00
Nicolas Silva
5c0955df2d Bug 1577766 - Move render target code into its own file. r=gw
Differential Revision: https://phabricator.services.mozilla.com/D44225

--HG--
extra : moz-landing-system : lando
2019-09-02 11:46:39 +00:00
Nicolas Silva
f730ca72ec Bug 1577766 - Move Frame into frame_builder.rs. r=gw
Differential Revision: https://phabricator.services.mozilla.com/D44224

--HG--
extra : moz-landing-system : lando
2019-09-02 11:47:44 +00:00
Nicolas Silva
c129c7918f Bug 1577766 - Move CompositeOps into display_list_flattener.rs. r=gw
Differential Revision: https://phabricator.services.mozilla.com/D44171

--HG--
extra : moz-landing-system : lando
2019-09-02 11:48:15 +00:00
Nicolas Silva
87c3918219 Bug 1577766 - Rename tiling.rs into render_task_graph.rs and move some code around. r=gw
Differential Revision: https://phabricator.services.mozilla.com/D44165

--HG--
rename : gfx/wr/webrender/src/tiling.rs => gfx/wr/webrender/src/render_task_graph.rs
extra : moz-landing-system : lando
2019-09-02 11:48:15 +00:00
Nicolas Silva
2e3f0733db Bug 1577766 - Rename Renderer::draw_tile_frame into draw_frame. r=gw
Differential Revision: https://phabricator.services.mozilla.com/D44164

--HG--
extra : moz-landing-system : lando
2019-09-02 11:44:20 +00:00
Eric Rahm
8c12aa46aa Bug 1578024 - Remove using namespace std from nsRegion. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D44306

--HG--
extra : moz-landing-system : lando
2019-09-02 03:02:26 +00:00
Markus Stange
1ae94e638a Bug 1578100 - Respect the clip when calculating the number of pixels to fill. r=mattwoodrow
This makes the fill rate numbers which are displayed in the FPS overlay a lot more reasonable.
It also requires the TransformAndClipBounds fix from bug 1578045 for correct numbers.

Depends on D44337

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

--HG--
extra : moz-landing-system : lando
2019-09-02 00:40:06 +00:00
Markus Stange
d6940a6a56 Bug 1578100 - Implement LayerManagerComposite::UpdateDebugOverlayNativeLayers(). r=mattwoodrow
This creates and updates layers that draw the same things as RenderDebugOverlay().
The code is duplicated so that the overlay can be independent of the compositing
layer content drawing. All layers need to be drawn first, and the GPU stats from
that layer are shown in mGPUStatsLayer.

Depends on D44336

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

--HG--
extra : moz-landing-system : lando
2019-09-02 01:48:33 +00:00
Markus Stange
8404e52ef7 Bug 1578100 - Factor out DrawTranslationWarningOverlay. r=mattwoodrow
Depends on D44335

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

--HG--
extra : moz-landing-system : lando
2019-09-02 00:37:13 +00:00
Markus Stange
f904099105 Bug 1578100 - Add TextRenderer::RenderTextToDrawTarget. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D44335

--HG--
extra : moz-landing-system : lando
2019-09-02 00:21:40 +00:00
Markus Stange
ba17a54ab1 Bug 1578100 - Factor out surface size computation. r=mattwoodrow
Depends on D44333

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

--HG--
extra : moz-landing-system : lando
2019-09-02 00:11:17 +00:00
Markus Stange
5f6164656a Bug 1578100 - Remove unused aTextSize argument. r=mattwoodrow
Depends on D44332

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

--HG--
extra : moz-landing-system : lando
2019-09-02 00:05:41 +00:00
Markus Stange
6164efc5d6 Bug 1578100 - Use DrawTarget::CopySurface in the text renderer. r=mattwoodrow
Depends on D44330

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

--HG--
extra : moz-landing-system : lando
2019-09-01 22:48:50 +00:00
Markus Stange
a847ab162b Bug 1578099 - Remove now-unnecessary default framebuffer functionality from GLContextCGL. r=mattwoodrow
This essentially backs out the two patches from bug 1565668 that added this
functionality.

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

--HG--
extra : moz-landing-system : lando
2019-09-02 00:37:56 +00:00
Markus Stange
9a8cc12a55 Bug 1578099 - Use NativeLayer::NextSurfaceAsFramebuffer in CompositorOGL and remove #ifdefs. r=mattwoodrow
CompositingRenderTargetOGL objects are no longer reused between frames. They are
recreated each frame around a reused framebuffer. This lets us remove the
SetOrigin method again, because we specify the right render target origin on
creation.

Depends on D44328

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

--HG--
extra : moz-landing-system : lando
2019-09-01 22:48:36 +00:00
Markus Stange
df38e03696 Bug 1578099 - Tweak CompositingRenderTargetOGL initialization flow. r=mattwoodrow
Depends on D44327

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

--HG--
extra : moz-landing-system : lando
2019-09-01 22:45:20 +00:00
Markus Stange
c64f3440ff Bug 1578099 - Change CompositingRenderTargetOGL creation API. r=mattwoodrow
Depends on D44326

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

--HG--
extra : moz-landing-system : lando
2019-09-01 22:42:19 +00:00
Markus Stange
85f866aad1 Bug 1578099 - Use NativeLayer::NextSurfaceAsFramebuffer for WebRender. r=mattwoodrow
Depends on D44325

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

--HG--
extra : moz-landing-system : lando
2019-09-01 22:36:00 +00:00
Markus Stange
c6660314f0 Bug 1578099 - Add NativeLayer::NextSurfaceAsFramebuffer. r=mattwoodrow
This returns the raw framebuffer GLuint and lets the caller bind it.
Initially I wanted to return a RefPtr<MozFramebuffer>, but then I discovered
that MozFramebuffer is not a refcounted class and prefers UniquePtrs.

Depends on D44324

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

--HG--
extra : moz-landing-system : lando
2019-09-01 22:35:56 +00:00
Markus Stange
96d209cbf3 Bug 1578099 - Use NativeLayer::NextSurfaceAsDrawTarget in BasicCompositor and remove #ifdefs. r=mattwoodrow
Depends on D44322

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

--HG--
extra : moz-landing-system : lando
2019-09-01 21:37:08 +00:00
Markus Stange
e6da884bfd Bug 1578099 - Add NativeLayer::NextSurfaceAsDrawTarget. r=mattwoodrow
This uses MacIOSurface internally. NextSurfaceAsDrawTarget locks the MacIOSurface,
and NotifySurfaceReady unlocks it if necessary.

Depends on D44321

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

--HG--
extra : moz-landing-system : lando
2019-09-01 23:22:04 +00:00
Markus Stange
975773c0ae Bug 1578099 - Make more NativeLayerCA methods available on NativeLayerCA. r=mattwoodrow
The comments above these methods refer to NextSurface* methods which will be
added in later patches.

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

--HG--
extra : moz-landing-system : lando
2019-09-01 20:54:07 +00:00
Eric Rahm
4cb2415f74 Bug 1577910 - Remove using namespace std from gfx/2d r=nical
Differential Revision: https://phabricator.services.mozilla.com/D44281

--HG--
extra : moz-landing-system : lando
2019-09-01 18:32:06 +00:00
Markus Stange
f08bba7374 Bug 1491456 - Split the window into "compositing tiles" sized to 1024x1024. r=mattwoodrow
The tile size is configurable with the prefs layers.compositing-tiles.width/height.

On macOS, whenever a CALayer is touched, the window server will recomposite the
entire layer to the screen. There is no API to mark parts of a layer as damaged.
So if we want the window server to only redraw a small part of the screen, we
need to only touch small layers. This patch achieves that using tiles; whenever
the compositor needs to redraw an area, all tiles that overlap this area will
be drawn to their layers and the window server will recomposite those layers.

On Intel GPUs, compositing in tiles should also help reduce GPU times if there
are multiple layers of overdraw: The overdraw will have better cache locality.
However, the magnitude of this effect is not known and requires further research.

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

--HG--
extra : moz-landing-system : lando
2019-08-31 16:00:16 +00:00
Markus Stange
8b0020ab7e Bug 1574586 - Create separate NativeLayer objects for opaque and transparent parts of the window, and do one composite each to draw their contents. r=mattwoodrow
This means that when something changes in an opaque layer, the window server
only needs to copy the opaque layer to the screen and can avoid recomputing any
window backgrounds for transparent parts of the window. This can save power,
especially when transparent parts of the window use the macOS vibrancy effect,
which requires the window server to compute a blur and to composite windows
behind our window.

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

--HG--
extra : moz-landing-system : lando
2019-08-31 16:03:42 +00:00
Mihai Alexandru Michis
13b5aea376 Bug 1574745 - Fix bustages on OS X Cross Compiled. a=bustage-fix CLOSED TREE
--HG--
extra : amend_source : 3fcae6bae609b58437fbc1e981dc00b03a3e3432
2019-08-31 05:05:53 +03:00
Markus Stange
6d617acaca Bug 1574745 - Get everything ready for rendering into multiple native layers. r=mattwoodrow
This change breaks the draw-fps overlay when using native layers. I'll try to
fix that in a new bug soon.

The do { } while(0) loop looks a bit odd, but it'll get replaced with a proper
loop in bug 1574586.

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

--HG--
extra : moz-landing-system : lando
2019-08-30 21:52:32 +00:00
Markus Stange
fe46c46820 Bug 1574745 - Reorder layer rendering invocations. r=mattwoodrow
This change groups the work that has to be done per compositing tile.

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

--HG--
extra : moz-landing-system : lando
2019-08-30 19:52:56 +00:00
Markus Stange
2fccca3dcc Bug 1574745 - Maintain a full window render target when rendering to native layers with CompositorOGL. r=mattwoodrow
This makes profiler screenshots and frame recording work again, when native
layers are used. The copying is a bit unfortunate. Maybe we can combine this
copy with the first downscaling step in the future. Or for frame recording,
which doesn't use downscaling, we could readback the layers individually and
reassemble them in CPU memory. But both of those solutions are more complex
than this.

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

--HG--
extra : moz-landing-system : lando
2019-08-30 19:52:40 +00:00
Markus Stange
b2ce563f4b Bug 1574745 - Change BlitFrameBufferToFrameBuffer to take rects instead of sizes. r=jgilbert
Differential Revision: https://phabricator.services.mozilla.com/D43876

--HG--
extra : moz-landing-system : lando
2019-08-31 01:30:53 +00:00
Markus Stange
e9142df968 Bug 1574745 - Move ShouldRecordFrames() from BasicCompositor to Compositor because CompositorOGL will need it. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D43875

--HG--
extra : moz-landing-system : lando
2019-08-30 19:52:15 +00:00
Markus Stange
8490842d2f Bug 1574745 - Calculate mShouldInvalidateWindow at the beginning of the frame. r=mattwoodrow
This is so that we can invalidate all layers when screenshot profiling has
started, and not just the first layer.

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

--HG--
extra : moz-landing-system : lando
2019-08-30 19:52:13 +00:00
Markus Stange
611b0edd41 Bug 1574745 - Add BeginFrameForNativeLayers() and Begin/EndRenderingToNativeLayer. r=mattwoodrow
This will let us render into multiple layers within one compositor frame.

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

--HG--
extra : moz-landing-system : lando
2019-08-30 21:37:55 +00:00
Markus Stange
603b907093 Bug 1574745 - Add BeginFrameForTarget and replace Set/ClearTargetContext. r=mattwoodrow
This removes any *TargetContext methods from the Compositor interface and moves
 mTarget tracking into the compositor implementations.

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

--HG--
extra : moz-landing-system : lando
2019-08-30 19:51:59 +00:00
Markus Stange
5dc3f8c82a Bug 1574745 - Rename BeginFrame to BeginFrameForWindow. r=mattwoodrow
In the end we want to have BeginFrameForWindow, BeginFrameForTarget, and
BeginFrameForNativeLayers, the latter with multiple Begin/EndRenderingToNativeLayer
pairs nested inside.

This is the first step.

CompositorOGL and CompositorD3D11 keep their internal BeginFrame method but make
it private.

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

--HG--
extra : moz-landing-system : lando
2019-08-30 19:51:55 +00:00
Markus Stange
cb05c82010 Bug 1574745 - Make DrawGeometry culling work more reliably. r=mattwoodrow
The call to TransformAndClipBounds already clips destRect to renderBounds.
However, if the resulting rect was empty, the Inflate call would make it
non-empty again. And now the decision whether we would cull would depend on the
rect's position: Sometimes TransformAndClipBounds would place the empty rect at
a position along an edge of renderBounds, and then the inflated-from-nothingness
2x2 rect would overlap renderBounds and we wouldn't cull.

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

--HG--
extra : moz-landing-system : lando
2019-08-30 19:51:45 +00:00
Markus Stange
4bcd4b8795 Bug 1574745 - Respect render target clip during DrawGeometry culling and overdraw pixel counting. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D43869

--HG--
extra : moz-landing-system : lando
2019-08-30 19:51:37 +00:00
Markus Stange
c3ccb5e5ca Bug 1574745 - Prepare CompositorOGL for native layers that are not located at (0, 0). r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D42424

--HG--
extra : moz-landing-system : lando
2019-08-30 19:49:58 +00:00
Markus Stange
77e2ee0c73 Bug 1574745 - Treat aClipRect in CompositorOGL::DrawGeometry correctly when drawing to a root render target that's not at (0, 0). r=mattwoodrow
This uses the same workaround as BasicCompositor.

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

--HG--
extra : moz-landing-system : lando
2019-08-30 19:49:46 +00:00
Markus Stange
e8fb08f553 Bug 1574745 - Prepare BasicCompositor for layers that are not located at (0, 0). r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D43867

--HG--
extra : moz-landing-system : lando
2019-08-30 19:49:27 +00:00
Markus Stange
c9db8b17d1 Bug 1574745 - Use an explicit offset to deal with the fact that aClipRect in Compositor::DrawGeometry is relative to (0, 0) for the root render target, and not in the render target's device space. r=mattwoodrow
aClipRect is relative to
closestAncestorContainerLayerWithIntermediateSurface->GetVisibleRegion().GetBounds().TopLeft()
or (0, 0) if there is no ancestor with an intermediate surface.
It gets computed by Layer::CalculateScissorRect.
So if there is an intermediate surface, that origin matches the render target
origin. But if there is no intermediate surface, it does not always match: the
root render target's origin is not necessarily (0, 0).

In the past, BasicCompositor dealt with this by using the transform on the root
render target's mDrawTarget, which gets set in CreateRenderTargetAndClear
(renamed to CreateRootRenderTarget in this patch). Render targets created in the
regular CreateRenderTarget did not have a transform.
This allowed DrawGeometry to only conditionally apply an offset to aClipRect;
the offset was applied by calling PushClipRect before resetting the transform.
Now all render targets have a translation by -offset on their DrawTarget, not
just the root render target.

I went with an explicit "clip space origin" field on the render target.
Other alternatives would have been:
 - Having a bool IsRootRenderTarget() and using that to conditionally offset
   aClipRect by the render target origin or not.
 - Changing Layer::CalculateScissorRect so that the clip space origin is always
   (0, 0). I actually tried this first but ran into trouble with the MLGPU code.
   We can do it later.

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

--HG--
extra : moz-landing-system : lando
2019-08-30 19:49:14 +00:00
Bob Owen
2bee21f74c Bug 1575838: Check that we can create a similar DrawTarget first in canvas Adjusted targets. r=mattwoodrow
This also fixes DrawTargetSkia::CanCreateSimilarDrawTarget because currently
if only one of the height or width is negative then it doesn't get caught.

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

--HG--
extra : moz-landing-system : lando
2019-08-30 17:14:44 +00:00
Bob Owen
4ad6464c7c Bug 1575844: Allow for null/empty GradientStops in Moz2D recording code. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D43074

--HG--
extra : moz-landing-system : lando
2019-08-30 17:14:22 +00:00
Nicolas Silva
55060079d9 Bug 1562869 - Check for NaNs in project_rect. r=aosmond
Differential Revision: https://phabricator.services.mozilla.com/D44114

--HG--
extra : moz-landing-system : lando
2019-08-30 11:27:40 +00:00
Jonathan Kew
d762d6259d Bug 1576846 - Fix the content-process's use of mAliasTable to temporarily record alternate font family names on Windows. r=jwatt
Differential Revision: https://phabricator.services.mozilla.com/D43746

--HG--
extra : moz-landing-system : lando
2019-08-30 13:14:26 +00:00
Jonathan Kew
dc36677a7c Bug 1577669 - Cast to uint32_t before left-shifting byte value by 24 bits. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D44132

--HG--
extra : moz-landing-system : lando
2019-08-30 12:04:46 +00:00
Markus Stange
371563a53d Bug 1576499 - Remove BasicCompositor::mInvalidRect. r=mattwoodrow
It was only used in BeginFrame.

Depends on D43384

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

--HG--
extra : moz-landing-system : lando
2019-08-28 21:51:46 +00:00
Markus Stange
15208cabec Bug 1576499 - Clarify dest and buffer a little. r=mattwoodrow
The old code was making an autoRestoreTransform around dest and then quickly
overwriting dest with something new. I prefer creating the autoRestoreTransform
for buffer, which doesn't change over the course of this function.

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

--HG--
extra : moz-landing-system : lando
2019-08-28 21:50:27 +00:00
Markus Stange
044cc84a21 Bug 1576499 - Two random cleanups. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D43383

--HG--
extra : moz-landing-system : lando
2019-08-28 21:47:47 +00:00
Markus Stange
7d2a67390b Bug 1576499 - Eliminate mDrawTarget and mDrawTargetBounds. Add mFrontBuffer which is only used when drawing to a back buffer. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D43382

--HG--
extra : moz-landing-system : lando
2019-08-28 21:46:38 +00:00
Markus Stange
5726bb939e Bug 1576499 - Use mRenderTarget->mDrawTarget to create similar draw targets in CreateDrawTarget. r=mattwoodrow
This removes one user of mDrawTarget.

This change only makes a difference when we have a backbuffer; now we will create
DrawTargets that are similar to the back buffer instead of the front buffer.

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

--HG--
extra : moz-landing-system : lando
2019-08-27 20:35:44 +00:00
Markus Stange
2e7bfc34bb Bug 1576499 - Move back buffer creation out of CreateRenderTargetForWindow into BeginFrame. r=mattwoodrow
This makes it clear that only one of the possible call paths of
CreateRenderTargetForWindow can use a back buffer.
It causes some unfortunate duplication of the clear region computation.

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

--HG--
extra : moz-landing-system : lando
2019-08-27 08:20:49 +00:00
Markus Stange
c94dc585ca Bug 1576499 - Split off EndRemoteDrawing from TryToEndRemoteDrawing and call it directly instead of calling TryToEndRemoteDrawing(true). r=mattwoodrow
This eliminates a boolean parameter whose meaning is not immediately obvious at the call site.

Depends on D43378

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

--HG--
extra : moz-landing-system : lando
2019-08-27 08:17:21 +00:00
Markus Stange
24bf8a7ca3 Bug 1576499 - Don't call TryToEndRemoteDrawing() in EndFrame when rendering to a copy target. r=mattwoodrow
None of the three main if branches in TryToEndRemoteDrawing were entered in that case:
 - if (!aForceToEnd && !mTarget && NeedsToDeferEndRemoteDrawing()) wasn't entered because
   mTarget was non-null.
 - if (mRenderTarget->mDrawTarget != mDrawTarget) wasn't entered because mTarget
   drawing doesn't use a back buffer.
 - if (aForceToEnd || !mTarget) wasn't entered because aForceToEnd was false and
   mTarget was non-null.

Depends on D43377

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

--HG--
extra : moz-landing-system : lando
2019-08-27 08:16:39 +00:00
Markus Stange
9c65656d3a Bug 1576499 - Move all mFullWindowRenderTarget maintenance to NormalDrawingDone(). r=mattwoodrow
It turns out there's not much benefit to creating the DrawTarget at the beginning of the frame.
It's only needed between NormalDrawingDone() and EndFrame().

Depends on D43376

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

--HG--
extra : moz-landing-system : lando
2019-08-27 08:15:08 +00:00
Markus Stange
05e96272fa Bug 1576499 - Turn aRenderBoundsOut outparam into a Maybe<> return value. r=mattwoodrow
Depends on D43375

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

--HG--
extra : moz-landing-system : lando
2019-08-26 00:58:45 +00:00
Markus Stange
b018721497 Bug 1576499 - Rename actualBounds to bounds. r=mattwoodrow
Depends on D43374

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

--HG--
extra : moz-landing-system : lando
2019-08-26 00:58:45 +00:00
Markus Stange
2641a83544 Bug 1576499 - Another random rect simplification. r=mattwoodrow
Depends on D43373

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

--HG--
extra : moz-landing-system : lando
2019-08-26 00:58:44 +00:00
Markus Stange
865a952e99 Bug 1576499 - Turn aClipRectIn into a Maybe and rename it to aClipRect, now that aClipRectOut is gone. r=mattwoodrow
Depends on D43372

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

--HG--
extra : moz-landing-system : lando
2019-08-26 00:58:44 +00:00
Markus Stange
eebce2e2ca Bug 1576499 - Combine the two calls to BeginFrame. r=mattwoodrow
Depends on D43371

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

--HG--
extra : moz-landing-system : lando
2019-08-26 00:58:44 +00:00
Markus Stange
0e282ae078 Bug 1576499 - Make clipRect an untyped IntRect. r=mattwoodrow
Depends on D43370

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

--HG--
extra : moz-landing-system : lando
2019-08-26 00:58:44 +00:00
Markus Stange
5381b751be Bug 1576499 - Eliminate bounds variable from LayerManagerComposite::Render. r=mattwoodrow
Depends on D43369

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

--HG--
extra : moz-landing-system : lando
2019-08-26 00:58:43 +00:00
Markus Stange
833a05e47e Bug 1576499 - Remove aClipRectOut parameter from Compositor::BeginFrame(). r=mattwoodrow
Whenever *aRenderBoundsOut was non-empty and aClipRectOut was non-null,
*aClipRectOut was set to the same value as *aRenderBoundsOut.

Depends on D43368

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

--HG--
extra : moz-landing-system : lando
2019-08-26 00:58:43 +00:00
Markus Stange
ec9eb77ab3 Bug 1576499 - Change where aClipRectOut is set, in two BeginFrame implementations. r=mattwoodrow
There are three circumstances that make these transformations equivalent:
 - aClipRectIn and aClipRectOut are never both non-null.
 - The value of *aClipRectOut is ignored if *aRenderBoundsOut is empty.
 - aRenderBounds.TopLeft() is always (0, 0) because the ClientLayerManager
   calls targetBounds.MoveTo(0, 0) on the rect that eventually becomes
   aRenderBounds.
   (targetBounds -> Transaction::mTargetBounds -> TargetConfig::naturalBounds()
    -> LayerManagerComposite::mRenderBounds)

Depends on D43367

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

--HG--
extra : moz-landing-system : lando
2019-08-26 00:58:43 +00:00
Markus Stange
4b62be12b9 Bug 1576499 - Improve various rect things in BeginFrame implementations, no functional changes. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D43367

--HG--
extra : moz-landing-system : lando
2019-08-26 00:58:43 +00:00
Markus Stange
19057e1f9d Bug 1576968 - Use glFlush() instead of -[NSOpenGLContext flushBuffer] when we have no framebuffer zero. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D43648

--HG--
extra : moz-landing-system : lando
2019-08-28 21:45:23 +00:00
Sylvestre Ledru
843fae6aee Bug 1577236 - clang-10: Fix -Wimplicit-int-float-conversion warnings in gfx/ r=nical
Differential Revision: https://phabricator.services.mozilla.com/D43776

--HG--
extra : moz-landing-system : lando
2019-08-28 21:31:26 +00:00
Jeff Muizelaar
25ba978024 Bug 1577190. Don't treat Mask items like Filter items in DetectContainerLayerPropertiesBoundsChange. r=nical,mstange
This is a remnant from the previous implementation of masking. That
implementation was replaced in bug 1447880.

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

--HG--
extra : moz-landing-system : lando
2019-08-28 18:51:45 +00:00
Martin Stransky
dffd5a7984 Bug 1576910 - [Wayland] Add SurfaceDescriptorDMABuf to enable dma buf surface import/export on Wayland and (potentially) X11, r=sotaro
Differential Revision: https://phabricator.services.mozilla.com/D43611

--HG--
extra : moz-landing-system : lando
2019-08-28 02:13:03 +00:00
Jonathan Kew
1121f75128 Bug 1576553 - Partial ligatures need to be drawn if either GLYPH_FILL or GLYPH_STROKE is in effect. r=heycam
Differential Revision: https://phabricator.services.mozilla.com/D43409

--HG--
extra : moz-landing-system : lando
2019-08-27 00:49:52 +00:00
Andreea Pavel
0b1366e317 Backed out 2 changesets (bug 1576553) for failing reftest at 1576553-1.html on a CLOSED TREE
Backed out changeset bc36c4359eef (bug 1576553)
Backed out changeset d653382c7997 (bug 1576553)
2019-08-27 03:43:54 +03:00
Jonathan Kew
a358049095 Bug 1576553 - Partial ligatures need to be drawn if either GLYPH_FILL or GLYPH_STROKE is in effect. r=heycam
Differential Revision: https://phabricator.services.mozilla.com/D43409

--HG--
extra : moz-landing-system : lando
2019-08-26 23:05:45 +00:00
Mike Hommey
6f74a5cc9b Bug 1576034 - Fix bare-trait-objects warnings in direct-composition. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D43204

--HG--
extra : moz-landing-system : lando
2019-08-26 12:00:56 +00:00
Dorel Luca
9f6556162e Backed out changeset 025d1028313e (bug 1564851) wasn't ment to land on autoland 2019-08-26 18:11:09 +03:00
Kartikaya Gupta
5b1e8b9b47 Bug 1564851 - Disable gfx.webrender.all.qualified by default.
Differential Revision: https://phabricator.services.mozilla.com/D43456

--HG--
extra : moz-landing-system : lando
2019-08-26 14:26:19 +00:00
Markus Stange
d62299cf77 Bug 1491451 - Limit CompositorOGL drawing to the invalid rect. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D42421

--HG--
extra : moz-landing-system : lando
2019-08-25 21:43:07 +00:00
Markus Stange
5349415d12 Bug 1574592 - When rendering into a copy target with CompositorOGL, and the window uses native layers for rendering, render into an offscreen RenderTarget instead of using a native layer. r=mattwoodrow
On platforms that don't use native layers for rendering, we usually want reftests
to see exactly what's going to end up in the window. It's conceivable that
rendering into offscreen framebuffers might miss bugs on those platforms (though
I'm not sure if we've seen any evidence of this).
But when we're rendering to native layers, we have non-default framebuffers either
way, so we might as well create our own framebuffer rather than asking a native
layer for one. We're not interested in getting this rendering to the screen, so
it's better to leave the native layer out of this.

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

--HG--
extra : moz-landing-system : lando
2019-08-25 17:11:39 +00:00
Markus Stange
1593f9f2ef Bug 1574592 - Create a render target per IOSurface, laying the groundwork for multiple native layers. r=mattwoodrow
This makes CompositorOGL always render into offscreen render targets.
CompositorOGL no longer expects the GLContext to have a default framebuffer.
This duplicates a bunch of code from GLContextCGL, but that code can be removed
from GLContextCGL once WebRender no longer needs it.
This also makes it so that we don't recreate render targets on every frame;
instead, we create one render target for every IOSurface in the native layer's
"swap chain" and cycle through those render targets. We only throw away the
render targets when the window is resized or closed.

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

--HG--
extra : moz-landing-system : lando
2019-08-25 17:11:25 +00:00
Markus Stange
3503a868b7 Bug 1574592 - Remove unused CompositorWidget::DrawWindowUnderlay. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D42404

--HG--
extra : moz-landing-system : lando
2019-08-25 17:11:11 +00:00
Markus Stange
28d283ab15 Bug 1574592 - Remove now-unused CompositorWidget::DoCompositorCleanup again. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D42403

--HG--
extra : moz-landing-system : lando
2019-08-25 17:11:02 +00:00
Markus Stange
e0e54098e9 Bug 1574592 - Move NativeLayer management out of nsChildView and into LayerManagerComposite and RendererOGL. r=mattwoodrow
It looks like a big patch but it's mostly just moved code, with some duplication:
 - Layer creation and destruction moves to LayerManagerComposite and RendererOGL.
 - BasicCompositor IOSurface setup code moves to BasicCompositor.cpp.
 - OpenGL IOSurface setup code moves to CompositorOGL and RenderCompositorOGL.

The duplication is a bit unfortunate but the LayerManagerComposite code will
diverge from the WebRender code soon.

BeginFrame gets a new argument aNativeLayer. This argument will go away again
over the course of this patch queue. But for now, BeginFrame is the best place
to do the layer setup because it's a very close place to PreRender which is
where that code was previously.

I wasn't able to think of a nice way to give CompositorOGL and BasicCompositor
platform-specific behavior without #ifdefs. So now LayerManagerComposite uses
the "cross-platform" NativeLayer interface, but CompositorOGL and
BasicCompositor use NativeLayerCA because they actually need the IOSurface, and
they do that in #ifdef'd code.
Luckily, NativeLayerCA.h can be included in both .cpp files and in .mm files.

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

--HG--
extra : moz-landing-system : lando
2019-08-25 17:43:42 +00:00
Bastien Orivel
88e5c4b00e Bug 1576361 - Update ipc-channel to 0.12 in webrender. r=emilio
While not used in firefox, this is required to update ipc-channel in
servo

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

--HG--
extra : moz-landing-system : lando
2019-08-24 12:22:26 +00:00
sotaro
dfe58e6580 Bug 1576073 - Clean up WebRenderImageHost a bit r=nical
Differential Revision: https://phabricator.services.mozilla.com/D43207

--HG--
extra : moz-landing-system : lando
2019-08-23 12:34:36 +00:00
Kearwood "Kip" Gilbert
291ee2b5f1 Bug 1574682 - Implement VREventObserver::NotifyEnumerationCompleted r=imanol
Differential Revision: https://phabricator.services.mozilla.com/D43202

--HG--
extra : moz-landing-system : lando
2019-08-23 06:30:56 +00:00
Ryan VanderMeulen
9b1cdd9e22 Bug 1576041 - Update HarfBuzz to 2.6.1. r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D43201

--HG--
extra : moz-landing-system : lando
2019-08-23 14:12:12 +00:00
Timothy Nikkel
9126f41ac8 Bug 1575119. In brush_blend.glsl shader don't unpremultiply the alpha, only the colors. r=gw
Differential Revision: https://phabricator.services.mozilla.com/D42970

--HG--
extra : moz-landing-system : lando
2019-08-23 00:09:30 +00:00
Kearwood "Kip" Gilbert
29c4fe1941 Bug 1574681 - VRManagerChild::GetVRDisplays returns void rather than bool r=thomasmo
Differential Revision: https://phabricator.services.mozilla.com/D42399

--HG--
extra : moz-landing-system : lando
2019-08-22 14:59:53 +00:00
Jonathan Kew
19da5d26be Bug 1575315 - Add noncharacter codepoints to those for which we never attempt font fallback. r=dholbert
Differential Revision: https://phabricator.services.mozilla.com/D42730

--HG--
extra : moz-landing-system : lando
2019-08-22 20:59:57 +00:00
Lee Salzman
abec95ddc1 Bug 1571838 - Backed out changeset a6f3fd30a0a7 (bug 1443181). r=jbonisteel
Differential Revision: https://phabricator.services.mozilla.com/D43080

--HG--
extra : moz-landing-system : lando
2019-08-22 15:15:08 +00:00
Botond Ballo
6faa60ff7c Bug 1575498 - Null-check state->mParent in GetStateForRoot(). r=hsivonen
Differential Revision: https://phabricator.services.mozilla.com/D42909

--HG--
extra : moz-landing-system : lando
2019-08-22 07:15:52 +00:00
sotaro
c423c98aca Bug 1557858 - Add multiple WebRenderBridgeParents support in WebRenderImageHost r=nical
Uses wr::PipelineId to identify user of WebRenderImageHost.

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

--HG--
extra : moz-landing-system : lando
2019-08-22 10:20:02 +00:00
Jonathan Kew
147bae39f1 Bug 1573249 followup, clang-format nits. r=dholbert
Differential Revision: https://phabricator.services.mozilla.com/D42938

--HG--
extra : moz-landing-system : lando
2019-08-21 19:37:24 +00:00
Emilio Cobos Álvarez
4bde1e178c Bug 1575713 - Use Span<> rather than copying to return stuff from gfxFontFeatureValueSet. r=boris
It's a really minor perf improvement, but also a cleanup IMO.

Also be a bit more const-correct while at it.

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

--HG--
extra : moz-landing-system : lando
2019-08-22 00:24:47 +00:00
Emilio Cobos Álvarez
dca2b09c76 Bug 1575713 - Use atoms for font-feature-values. r=boris
Differential Revision: https://phabricator.services.mozilla.com/D42984

--HG--
extra : moz-landing-system : lando
2019-08-22 00:24:44 +00:00
Botond Ballo
52a4f25b4b Bug 1573014 - Early-exit ShrinkToDisplaySizeIfNeeded() in reader mode. r=hiro
Differential Revision: https://phabricator.services.mozilla.com/D42967

--HG--
extra : moz-landing-system : lando
2019-08-21 23:33:14 +00:00