Issue metadata
Sign in to add a comment
|
Drop down menus in apps don't work after update to 52.0.2743.91 Android System WebView
Reported by
eric.sau...@gmail.com,
Jul 29 2016
|
||||||||||||||||||||||
Issue descriptionSteps to reproduce the problem: 1. Update to version number above 2. Log in to "War of Legions" or "Dark Summoner" 3. Observe that clicking a multi choice selection box does not display any elements to select 4. Uninstall updates, observe correct behavior What is the expected behavior? A scrolling box with selectable choices should appear. What went wrong? No choices are visible, so the component is not usable. Did this work before? Yes Prior to last update (10 hours so) Chrome version: 51.0.2704.81 Channel: stable OS Version: Flash Version:
,
Jul 29 2016
Did version 51 work before?
,
Jul 29 2016
Whatever the last stable released version was, that worked. I can't easily try version 51 because Android only has the option to "uninstall all patches".
,
Jul 29 2016
what device are you using?
,
Jul 29 2016
,
Jul 29 2016
Can you attach screenshot of where the selection box occurs in the game? Not super obvious from that description. Maybe also a screenshot of how select is broken
,
Jul 29 2016
Behaviour occurred on two tablet devices, a Google Nexus 9, and a Samsung S900. Here is an illustrated step-by-step example. 1) In the game "War of Legions", from the home page, select "Battle". 2) Click the dropdown that says "Formation 1". You should see some options (see WORKING screenshot). What you get instead is the box highlighted, but no menu to select from (BROKEN screenshot).
,
Jul 29 2016
,
Jul 29 2016
+satyavathir@, can we repro this, and if so can we please bisect it ASAP?
,
Jul 29 2016
Works on my pixel c. What's your Android version?
,
Jul 29 2016
Works with 52.0.2743.91 on Nexus 9, Android M.
,
Jul 29 2016
I realise I mispoke about my hardware. The screenshots are from a SM-P900 tablet. Here are some OS details: Android version: 5.0.2 Model number: SM-P900 Kernel version: 3.4.39-5574008 I have repro'd this on a Google Nexus 9 as well with a different game. I can get that information and screenshots if necessary once I'm home if that is helpful.
,
Jul 29 2016
I should add that I can toggle the behaviour reliably on both my devices, by down-revving and up-revving Android System WebView (and changing nothing else).
,
Jul 29 2016
OK. Can you tell me how to reproduce on Nexus 9? What game? And steps to reproduce? I don't have the samsung tablet, and even if I do, I can't debug it.
,
Jul 29 2016
Sure. I can get a detailed repro to you tonight PST (i.e. in 7 hours or so) when I am reunited with that device.
,
Jul 29 2016
amineer@ we are working on bisecting. Thanks!
,
Jul 29 2016
Okay... I got it reproduced on an L tablet (nexus 10) with m52 webview. Looking...
,
Jul 29 2016
It looks like the offending change is this: commit b82a8a7a80fa77005f996f93f60e4f32c8882651 author tkent <tkent@chromium.org> Sat May 07 03:17:59 2016 committer Commit bot <commit-bot@chromium.org> Sat May 07 03:20:05 2016 Do not open SELECT popup if the SELECT element is not in the viewport. New behavior is compatible with IE and Firefox. The main parts of this CL are: - HTMLSelectElement.cpp, and - menulist-popup-outside-viewport.html Changes in other files are just adjustment for the new behavior. - ExternalPopupMenuTest.cpp: The viewport size was too small. - popup-menu-key-operations.html: PASS messages moved out a SELECT element - popup-menu-position.html: Anchor rectangle is clipped. BUG=90515, 565760 Review-Url: https://codereview.chromium.org/1959583002 Cr-Commit-Position: refs/heads/master@{#392240} third_party/WebKit/LayoutTests/TestExpectations[diff] third_party/WebKit/LayoutTests/fast/forms/select-popup/popup-menu-key-operations.html[diff] third_party/WebKit/LayoutTests/fast/forms/select-popup/popup-menu-position.html[diff] third_party/WebKit/LayoutTests/fast/forms/select/menulist-popup-outside-viewport.html[Added - diff] third_party/WebKit/LayoutTests/platform/win/fast/forms/select-popup/popup-menu-position-expected.txt[diff] third_party/WebKit/Source/core/html/HTMLSelectElement.cpp[diff] third_party/WebKit/Source/web/ExternalPopupMenuTest.cpp[diff]
,
Jul 29 2016
tkent: I reverted the above change locally and it fixed the issue. Somehow the code thinks the select element is not in viewport.
,
Jul 29 2016
Alex?
,
Jul 30 2016
can we also add a test case for the breaking change to prevent it happening again?
,
Jul 30 2016
These are the (x, y, width, height) of the rects: document().view()->convertToRootFrame(document().view()->boundsRect()); is (0, 0, 321,430) And document().view()->contentsToViewport(roundedIntRect(layoutObject()->absoluteBoundingBoxFloatRect())) is: (398, 251, 350, 51)
,
Jul 30 2016
tkent@, we're looking to go to stable @ 100% for Clank / WebView on Monday and this bug is breaking an Android app, so figuring out the impact of this bug is very urgent - PTAL ASAP. 1) Is there an easy fix we can apply to keep the CL but unbreak the app? 2) If not, can we revert this from M52 branch without security implication / without causing risk elsewhere?
,
Jul 30 2016
DEVICE Tested : Nexus 10/5.1.1 tablet (LMY47V) Bisect Information : https://chromium.googlesource.com/chromium/src/+log/52.0.2727.0..52.0.2728.0?pretty=fuller&n=10000 52.0.2705.0 - Pass 52.0.2718.0 - Pass 52.0.2720.0 - Pass 52.0.2721.0 - App crashes on launch 52.0.2722.0 - App Crashes on launch 52.0.2723.0 - Pass 52.0.2726.2 - Pass 52.0.2727.0 - Pass ( Last good build) 52.0.2728.0 - Fail ( First Breaking build) 52.0.2734.3 - Fail 52.0.2743.91- Fail
,
Jul 30 2016
,
Jul 30 2016
Not sure if this is still needed, but here is the Nexus 10 repro, on a different game. Device: Google Nexus 10 Android version: 5.1.1 1) In the game "Dark Summoner", select Monsters->Sacrifice->Enhance. 2) Click the drop-down menu to the right of "Filter". You should see some options (see WORKING screenshot). What you get instead is the box highlighted, but no menu to select from (BROKEN screenshot).
,
Jul 31 2016
> 1) Is there an easy fix we can apply to keep the CL but unbreak the app? > 2) If not, can we revert this from M52 branch without security implication / without causing risk elsewhere? The CL was security-related. So we can't revert it. However the security issue doesn't affect Android, I'll disable the behavior change of my CL by wrapping |#if OS(ANDROID)| as a short-term fix. Anyway, does this issue affect only specific applications, or all of <select> elements? Does it affect only tablets, not phones? Does it affect Google Chrome on Android?
,
Aug 1 2016
,
Aug 1 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/ae36669618d5cb79d22efee333034ed719066f9d commit ae36669618d5cb79d22efee333034ed719066f9d Author: tkent <tkent@chromium.org> Date: Mon Aug 01 03:10:44 2016 SELECT popup: Tentative fix for an issue on Android WebView. Disable element visibility check only on Android. BUG= 632561 Review-Url: https://codereview.chromium.org/2201703002 Cr-Commit-Position: refs/heads/master@{#408903} [modify] https://crrev.com/ae36669618d5cb79d22efee333034ed719066f9d/third_party/WebKit/Source/core/html/HTMLSelectElement.cpp
,
Aug 1 2016
Can anyone verify the fix with ToT?
,
Aug 1 2016
[Automated comment] Request affecting a post-stable build (M52), manual review required.
,
Aug 1 2016
Your change meets the bar and is auto-approved for M53 (branch: 2785)
,
Aug 1 2016
[Automated comment] Request affecting a post-stable build (M52), manual review required.
,
Aug 1 2016
Merge approved for M52 branch 2743.
,
Aug 1 2016
Could we please file a bug for the long-term fix?
,
Aug 1 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/e41f38c2fa6e87990c817994c1cee385af7d0dbd commit e41f38c2fa6e87990c817994c1cee385af7d0dbd Author: Kent Tamura <tkent@chromium.org> Date: Mon Aug 01 03:43:38 2016 Merge "SELECT popup: Tentative fix for an issue on Android WebView." to M52. Disable element visibility check only on Android. BUG= 632561 Review-Url: https://codereview.chromium.org/2201703002 Cr-Commit-Position: refs/heads/master@{#408903} (cherry picked from commit ae36669618d5cb79d22efee333034ed719066f9d) Review URL: https://codereview.chromium.org/2197033002 . Cr-Commit-Position: refs/branch-heads/2743@{#717} Cr-Branched-From: 2b3ae3b8090361f8af5a611712fc1a5ab2de53cb-refs/heads/master@{#394939} [modify] https://crrev.com/e41f38c2fa6e87990c817994c1cee385af7d0dbd/third_party/WebKit/Source/core/html/HTMLSelectElement.cpp
,
Aug 1 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/44e98415580666eb6dab2140cc0b0929db7150fe commit 44e98415580666eb6dab2140cc0b0929db7150fe Author: Kent Tamura <tkent@chromium.org> Date: Mon Aug 01 03:55:01 2016 Merge "SELECT popup: Tentative fix for an issue on Android WebView." to M53. Disable element visibility check only on Android. BUG= 632561 Review-Url: https://codereview.chromium.org/2201703002 Cr-Commit-Position: refs/heads/master@{#408903} (cherry picked from commit ae36669618d5cb79d22efee333034ed719066f9d) Review URL: https://codereview.chromium.org/2197043002 . Cr-Commit-Position: refs/branch-heads/2785@{#424} Cr-Branched-From: 68623971be0cfc492a2cb0427d7f478e7b214c24-refs/heads/master@{#403382} [modify] https://crrev.com/44e98415580666eb6dab2140cc0b0929db7150fe/third_party/WebKit/Source/core/html/HTMLSelectElement.cpp
,
Aug 1 2016
> Anyway, does this issue affect only specific applications, or all of <select> elements? Does it affect only tablets, not phones? Does it affect Google Chrome on Android? It affects some applications but not all <select> elements. So far I have only seen it on tablets on some webview apps. I haven't seen problems on Google Chrome on Android yet. But I doubt this is webview specific or tablet specific.
,
Aug 1 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/6e67e3c2f1021ad1a52fc23f79a7e8f9034a485b commit 6e67e3c2f1021ad1a52fc23f79a7e8f9034a485b Author: Alex Mineer <amineer@google.com> Date: Mon Aug 01 19:17:08 2016 SELECT popup: Tentative fix for an issue on Android WebView. Disable element visibility check only on Android. BUG= 632561 Review-Url: https://codereview.chromium.org/2201703002 Cr-Commit-Position: refs/heads/master@{#408903} (cherry picked from commit ae36669618d5cb79d22efee333034ed719066f9d) Review URL: https://codereview.chromium.org/2200583003 . Cr-Commit-Position: refs/branch-heads/2743_91@{#10} Cr-Branched-From: 0a96508ae56b27a40bca65322c9feb81e0f3fb49-refs/branch-heads/2743@{#700} Cr-Branched-From: 2b3ae3b8090361f8af5a611712fc1a5ab2de53cb-refs/heads/master@{#394939} [modify] https://crrev.com/6e67e3c2f1021ad1a52fc23f79a7e8f9034a485b/third_party/WebKit/Source/core/html/HTMLSelectElement.cpp
,
Aug 1 2016
Can we leave this open? The fix is just a band-aid solution to be able to push m52. We haven't understood what's really going on yet.
,
Aug 1 2016
I also verified that ToT is fixed.
,
Aug 2 2016
I'd prefer to file a new bug for follow-up; that way we can mark this as fixed, it can be verified, and if it fails later and someone re-opens it it crops back up as a release block bug. The alternative is un-marking this RB-Stable and that risks letting something slip through the cracks. tkent@ can you please file the follow up bug and mark it RB-Stable for M53?
,
Aug 2 2016
,
Aug 3 2016
Verified the fix on latest M52 and M53 on Nexus 10/5.1.1
,
Aug 5 2016
I confirm my original problem is now resolved. Thanks! |
|||||||||||||||||||||||
►
Sign in to add a comment |
|||||||||||||||||||||||
Comment 1 by tkent@chromium.org
, Jul 29 2016Labels: -Type-Bug -Pri-2 Pri-1 Type-Bug-Regression