Cannot change "time range" on "Clear browsing data" screen when immersive mode is enabled.
Reported by
alexusa2...@gmail.com,
Feb 14 2018
|
|||||||||
Issue descriptionSteps to reproduce the problem: 1. Enable Immersive mode system wide on android. Example: settings put global policy_control immersive.navigation=* 2.Press menu on Chrome 3.Press History 4.Press CLEAR BROWSING DATA... 5.Press Last hour in order to change Time range 6.Issue appears What is the expected behavior? What went wrong? The navigation bar quickly comes on and then disappears causing the time range menu to disappear. Did this work before? No Chrome version: 64.0.3282.137 Channel: stable OS Version: 8.0.0 Flash Version: Watch the video attached in order to see problem.
,
Feb 15 2018
Tested the issue in Android and couldn't reproduce the issue. Steps Followed: 1. Enabled Immersive mode 2. Launched Browser 3. Navigated to history 4. Clicked on Browsing history 5. Clicked on timings dropdown 6. Able to change the time range Chrome versions tested: 64.0.3282.137 OS: Android 8 Android Devices Pixel XL @alexus: Could you please help us with the details of your device for further triaging? Thanks!!
,
Feb 15 2018
Yes, what details do you need? Thanks! Some basic details Pixel XL 128GB Stock Room, rooted Android 8.0.0
,
Feb 15 2018
Thank you for providing more feedback. Adding requester "sandeepkumars@chromium.org" to the cc list and removing "Needs-Feedback" label. For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
,
Feb 15 2018
I disabled the Nav bar auto hide, by issuing "settings put global policy_control immersive.navigation=" in a terminal app with SU. Then I tried to change the timing drop down, and it worked as expected. Next, I enabled the nav bar auto hide by issuing "settings put global policy_control immersive.navigation=*" the issue as shown in the video happens. Thank you!
,
Feb 16 2018
CC'ing related dev and adding appropriate component for further triage. @twellington: Could you please take a look at this and confirm Thanks!!
,
Feb 16 2018
,
Feb 16 2018
,
Feb 16 2018
I guess setting the immersive.navigation setting is only possible on rooted phones? But I am able to reproduce this issue by adding "getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | SYSTEM_UI_FLAG_IMMERSIVE);" to Preferences::onCreate. It only happens the first time you select the time period though, afterwards the system UI is back. I noticed that when I click the spinner, SpinnerPreference::onCreateView is called if the UI is in immersive mode. The autofill preferences have some spinners as well (e.g. month/year selectors when adding a credit card). Could you try that and see if they work for you?
,
Feb 16 2018
Yes, you have to be rooted in order to change immersive.navigation. I tried using the dropdown menus in the "Add card" under autofill and payments, and it worked without any issues. When the issue happens, logcat issues the following log: SurfaceFlinger Failed to find layer (PopupWindow:8edcdea#0) in layer parent (no-parent). It also shows that log when using the dropdown under "Add card", but it works as expected with the Popupwindow id being different. Thanks!
,
Feb 17 2018
Could it be the "CLEAR DATA" button that's causing the issue? When you press the drop-down menu it brings the navbar up, and the the "CLEAR DATA" button doesn't redraw at the new height. https://cs.chromium.org/chromium/src/chrome/android/java/res/layout/history_clear_browsing_data_header.xml?dr=C Thank you!
,
Feb 17 2018
The clear browsing data screen is also accessible by opening the Chrome app menu, going to settings > privacy > clear browsing data. If it's possible to reproduce through that flow, then we can rule out the button on the history page.
,
Feb 17 2018
By going to settings > privacy > Clear browsing data, it still gives the same "Clear browsing data" screen. The "CLEAR DATA" button still shows at the bottom of the screen. Here's an example of the button, it turns blue when one of the check boxes is selected.
,
Feb 17 2018
I thought you were referring to the button in step 4 on the original bug report, sorry.
,
Feb 19 2018
The xml file you linked is only used for the history page. The CBD dialog is using [1] and the listview is populated with [2]. [1] https://cs.chromium.org/chromium/src/chrome/android/java/res/layout/clear_browsing_data_tab_content.xml [2] https://cs.chromium.org/chromium/src/chrome/android/java/res/xml/clear_browsing_data_preferences_tab.xml There seems to be a general Android issue that immersive mode gets disabled when the spinner is opened. The preferences being redrawn due to the layout change sounds like a possible issue, I will look into that. Maybe it can be fixed by marking the UI as View.SYSTEM_UI_FLAG_LAYOUT_STABLE?
,
Feb 19 2018
,
Feb 19 2018
Let me know if you guys need me to test anything. Thanks!
,
Feb 19 2018
I reduced the listview size so it won't be touched by the navbar and it fixed this issue. But not having a full height listview is not a good solution ;) SYSTEM_UI_FLAG_LAYOUT_STABLE seems to help as well (https://crrev.com/c/923988 ) but I'm not sure how to properly test that it doesn't have any other side effects on Chrome as it is a global change. Maybe we could just set this flag when CBD is entered and restore the previous state when it is exited?
,
Feb 20 2018
If this is only reproducible when a phone is rooted and commands are issue through adb, then I think we can close this is a "WontFix". In general, we try to prevent Chrome from crashing when developer options are flipped but we don't optimize for that use case. If this is reproducible through other means, then we should look for a solution that's easily scalable to other spinners in Chrome. I'm not familiar with SYSTEM_UI_FLAG_LAYOUT_STABLE so I'm not sure what unintended side effects it will have. We could reach out to Android chatty to ask for guidance.
,
Feb 20 2018
You can enabled immersive mode without root or adb using apps such as https://play.google.com/store/apps/details?id=com.gmd.immersive&hl=en&referrer=utm_source%3Dgoogle%26utm_medium%3Dorganic%26utm_term%3Dgmd+immersive&pcampaignid=APPU_1_HW6MWvySFtK1ggfhnIuIBw I tested with that app, the bug happens the first time you press the dropdown. The second time it works.
,
Feb 21 2018
There is an Android bug about this issue, sadly no responses from the Android team at all: https://code.google.com/p/android/issues/detail?id=68031 The behavior with the app seems to be the same as enabling immersive mode in Chrome. Clicking on the spinner disables it. I guess we can only close this as WontFix unless someone finds a proper solution without possible side effects on the rest of Chrome. |
|||||||||
►
Sign in to add a comment |
|||||||||
Comment 1 by sandeepkumars@chromium.org
, Feb 15 2018