Commit 6fd182f4 authored by Steve Kobes's avatar Steve Kobes Committed by Commit Bot

Fix RLS OOPIF lifecycle DCHECK in ScrollingCoordinator.

ScrollingCoordinator::FrameScrollerIsDirty reads the main frame's
compositing state, so it isn't safe to call it after the compositing
update of a non-main local root.

TESTED=SitePerProcessTextInputManagerTest passes with RLS

Bug: 802274
Change-Id: I04418c26d9ab33c60c99765434db5493138aaa3f
Reviewed-on: https://chromium-review.googlesource.com/881581Reviewed-by: default avatarDavid Bokan <bokan@chromium.org>
Commit-Queue: Steve Kobes <skobes@chromium.org>
Cr-Commit-Position: refs/heads/master@{#531394}
parent 6ca2c94d
......@@ -171,12 +171,6 @@ void ScrollingCoordinator::UpdateAfterCompositingChangeIfNeeded(
LocalFrame* frame = &frame_view->GetFrame();
DCHECK(frame->IsLocalRoot());
if (!(frame_view->ScrollGestureRegionIsDirty() ||
touch_event_target_rects_are_dirty_ ||
should_scroll_on_main_thread_dirty_ || FrameScrollerIsDirty())) {
return;
}
TRACE_EVENT0("input",
"ScrollingCoordinator::updateAfterCompositingChangeIfNeeded");
......@@ -202,6 +196,11 @@ void ScrollingCoordinator::UpdateAfterCompositingChangeIfNeeded(
if (frame != frame_view->GetPage()->MainFrame())
return;
if (!(touch_event_target_rects_are_dirty_ ||
should_scroll_on_main_thread_dirty_ || FrameScrollerIsDirty())) {
return;
}
if (touch_event_target_rects_are_dirty_) {
UpdateTouchEventTargetRectsIfNeeded();
touch_event_target_rects_are_dirty_ = false;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment