New issue
Advanced search Search tips

Issue 800566 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Jan 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 2
Type: Bug

Blocking:
issue 800527



Sign in to add a comment

[root layer scrolls] SitePerProcessAndroidImeTest fails

Project Member Reported by skobes@chromium.org, Jan 9 2018

Issue description

The following test fails in the content_browsertests step on the linux_android_rel_ng trybot:

  SitePerProcessAndroidImeTest.CommitTextForFocusedWidget

Bot link:
https://ci.chromium.org/buildbot/tryserver.chromium.android/linux_android_rel_ng/464058

Output includes:

[ERROR:browser_test_utils.cc(172)] Cannot communicate with DOMMessageQueue.
../../content/browser/site_per_process_browsertest.cc:11351: Failure
Value of: ExecuteScript(frame, "window.focus(); input.focus();")
  Actual: false
Expected: true
BrowserTestBase received signal: Segmentation fault. Backtrace:
 

Comment 1 by bokan@chromium.org, Jan 19 2018

Cc: -bokan@chromium.org
Owner: bokan@chromium.org
Status: Started (was: Available)
Project Member

Comment 2 by bugdroid1@chromium.org, Jan 23 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a0f8775417a4b36578e04318b2f4d9a42beed9ed

commit a0f8775417a4b36578e04318b2f4d9a42beed9ed
Author: David Bokan <bokan@chromium.org>
Date: Tue Jan 23 15:32:42 2018

Fix root layer scrolls crash in viewport registration

The crash would occur when a non-main frame finished its lifecycle
update before the main frame. This can happen in an OOPIF as lifecycle
on local roots is independent. This would kick the viewport layer
registration method while the main frame hadn't yet completed
compositing, leading to a CanQueryCompositingState DCHECK. This occured
only when root-layer-scrolls is turned on because, without it, the
container and scrolling layers would be the layers created by the
PaintLayerCompositor (unless the test/page sets a rootScroller) which
live outside the document lifecycle.

This patch fixes the issue by only reregistering viewport layers after
a compositing update on the frame that contains the global root
scroller. This guarantees that we're in the correct lifecycle state.

Bug:  800566 , 642378
Change-Id: Ibbaa77b7f40794f16cecdaec46353dd00bc277e9
Reviewed-on: https://chromium-review.googlesource.com/877338
Reviewed-by: Steve Kobes <skobes@chromium.org>
Commit-Queue: David Bokan <bokan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#531243}
[modify] https://crrev.com/a0f8775417a4b36578e04318b2f4d9a42beed9ed/third_party/WebKit/Source/core/frame/LocalFrameView.cpp
[modify] https://crrev.com/a0f8775417a4b36578e04318b2f4d9a42beed9ed/third_party/WebKit/Source/core/page/scrolling/RootScrollerTest.cpp
[modify] https://crrev.com/a0f8775417a4b36578e04318b2f4d9a42beed9ed/third_party/WebKit/Source/core/page/scrolling/TopDocumentRootScrollerController.cpp
[modify] https://crrev.com/a0f8775417a4b36578e04318b2f4d9a42beed9ed/third_party/WebKit/Source/core/page/scrolling/TopDocumentRootScrollerController.h

Status: Fixed (was: Started)

Sign in to add a comment