Commit Graph

1397 Commits

Author SHA1 Message Date
Miko Mynttinen
509284a26b Bug 1462672 - Part 2: Make nsDisplayTransform::GetTransformForRendering and DisplayItemClip::ApplyTo const r=mattwoodrow
MozReview-Commit-ID: B9zpHCDeUq3

--HG--
extra : rebase_source : d73737d6d593dbd498e7c958092ce6e7bf1dd97e
2018-07-16 21:20:21 +02:00
Miko Mynttinen
d2fbe47a2e Bug 1462672 - Part 1: Remove unused parameter aUseClipBounds r=mattwoodrow
MozReview-Commit-ID: IwqEzMKfxZ4

--HG--
extra : rebase_source : ecc2675f3a525957eae60db6e00558a9c1c8fc7d
2018-07-16 21:18:59 +02:00
Cosmin Sabou
099320d8ad Merge mozilla-central to autoland. a=merge 2018-07-18 20:21:59 +03:00
Kashav Madan
0c865cee42 Bug 1465616 - Use layout viewport size to compute visible rect for fixed position elements. r=mstange
Since fixed position elements are now scrollable, we need to ensure that they're
drawn using the layout viewport size instead of only the SPC-SPS, since
otherwise they'd be inaccurately clipped when scrolled.

MozReview-Commit-ID: 4p3pWnwluvz

--HG--
extra : rebase_source : f5bc1eae9bf2c8f4b9f78675e9da071de012160e
2018-07-04 16:10:04 -04:00
Bas Schouten
2ffa4da191 Bug 1476506: Move RoundedRect into Moz2D and convert all callers. r=mattwoodrow 2018-07-18 08:55:43 +02:00
Doug Thayer
29c0e06cd6 Bug 1471381 - Don't give up on rounded rects in DisplayItemClip r=mattwoodrow
Effectively we compute the diff by lopping off the rounded part
of each rect where appropriate. This gets a bit weird to think
about with very mismatched radii, but I think it works out(?)

MozReview-Commit-ID: 472gx7Hw1Br

--HG--
extra : rebase_source : 817a84d78c98ac99797ab73b89f8c667189767d1
2018-07-13 09:11:28 -07:00
Miko Mynttinen
dc2028f5bb Bug 1472465 - Update flattened nsDisplayOpacity geometry despite empty invalidation region r=mattwoodrow
MozReview-Commit-ID: 7mrTuQ6gEoA

--HG--
extra : rebase_source : eba482b61fe298734a0a727dc29453054131f746
2018-07-16 01:09:23 +02:00
Matt Woodrow
aaaba0f931 Bug 1474466 - Convert rounded rect clips into paint geometry if the display item type support it. r=bas,jnicol
MozReview-Commit-ID: EkqgSSLufnp

--HG--
extra : rebase_source : 3c308cd46934107f734b311ea2e2b26251c15bf5
2018-07-15 20:26:46 +12:00
Matt Woodrow
4f18c0f4a2 Bug 1475413 - Prefer using old items for uninvalidated frames during display list merging. r=miko
MozReview-Commit-ID: 14gc2IBJT1o

--HG--
extra : rebase_source : 6de86aec8ef1039b3adf8006cea456efadbed73b
2018-07-13 12:26:36 +12:00
Emilio Cobos Álvarez
1494e3f878 Bug 1474903: Minor static_cast cleanup in nsDisplayList. r=miko
MozReview-Commit-ID: 30vwluk0r39
2018-07-13 17:17:03 +02:00
Coroiu Cristina
681774eb08 Backed out changeset 9851707b13cb (bug 1471583) for Wr4 failures in multiple files e.g. css/CSS2/backgrounds/background-root-010.xht on a CLOSED TREE 2018-07-12 18:07:57 +03:00
Emilio Cobos Álvarez
b00499528d Bug 1471583: Don't record a successful draw result if the image is not complete yet. r=tnikkel
I've tried to unsuccessfully reproduce the same kind of failures locally under
rr with this patch applied, so that's a good sign.

This should fix the case where we don't invalidate from AttemptPartialUpdate
while trying to sync-decode.

This is a clear part of the problem, though not sure yet if it'll fix all the
issues we see in these tests. In any case I want to investigate those
separately.

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

MozReview-Commit-ID: H7OEvbQUues
2018-07-12 14:13:49 +02:00
Kartikaya Gupta
11b43679d8 Bug 1421825 - Fix crash and re-enable crashtest. r=jrmuizel
In some cases we get a gecko display list that looks like this:

WrapList with asr(<A>, <B>)
  Item with asr (<B>) and clipchain(<something> [A])

In this case, we would initialize the WebRenderLayerScrollData for the
nested item using a stop-at ancestor of A (because that was the leafmost
ASR from the containing WrapList) but the item itself has an ASR of B,
which is an ancestor of A. So when walking up from B we'd never hit the
stop-at ancestor, and so we'd end up duplicating metrics from the
containing WRLSD onto the nested WRLSD. This generated an assertion
failure in the APZ code.

This patch detects this scenario and skips adding metrics on the nested
WRLSD. This produces an APZ tree equivalent to what the non-WebRender
path would produce.

MozReview-Commit-ID: 8eo6pzXXKBd

--HG--
extra : rebase_source : 0581c54c4d9fa6ca08249e42b306c7155022bec7
2018-07-10 09:37:40 -04:00
Jamie Nicol
ab2277aaa8 Bug 1462584 - Avoid dereferencing DisplayItemData in GetOldLayerForFrame. r=mattwoodrow
It's causing cache misses which are showing up in profiles of the displaylist
mutate test case.

To avoid checking Disconnected(), we can destroy the DisplayItemData
and unset the item's pointer to it, rather than calling Disconnect()
in the first place.

To avoid fetching the LayerManager (to compare with mRetainingManager)
we can store this value on the display item along with the
DisplayItemData.

This change ensures that if a nsDisplayItem holds a pointer to a
DisplayItemData then that DisplayItemData holds a pointer back, and
vice-versa.

MozReview-Commit-ID: AAVAs8c0CQY

--HG--
extra : rebase_source : e60c378877618592f311e690219099b1cfc4c9d4
2018-05-10 16:53:34 +01:00
Matt Woodrow
6520bffb3a Bug 1421885 - Part 1: Don't let mNoActionRegion get complex when we've already added it to mDispatchToContentRegion. r=kats
MozReview-Commit-ID: 8oBbyseQsCV

--HG--
extra : rebase_source : 2327df91c4bd9f72a1f2a51d522b46f76608b611
2018-07-10 15:19:43 +12:00
Ciure Andrei
c01c70ada6 Backed out 2 changesets (bug 1421885) for test_group_touchevents-3.html failures CLOSED TREE
Backed out changeset faab566585a2 (bug 1421885)
Backed out changeset cac0b0aa948e (bug 1421885)
2018-07-10 02:59:05 +03:00
Matt Woodrow
c1d6c26906 Bug 1466638 - Implement support for ContainerLayerParameters::mOffset in nsDisplayImageContainer. r=mstange
This gets set to a non-zero value when we have an inactive ContainerLayer ancestor (filter in this case).
The current code assumes we'd never call BuildLayer on an image when that happen, but we force the pseudo-active
state here because background-position is animated (all properties have a transition).

MozReview-Commit-ID: 6pL8EJTNgWy

--HG--
extra : rebase_source : 6370fc79d5f47f0b5c4bbe86c0b605b90256b653
2018-07-09 16:11:08 +12:00
Matt Woodrow
3def26fd12 Bug 1421885 - Part 1: Don't let mNoActionRegion get complex when we've already added it to mDispatchToContentRegion. r=kats
MozReview-Commit-ID: 5DwLyJ7qeN0

--HG--
extra : rebase_source : 34740ca99fe1bec2f594c58967e39964026c1014
2018-07-10 10:50:10 +12:00
Ciure Andrei
a3f8fecfd2 Backed out 2 changesets (bug 1421885) for helper_touch_action_complex.html failures CLOSED TREE
Backed out changeset 42f32a0e7508 (bug 1421885)
Backed out changeset 9f106d66d06e (bug 1421885)
2018-07-10 00:35:21 +03:00
Matt Woodrow
3988cf0afa Bug 1421885 - Part 1: Don't let mNoActionRegion get complex when we've already added it to mDispatchToContentRegion. r=kats
MozReview-Commit-ID: 11gi2u4bAdJ

--HG--
extra : rebase_source : b3dc98930fb623244689fa15ff6a5275bc212312
2018-07-09 16:12:54 +12:00
Kartikaya Gupta
78dba184db Bug 1461313 - Handle invalid clip-path URIs with WebRender. r=mstange
In the case of an invalid clip-path, the browser is supposed to discard the
mask entirely. In the non-webrender codepath this would happen
implicitly because the computed MaskUsage would have no flags set, and
so no actions would be taken on the gfxContext which contained the
display items rasterized so far. In the WebRender codepath, though, we
invoke the code on a A8 drawtarget that's zero-filled, so if PaintMask
fails to rasterize anything into it, it gets treated as a "mask everything
out" mask. Instead, this patch makes it so that we detect the scenario
where the computed MaskUsage is a no-op, and ensure that we don't apply
the mask in that case.

An alternative approach considered was to initialize the A8 drawtarget to
white instead of black but in cases where there is an actual mask, the
rest of the code assumes it is zero-filled and so that doesn't work.

MozReview-Commit-ID: Hw7nCiUXVJl

--HG--
extra : rebase_source : 241d550fa0ed1b3bd088c73d9565b166acbcece8
2018-07-05 08:05:34 -04:00
Matt Woodrow
f06b4bd62c Bug 1458121 - Don't try to layerize when we have a clip-path mask as well as rounded rect clipping. r=mstange
MozReview-Commit-ID: GhOay2a6z9t

--HG--
extra : rebase_source : 2c3dcf4fe05046da1790a46fb96d7acdf7caf86c
2018-06-21 12:43:22 +12:00
Matt Woodrow
6f70c89500 Bug 1473908 - Add new telemetry measurement for recording time spent in FrameLayerBuilder. r=bas,francois
MozReview-Commit-ID: 9oilZL1lPGp

--HG--
extra : rebase_source : 6682218e660b9345e020027aa6f445125d070bf2
2018-07-06 19:10:56 -07:00
Jamie Nicol
7d9ee61570 Bug 1473379 - Change PaintedLayerData::mAssignedDisplayItems to a std::vector. r=mattwoodrow
This allows us to call emplace_back, saving us a move.

MozReview-Commit-ID: 4wRiAxl7LSN

--HG--
extra : rebase_source : 0ea07c896c2807a65ad7493a22b8e2b61e68aa01
2018-07-03 22:39:04 -04:00
Andreea Pavel
be6dd58462 Backed out changeset 5c9b8478d69d (bug 1473379) for bustages at builds/worker/workspace/build/src/obj-firefox/dist/include/nsTArray.h:693 on a CLOSED TREE 2018-07-05 16:45:05 +03:00
Jamie Nicol
d113489b72 Bug 1473379 - Change PaintedLayerData::mAssignedDisplayItems to a std::vector. r=mattwoodrow
This allows us to call emplace_back, saving us a move.

MozReview-Commit-ID: 4wRiAxl7LSN

--HG--
extra : rebase_source : 48a0eee8f61f568e0910476dbf672cb43827187e
2018-07-03 22:39:04 -04:00
Hiroyuki Ikezoe
8015da3cef Bug 1472654 - Drop SchedulePaint call in AddAnimationsForProperty. r=birtles
This call was added in bug 929362, but the key factor to fix the bug was just
setting a flag representing that the target frame doesn't allow the animation
running on the compositor and checking the flag in the function whether the
animation can be run on the compositor or not in later ticks.  So the call
wasn't necessary in the first place.

The test case here fails without this fix.  The test case actually doesn't
observe animation restyle count at all, so it might look a bit awkward in
file_restyles.html, if we add other test cases checking SchedulePaint calls
in future, we will move the tests in a different file.
(The reason there is no animation restyles in this case is that we properly
 throttle the animation in this case.)

MozReview-Commit-ID: AyHciRJHM0s

--HG--
extra : rebase_source : f3963336ea9165b0a9c1a662bdac5c645b209219
2018-07-05 07:18:45 +09:00
Ryan Hunt
0412e688a8 Bug 1473301 - Remove BorderLayer. r=mattwoodrow
MozReview-Commit-ID: KGXW2lYBZ3c

--HG--
extra : rebase_source : a782ec3fb1c87d1d034219cbd7fd1b8d9d751559
extra : amend_source : ec7c8f7b4080c53a851117cfb1c7611c3606c562
2018-07-03 16:15:58 -05:00
Gurzau Raul
03062dd04b Merge inbound to mozilla-central. a=merge 2018-07-04 12:58:33 +03:00
Jamie Nicol
a1d1e03224 Bug 1470758 - Ensure we don't merge items with the same frame. r=mattwoodrow 2018-07-03 21:31:26 -04:00
Bas Schouten
a95db7c11a Bug 1473136: Cache mNeedsActiveLayer once for nsDisplayOpacity. r=mattwoodrow 2018-07-03 23:07:44 +00:00
Bas Schouten
7f6794045e Bug 1472830: Reuse the work from ApplyOpacityToChildren when possible. r=mattwoodrow 2018-07-03 20:26:40 +00:00
Olli Pettay
50136cf862 Bug 1472650 - nsCSSRendering::ShouldPaintBoxShadowInner should use GetComposedDoc, r=emilio
--HG--
extra : rebase_source : 2d484667820757943eae22543770409df27f0027
2018-07-03 17:57:11 +03:00
Matt Woodrow
70d97b231e Bug 1473137 - Convert mOpacityIndices into a stack-based vector with preallocated storage to avoid allocations. r=jnicol
MozReview-Commit-ID: Gi5z3YaH7kY

--HG--
extra : rebase_source : 9213eea1f5886e23977935b8efdad58e2195cfbc
2018-07-03 18:58:35 -04:00
Jamie Nicol
3b0fe9b3a8 Bug 1468738 - Create new DisplayItemDatas if required for unmerged display items r=mattwoodrow 2018-07-02 10:37:19 +01:00
Martin Robinson
34359c5dd9 Bug 1470125 - Update WR bindings for changes in WR PR 2848. r=Gankro
MozReview-Commit-ID: D2hLIqlnfU6

--HG--
extra : rebase_source : 6a0ef8c6d61ab937695c42224eb3acb0a5e531f7
2018-06-13 15:40:13 -07:00
shindli
c83eb1f34f Backed out 3 changesets (bug 1470125) for force-cargo-library-build bustages on a CLOSED TREE
Backed out changeset c6ef35a760ae (bug 1470125)
Backed out changeset cb8bed4a7691 (bug 1470125)
Backed out changeset 82527f62f249 (bug 1470125)
2018-06-28 21:25:33 +03:00
Martin Robinson
be65a0bdb1 Bug 1470125 - Update WR bindings for changes in WR PR 2848. r=Gankro
MozReview-Commit-ID: D2hLIqlnfU6

--HG--
extra : rebase_source : 328d76c6c9f428b55c8116fc447f9e3d6a76371a
2018-06-13 15:40:13 -07:00
Bas Schouten
43ddb842d7 Bug 1471437 - Part 2: Reset mPaintRect only when the new building rect is different, and update mPaintRectValid when it is. r=mattwoodrow
MozReview-Commit-ID: 5djSr7eNk8W
2018-06-27 16:47:55 +02:00
Bas Schouten
40d7ba26d3 Bug 1471437 - Part 1: Store the previous paint rect before occlusion culling. r=mattwoodrow
MozReview-Commit-ID: 8Bw9hsPcipZ
2018-06-27 16:47:54 +02:00
Chris Peterson
2afd829d0f Bug 1469769 - Part 6: Replace non-failing NS_NOTREACHED with MOZ_ASSERT_UNREACHABLE. r=froydnj
This patch is an automatic replacement of s/NS_NOTREACHED/MOZ_ASSERT_UNREACHABLE/. Reindenting long lines and whitespace fixups follow in patch 6b.

MozReview-Commit-ID: 5UQVHElSpCr

--HG--
extra : rebase_source : 4c1b2fc32b269342f07639266b64941e2270e9c4
extra : source : 907543f6eae716f23a6de52b1ffb1c82908d158a
2018-06-17 22:43:11 -07:00
Chris Peterson
74dea2596b Bug 1469769 - Part 3: css: Replace failing NS_NOTREACHED with NS_ERROR. r=heycam
I'm replacing non-failing calls to NS_NOTREACHED with MOZ_ASSERT_UNREACHABLE, but this SelectionManager assertion fails when running the Linux debug Web platform tests with e10s test-linux32/debug-web-platform-tests-reftests-e10s-6 W-e10s(Wr6). This assertion failure is bug 1221888.

Marionette  INFO    Testing http://web-platform.test:8000/css/CSS2/ui/outline-applies-to-005.xht == http://web-platform.test:8000/css/CSS2/reference/no-red-on-blank-page-ref.xht
###!!! ASSERTION: we should have saved a frame property: 'Error', file /builds/worker/workspace/build/src/layout/painting/nsCSSRendering.cpp, line 1038

This patch DOES NOT fix the cause of the assertion failure (a missing HyperTextAccessible). It just replaces this failing NS_NOTREACHED with NS_ERROR because I can't replace with a fatal MOZ_ASSERT_UNREACHABLE.

MozReview-Commit-ID: L26bu4agM6y

--HG--
extra : rebase_source : 9a4188719fe5069cfbec47ae5fae0632ae1d5ee8
extra : intermediate-source : 0a3f719dce16fa80d6ae1bb20a41570050847731
extra : source : aadc67658e679893808256f60c480efeed426bc1
2018-06-04 01:41:20 -07:00
Dan Glastonbury
334258d77f Bug 1467621 - P1: nsCSSShadowItem - Change nscolor to StyleComplexColor. r=xidorn
MozReview-Commit-ID: moE2CI7fT8

--HG--
extra : rebase_source : 7b64beccbd4c499d93567d62b913257dfa53c9fe
2018-06-19 14:18:33 +10:00
Tyson Smith
f806457a58 Bug 1469472 - Add crashtest. 2018-06-22 12:20:37 -04:00
Ryan Hunt
27b4840273 Bug 1466146 - Add FlushRasterization as a metric for CONTENT_PAINT_PHASE_WEIGHT. r=mattwoodrow, data-review=francois
--HG--
extra : rebase_source : dcbf77adc7891b5f9ca49627370ce71f64ab3b87
2018-06-05 12:30:42 -05:00
Botond Ballo
02891402c8 Bug 1459696 - Respect nested inactive layer clips when combining a layer's event regions into its ancestors'. r=mstange
MozReview-Commit-ID: GkGSOeDvkvS

--HG--
extra : rebase_source : adb52d7d513789306340b743083b5560bf114ae2
2018-05-25 23:33:41 -04:00
Cosmin Sabou
4c18cd4036 Merge inbound to central. a=merge
--HG--
rename : servo/components/style/properties/longhand/box.mako.rs => servo/components/style/properties/longhands/box.mako.rs
2018-06-21 04:16:40 +03:00
Jamie Nicol
f2b10c6146 Bug 1469472 - Ensure we don't merge multiple display items with the same frame. r=mattwoodrow 2018-06-20 23:00:48 +01:00
Hiroyuki Ikezoe
ca097c91ca Bug 1468124 - Don't calculate overflow area if there is any frames in preserve-3d context. r=mattwoodrow
MozReview-Commit-ID: 2Ts3MzdouB7

--HG--
extra : rebase_source : f4cbff214d410012dae862670a82361e9a322f23
2018-06-19 14:49:47 +09:00
Matt Woodrow
668b361a1d Bug 1466024 - Cleanup nsDisplaySubDocument display items when we swap the subdoc into a different outer document. r=miko
MozReview-Commit-ID: E4NKiIdXZsY

--HG--
extra : rebase_source : afdce58ba43dbf9bd93d971bd8b57240461c9954
2018-06-01 17:23:55 +12:00