|
|
Chromium Code Reviews
DescriptionMake all scrollable layers visible to hit testing.
Scrollers should remain scrollable even if their descendants are all offscreen.
An offscreen descendant with a render surface was causing num_drawn_descendants
to be decremented to 0 in ClearIsDrawnRenderSurfaceLayerListMember.
This patch removes num_drawn_descendants and scrolls_drawn_descendant in favor
of simply checking LayerImpl::scrollable().
BUG=641226
Committed: https://crrev.com/eec54e30707389a2e9e0335f432ca2cd4396f869
Cr-Commit-Position: refs/heads/master@{#432056}
Patch Set 1 #
Total comments: 2
Patch Set 2 : rebase #
Messages
Total messages: 37 (21 generated)
Description was changed from ========== Make all scrollable layers visible to hit testing. Scrollers should remain scrollable even if their descendants are all offscreen. An offscreen descendant with a render surface was causing num_drawn_descendants to be decremented to 0 in ClearIsDrawnRenderSurfaceLayerListMember. This patch removes num_drawn_descendants and scrolls_drawn_descendant in favor of simply checking LayerImpl::scrollable(). BUG=641226 ========== to ========== Make all scrollable layers visible to hit testing. Scrollers should remain scrollable even if their descendants are all offscreen. An offscreen descendant with a render surface was causing num_drawn_descendants to be decremented to 0 in ClearIsDrawnRenderSurfaceLayerListMember. This patch removes num_drawn_descendants and scrolls_drawn_descendant in favor of simply checking LayerImpl::scrollable(). BUG=641226 CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel ==========
The CQ bit was checked by skobes@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
skobes@chromium.org changed reviewers: + enne@chromium.org, majidvp@chromium.org
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: linux_trusty_blink_rel on master.tryserver.blink (JOB_TIMED_OUT, no build URL)
This looks reasonable to me. I tried once in the past to make a similar change but didn't see it through as I was not sure about the potential implications. Some context: - https://bugs.chromium.org/p/chromium/issues/detail?id=455439#c24 - https://codereview.chromium.org/868363004/#ps20001 https://codereview.chromium.org/2495123002/diff/1/cc/trees/layer_tree_impl.cc File cc/trees/layer_tree_impl.cc (right): https://codereview.chromium.org/2495123002/diff/1/cc/trees/layer_tree_impl.cc... cc/trees/layer_tree_impl.cc:1891: return layer->scrollable() || Should we also check for LayerImpl::user_scrollable here?
On 2016/11/14 17:21:11, majidvp wrote: > I tried once in the past to make a similar change but > didn't see it through as I was not sure about the > potential implications. > > Some context: > - https://bugs.chromium.org/p/chromium/issues/detail?id=455439#c24 > - https://codereview.chromium.org/868363004/#ps20001 I found that patch but I was not sure why you abandoned your initial approach. Were there any specific issues you ran into? https://codereview.chromium.org/2495123002/diff/1/cc/trees/layer_tree_impl.cc File cc/trees/layer_tree_impl.cc (right): https://codereview.chromium.org/2495123002/diff/1/cc/trees/layer_tree_impl.cc... cc/trees/layer_tree_impl.cc:1891: return layer->scrollable() || On 2016/11/14 17:21:11, majidvp wrote: > Should we also check for LayerImpl::user_scrollable here? ComputeLayerScrollsDrawnDescendants was not concerned with user_scrollable(). I think that's handled by the scroll bubbling machinery (LayerTreeHostImpl::ComputeScrollDelta etc.)
lgtm. On 2016/11/14 17:46:33, skobes wrote: > On 2016/11/14 17:21:11, majidvp wrote: > > I tried once in the past to make a similar change but > > didn't see it through as I was not sure about the > > potential implications. > > > > Some context: > > - https://bugs.chromium.org/p/chromium/issues/detail?id=455439#c24 > > - https://codereview.chromium.org/868363004/#ps20001 > > I found that patch but I was not sure why you abandoned your initial approach. > Were there any specific issues you ran into? > I don't recall an specific issue. I think I opted out for remaining close to the original logic for the fear of breaking things I was not intimately familiar with. Perhaps this was unfounded fear.
Thanks. Waiting on @enne for OWNERS.
lgtm. I don't remember all the details of why this was implemented this way initially, but it clearly seems wrong for this case.
The CQ bit was checked by skobes@chromium.org
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Try jobs failed on following builders: linux_trusty_blink_rel on master.tryserver.blink (JOB_TIMED_OUT, no build URL)
The CQ bit was checked by skobes@chromium.org
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by skobes@chromium.org
Description was changed from ========== Make all scrollable layers visible to hit testing. Scrollers should remain scrollable even if their descendants are all offscreen. An offscreen descendant with a render surface was causing num_drawn_descendants to be decremented to 0 in ClearIsDrawnRenderSurfaceLayerListMember. This patch removes num_drawn_descendants and scrolls_drawn_descendant in favor of simply checking LayerImpl::scrollable(). BUG=641226 CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel ========== to ========== Make all scrollable layers visible to hit testing. Scrollers should remain scrollable even if their descendants are all offscreen. An offscreen descendant with a render surface was causing num_drawn_descendants to be decremented to 0 in ClearIsDrawnRenderSurfaceLayerListMember. This patch removes num_drawn_descendants and scrolls_drawn_descendant in favor of simply checking LayerImpl::scrollable(). BUG=641226 ==========
The CQ bit was checked by skobes@chromium.org
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Failed to apply patch for cc/trees/scroll_node.h:
While running git apply --index -p1;
error: patch failed: cc/trees/scroll_node.h:61
error: cc/trees/scroll_node.h: patch does not apply
Patch: cc/trees/scroll_node.h
Index: cc/trees/scroll_node.h
diff --git a/cc/trees/scroll_node.h b/cc/trees/scroll_node.h
index
05154e43ea6013b55f24738637d232630a4b62c1..511b895ade6d5ec4ff5339b37838e276b9f59f88
100644
--- a/cc/trees/scroll_node.h
+++ b/cc/trees/scroll_node.h
@@ -61,8 +61,6 @@ struct CC_EXPORT ScrollNode {
bool user_scrollable_vertical;
ElementId element_id;
int transform_id;
- // Number of drawn layers pointing to this node or any of its descendants.
- int num_drawn_descendants;
bool operator==(const ScrollNode& other) const;
Description was changed from ========== Make all scrollable layers visible to hit testing. Scrollers should remain scrollable even if their descendants are all offscreen. An offscreen descendant with a render surface was causing num_drawn_descendants to be decremented to 0 in ClearIsDrawnRenderSurfaceLayerListMember. This patch removes num_drawn_descendants and scrolls_drawn_descendant in favor of simply checking LayerImpl::scrollable(). BUG=641226 ========== to ========== Make all scrollable layers visible to hit testing. Scrollers should remain scrollable even if their descendants are all offscreen. An offscreen descendant with a render surface was causing num_drawn_descendants to be decremented to 0 in ClearIsDrawnRenderSurfaceLayerListMember. This patch removes num_drawn_descendants and scrolls_drawn_descendant in favor of simply checking LayerImpl::scrollable(). BUG=641226 CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel ==========
The CQ bit was checked by skobes@chromium.org
The patchset sent to the CQ was uploaded after l-g-t-m from majidvp@chromium.org, enne@chromium.org Link to the patchset: https://codereview.chromium.org/2495123002/#ps20001 (title: "rebase")
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Try jobs failed on following builders: linux_trusty_blink_rel on master.tryserver.blink (JOB_TIMED_OUT, no build URL)
Description was changed from ========== Make all scrollable layers visible to hit testing. Scrollers should remain scrollable even if their descendants are all offscreen. An offscreen descendant with a render surface was causing num_drawn_descendants to be decremented to 0 in ClearIsDrawnRenderSurfaceLayerListMember. This patch removes num_drawn_descendants and scrolls_drawn_descendant in favor of simply checking LayerImpl::scrollable(). BUG=641226 CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel ========== to ========== Make all scrollable layers visible to hit testing. Scrollers should remain scrollable even if their descendants are all offscreen. An offscreen descendant with a render surface was causing num_drawn_descendants to be decremented to 0 in ClearIsDrawnRenderSurfaceLayerListMember. This patch removes num_drawn_descendants and scrolls_drawn_descendant in favor of simply checking LayerImpl::scrollable(). BUG=641226 ==========
The CQ bit was checked by skobes@chromium.org
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
Message was sent while issue was closed.
Description was changed from ========== Make all scrollable layers visible to hit testing. Scrollers should remain scrollable even if their descendants are all offscreen. An offscreen descendant with a render surface was causing num_drawn_descendants to be decremented to 0 in ClearIsDrawnRenderSurfaceLayerListMember. This patch removes num_drawn_descendants and scrolls_drawn_descendant in favor of simply checking LayerImpl::scrollable(). BUG=641226 ========== to ========== Make all scrollable layers visible to hit testing. Scrollers should remain scrollable even if their descendants are all offscreen. An offscreen descendant with a render surface was causing num_drawn_descendants to be decremented to 0 in ClearIsDrawnRenderSurfaceLayerListMember. This patch removes num_drawn_descendants and scrolls_drawn_descendant in favor of simply checking LayerImpl::scrollable(). BUG=641226 ==========
Message was sent while issue was closed.
Committed patchset #2 (id:20001)
Message was sent while issue was closed.
Description was changed from ========== Make all scrollable layers visible to hit testing. Scrollers should remain scrollable even if their descendants are all offscreen. An offscreen descendant with a render surface was causing num_drawn_descendants to be decremented to 0 in ClearIsDrawnRenderSurfaceLayerListMember. This patch removes num_drawn_descendants and scrolls_drawn_descendant in favor of simply checking LayerImpl::scrollable(). BUG=641226 ========== to ========== Make all scrollable layers visible to hit testing. Scrollers should remain scrollable even if their descendants are all offscreen. An offscreen descendant with a render surface was causing num_drawn_descendants to be decremented to 0 in ClearIsDrawnRenderSurfaceLayerListMember. This patch removes num_drawn_descendants and scrolls_drawn_descendant in favor of simply checking LayerImpl::scrollable(). BUG=641226 Committed: https://crrev.com/eec54e30707389a2e9e0335f432ca2cd4396f869 Cr-Commit-Position: refs/heads/master@{#432056} ==========
Message was sent while issue was closed.
Patchset 2 (id:??) landed as https://crrev.com/eec54e30707389a2e9e0335f432ca2cd4396f869 Cr-Commit-Position: refs/heads/master@{#432056} |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
