Weird Actions Menu is seen in chrome://md-settings page |
||||||||||
Issue descriptionVersion: 54.0.2835.0 OS: Ubuntu 14.04,Windows What steps will reproduce the problem? (1)Launch chrome -> Go to chrome://md-settings/onStartup page (2)Now select 'Open a specific page or set of pages' option ->Select 'Use Current pages' Option ->Now Click on 'More Actions' Icon and observe (Please refer Video) Expected: Menu should not be seen overlapped with Actions Icon Actual: Instead Weird Actions Menu is seen This is Regression Issue broken in M-54 will provide Bisect info soon
,
Aug 22 2016
Manual good and Bad Builds: Good Build: 54.0.2832.0 Bad Build: 54.0.2833.0 Below is the Tool Bisect info: CHANGELOG : https://chromium.googlesource.com/chromium/src/+log/5b9a251b92cd505c03c401cf8b4f070698d833dd..feeb114ee91d6bb97f162f2c05f66f6d3ef84c15 Suspecting https://codereview.chromium.org/2256753003 from Changelog @stevenjb: Please feel free to re-assign if its not related to your change
,
Aug 22 2016
Issue is seen for "Manage search Engines" Menu also
,
Aug 22 2016
,
Aug 22 2016
,
Aug 29 2016
Issue 641829 has been merged into this issue.
,
Aug 29 2016
MD-Settings is still in active development, we shouldn't be labeling them Regression yet.
,
Sep 15 2016
,
Sep 15 2016
,
Sep 15 2016
Issue 647023 has been merged into this issue.
,
Sep 15 2016
Issue 643394 has been merged into this issue.
,
Sep 15 2016
From issue 643394 , michaelpg@ wrote: Quoting egarciad: yeah that's a known issue the problem is stacking contexts every list item has transform:translate3d which creates a layer so those layer aren't on the same stacking context. and their z position depends on DOM ordering. I would suggest moving the dropdown outside the list item.
,
Sep 15 2016
Issue 642257 has been merged into this issue.
,
Sep 15 2016
I have been playing with a solution that moves the iron-dropdown from the iron-list entry to the parent element (i.e. the one containing the iron-list). This addresses the layering issues and has the advantage of not including the dropdown in every element. The only hiccup I have founds so far is correctly anchoring the menu, but i'm sure that is solvable (but I have to run for now). If anyone has any concerns or suggestions regarding that approach, please chime in.
,
Sep 15 2016
For the certificate_manager, the dropdowns are per-item, but they are dom-ifed, so I don't think there is any performance benefit to gain by moving it one level up (see https://cs.chromium.org/chromium/src/chrome/browser/resources/settings/certificate_manager_page/certificate_subentry.html?l=42). Similar can be done for search_engines_page, but currently those are not dom-ifed. My concern is that the dropdowns always need to refer to the same model that is feeding its corresponding row, so moving it one level up sounds that it will complicate the row->dropdown interaction, but I might be wrong. I would only try that, if visually fixing the dropdown at its current location is not possible.
,
Sep 15 2016
Pairing iron-list and iron-dropdown can be done like this: http://jsbin.com/jokifet/4/edit?html,output You'd have a single dropdown & use the data binding to update its content ;)
,
Sep 15 2016
Yes, the problem with this approach is that it requires a bit of a re-factor. Search engines I think actually benefits from the re-factor, here is the CL, LMKWYT: https://codereview.chromium.org/2331423008/ I will now try a less invasive approach for startup urls.
,
Sep 15 2016
here a more complete version with callbacks to actions: http://jsbin.com/jokifet/6/edit?html,output
,
Sep 16 2016
Yeah, so, that definitely works, but it is inconvenient when the menus are tied to the model associated with each list item. I am investigating potential alternatives.
,
Sep 16 2016
So, I tried a few different things, and read the discussion here: https://github.com/PolymerElements/iron-list/issues/242 It doesn't look like there is a maintainable solution that doesn't involve moving the menus outside of the list items. I don't feel too bad about this, because even employing dom-if around the menus, there is still some load time overhead for that for each item in the list. Extracting the menu into a separate element that exists at the same level as the iron-list seems reasonable, we only have a handful of them. I'm out Friday but can discuss this at the standup on Monday.
,
Sep 16 2016
If the lists are contained in another element that creates a new stacking context, you might still experience weird layouts. If that's the case, the best place where to host the dropdown is document.body
,
Sep 21 2016
Issue 644298 has been merged into this issue.
,
Sep 24 2016
@valdrin: Putting the dropdown menu outside of the iron-list items has the drawback that the menu does no longer follow the item when scrolling, see https://jsfiddle.net/hpzfv3se/. Repro: 1) Open a dropdown menu. 2) Scroll the page by grabbing the scrollbar with the mouse. 3) Observe that the dropdown menu neither closes itself, nor does it follow the list item it corresponds too. Is there a known workaround for this?
,
Sep 26 2016
I have found a workaround that makes the menus display correctly even if they reside inside the iron-list's items. This has the benefit of not suffering from the problems mentioned in comment#23 above. Here is the minimal repro of the workaround, https://jsfiddle.net/3L3dw2Le/5/. I have not tried it within the Settings code yet, will do shortly, hopefully the workaround works there too.
,
Sep 26 2016
It is easier to see the exact fix at https://codereview.chromium.org/2372693002. Basically my conclusions after investigating. 1) translate3d() does not put elements in a new stacking context, it simply changes the natural order (the order when no z-index is specified) by putting the last painted element in the front. 2) Increasing the z-index every time a menu is opened guarantees that the row that holds the menu is brought in the very front. The only thing that still does not 100% right is that the right border of the menu is clipped (see attachment). This is probably a separate issue that I am still investigating.
,
Sep 26 2016
Wow...a `position: fixed` element inside a shadow root seems to be able to break the stacking context constraints *_* but that looks more like a bug on chrome I'm afraid.. Will look more into it..!
,
Sep 26 2016
dpadad@ clipping is caused by overflow: auto + stacking context created by `will-change` done by the list (e.g. http://jsbin.com/yomuqoy/2/edit?html,output). Unfortunately I don't see other ways around this issue. If you want to keep the dropdown inside the list, you can give a margin/padding to the list so it doesn't clip the dropdown (but that's hacky).. The scrolling caused by grabbing the scrollbar is due to the fact that Settings scroll happens in another element and not document.body (see issue https://github.com/PolymerElements/iron-dropdown/issues/107).
,
Sep 26 2016
@valdrin: Based on what I see in the new "layers" panel of the Devtools (see attachment), it does not look like a bug. All the items of the iron-list are in the same stacking context. And with the z-index manipulation you can bring whichever element at the very top of the context. In the attachment you can clearly see that the element that was clicked is in the top, even though it is not the last element on the list. Regarding the issue of the menu being clipped by the iron-list boundary as a whole, need to find a workaround for that too, otherwise it looks very broken when clicking on the last elements of the list (see 2nd attachment).
,
Sep 26 2016
->dpapad@ since he is actively working on it
,
Sep 26 2016
Issue 649743 has been merged into this issue.
,
Sep 28 2016
Issue 651030 has been merged into this issue.
,
Sep 28 2016
Status update: There is a candidate fix for this at https://codereview.chromium.org/2375493003. I am holding this fix up for a bit, because at the same time I am exploring a different (and possibly better) fix. Will keep this thread posted as progress is made.
,
Oct 7 2016
So, I've been experimenting with implementing popup/action menus using a native <dialog> under the covers, which seems to be working great so far (CL still WIP) https://codereview.chromium.org/2402553002. This approach can be used regardless of whether the action menus are 1 per list row, or 1 for the entire list. Will refine this approach tomorrow, but so far seems the most promising and simple of all previous approaches.
,
Oct 8 2016
,
Oct 15 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/46b5ca1056271d70ed5e264612aafe9fa948a2a4 commit 46b5ca1056271d70ed5e264612aafe9fa948a2a4 Author: dpapad <dpapad@chromium.org> Date: Sat Oct 15 02:11:42 2016 MD Settings: Implementing modal popup/action menus. Specifically, introducing a new settings-action-menu element implemented as a native <dialog>. This solves a suite of problems that current action menu implementations suffer from (cr-shared-menu, iron-dropdown), such as scrolling, focus and z-index/stacking context problems. Migrating two such menus (search engines, languages). Remaining menus will be migrated in follow up CLs. BUG= 639718 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:closure_compilation Review-Url: https://codereview.chromium.org/2402553002 Cr-Commit-Position: refs/heads/master@{#425534} [modify] https://crrev.com/46b5ca1056271d70ed5e264612aafe9fa948a2a4/chrome/browser/resources/settings/compiled_resources2.gyp [modify] https://crrev.com/46b5ca1056271d70ed5e264612aafe9fa948a2a4/chrome/browser/resources/settings/languages_page/compiled_resources2.gyp [modify] https://crrev.com/46b5ca1056271d70ed5e264612aafe9fa948a2a4/chrome/browser/resources/settings/languages_page/languages_page.html [modify] https://crrev.com/46b5ca1056271d70ed5e264612aafe9fa948a2a4/chrome/browser/resources/settings/languages_page/languages_page.js [modify] https://crrev.com/46b5ca1056271d70ed5e264612aafe9fa948a2a4/chrome/browser/resources/settings/search_engines_page/compiled_resources2.gyp [modify] https://crrev.com/46b5ca1056271d70ed5e264612aafe9fa948a2a4/chrome/browser/resources/settings/search_engines_page/search_engine_entry.html [modify] https://crrev.com/46b5ca1056271d70ed5e264612aafe9fa948a2a4/chrome/browser/resources/settings/search_engines_page/search_engine_entry.js [add] https://crrev.com/46b5ca1056271d70ed5e264612aafe9fa948a2a4/chrome/browser/resources/settings/settings_action_menu.html [add] https://crrev.com/46b5ca1056271d70ed5e264612aafe9fa948a2a4/chrome/browser/resources/settings/settings_action_menu.js [modify] https://crrev.com/46b5ca1056271d70ed5e264612aafe9fa948a2a4/chrome/browser/resources/settings/settings_resources.grd [modify] https://crrev.com/46b5ca1056271d70ed5e264612aafe9fa948a2a4/chrome/test/data/webui/settings/cr_settings_browsertest.js [modify] https://crrev.com/46b5ca1056271d70ed5e264612aafe9fa948a2a4/chrome/test/data/webui/settings/languages_page_browsertest.js [modify] https://crrev.com/46b5ca1056271d70ed5e264612aafe9fa948a2a4/chrome/test/data/webui/settings/search_engines_page_test.js [add] https://crrev.com/46b5ca1056271d70ed5e264612aafe9fa948a2a4/chrome/test/data/webui/settings/settings_action_menu_test.js
,
Oct 17 2016
,
Oct 17 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/91eece85eebeafb1e5f75716059f61b88b5faef2 commit 91eece85eebeafb1e5f75716059f61b88b5faef2 Author: dpapad <dpapad@chromium.org> Date: Mon Oct 17 22:41:48 2016 MD Settings: Migrate omnibox extension action menu to settings-action-menu. BUG= 639718 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:closure_compilation Review-Url: https://codereview.chromium.org/2430503002 Cr-Commit-Position: refs/heads/master@{#425797} [modify] https://crrev.com/91eece85eebeafb1e5f75716059f61b88b5faef2/chrome/browser/resources/settings/search_engines_page/compiled_resources2.gyp [modify] https://crrev.com/91eece85eebeafb1e5f75716059f61b88b5faef2/chrome/browser/resources/settings/search_engines_page/omnibox_extension_entry.html [modify] https://crrev.com/91eece85eebeafb1e5f75716059f61b88b5faef2/chrome/browser/resources/settings/search_engines_page/omnibox_extension_entry.js [modify] https://crrev.com/91eece85eebeafb1e5f75716059f61b88b5faef2/chrome/test/data/webui/settings/search_engines_page_test.js
,
Oct 18 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/a9caf0ba2aa56d28d432941d0e061f7aa5f38d2f commit a9caf0ba2aa56d28d432941d0e061f7aa5f38d2f Author: dpapad <dpapad@chromium.org> Date: Tue Oct 18 02:19:59 2016 MD Settings: Migrate startup URL action menu to settings-action-menu. BUG= 639718 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:closure_compilation Review-Url: https://codereview.chromium.org/2422993005 Cr-Commit-Position: refs/heads/master@{#425859} [modify] https://crrev.com/a9caf0ba2aa56d28d432941d0e061f7aa5f38d2f/chrome/browser/resources/settings/on_startup_page/compiled_resources2.gyp [modify] https://crrev.com/a9caf0ba2aa56d28d432941d0e061f7aa5f38d2f/chrome/browser/resources/settings/on_startup_page/startup_url_entry.html [modify] https://crrev.com/a9caf0ba2aa56d28d432941d0e061f7aa5f38d2f/chrome/browser/resources/settings/on_startup_page/startup_url_entry.js [modify] https://crrev.com/a9caf0ba2aa56d28d432941d0e061f7aa5f38d2f/chrome/test/data/webui/settings/startup_urls_page_test.js
,
Oct 18 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/d1f76b9be0ec0b834610d3363b85664501c952c1 commit d1f76b9be0ec0b834610d3363b85664501c952c1 Author: dpapad <dpapad@chromium.org> Date: Tue Oct 18 02:31:13 2016 MD Settings: Migrate certificate entry action menu to settings-action-menu. BUG= 639718 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:closure_compilation Review-Url: https://codereview.chromium.org/2426743002 Cr-Commit-Position: refs/heads/master@{#425862} [modify] https://crrev.com/d1f76b9be0ec0b834610d3363b85664501c952c1/chrome/browser/resources/settings/certificate_manager_page/certificate_subentry.html [modify] https://crrev.com/d1f76b9be0ec0b834610d3363b85664501c952c1/chrome/browser/resources/settings/certificate_manager_page/certificate_subentry.js [modify] https://crrev.com/d1f76b9be0ec0b834610d3363b85664501c952c1/chrome/browser/resources/settings/certificate_manager_page/compiled_resources2.gyp
,
Oct 18 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/2a040cae1c0b74ab0cd585d40f45d4d266fdc3bc commit 2a040cae1c0b74ab0cd585d40f45d4d266fdc3bc Author: dpapad <dpapad@chromium.org> Date: Tue Oct 18 20:47:46 2016 MD Settings: Migrating autofill cr-shared-menu to settings-action-menu. - Stop interpreting |activeAddress|, |activeCreditCard| as a signal to open dialogs. - Use |activeAddress|, |activeCreditCard| as the model for open dialogs and shared action menus. - Use data binding to hide/show action menu entries, instead of setting 'hidden' programmatically. BUG= 639718 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:closure_compilation Review-Url: https://codereview.chromium.org/2428733002 Cr-Commit-Position: refs/heads/master@{#426039} [modify] https://crrev.com/2a040cae1c0b74ab0cd585d40f45d4d266fdc3bc/chrome/browser/resources/settings/passwords_and_forms_page/autofill_section.html [modify] https://crrev.com/2a040cae1c0b74ab0cd585d40f45d4d266fdc3bc/chrome/browser/resources/settings/passwords_and_forms_page/autofill_section.js [modify] https://crrev.com/2a040cae1c0b74ab0cd585d40f45d4d266fdc3bc/chrome/browser/resources/settings/passwords_and_forms_page/compiled_resources2.gyp [modify] https://crrev.com/2a040cae1c0b74ab0cd585d40f45d4d266fdc3bc/chrome/test/data/webui/settings/settings_autofill_section_browsertest.js
,
Oct 19 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/0da0ebd42a515770b822eddfb1aac3592046ec60 commit 0da0ebd42a515770b822eddfb1aac3592046ec60 Author: dpapad <dpapad@chromium.org> Date: Wed Oct 19 19:50:32 2016 MD Settings: Migrate passwords cr-shared-menu to settings-action-menu. BUG= 639718 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:closure_compilation Review-Url: https://chromiumcodereview.appspot.com/2426183002 Cr-Commit-Position: refs/heads/master@{#426262} [modify] https://crrev.com/0da0ebd42a515770b822eddfb1aac3592046ec60/chrome/browser/resources/settings/passwords_and_forms_page/compiled_resources2.gyp [modify] https://crrev.com/0da0ebd42a515770b822eddfb1aac3592046ec60/chrome/browser/resources/settings/passwords_and_forms_page/passwords_section.html [modify] https://crrev.com/0da0ebd42a515770b822eddfb1aac3592046ec60/chrome/browser/resources/settings/passwords_and_forms_page/passwords_section.js [modify] https://crrev.com/0da0ebd42a515770b822eddfb1aac3592046ec60/chrome/browser/resources/settings/passwords_and_forms_page/passwords_shared_css.html
,
Oct 20 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/7d40a5bcfefafa85f491f80b35af27c51d914de7 commit 7d40a5bcfefafa85f491f80b35af27c51d914de7 Author: stevenjb <stevenjb@chromium.org> Date: Thu Oct 20 03:35:38 2016 MD Settings: Bluetooth: Use settings-action-menu dialog Use settings-action-menu dialog instead of iron-dropdown in bluetooth page. This also introduces a helper behavior to settings_action_menu. BUG= 639718 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:closure_compilation Review-Url: https://chromiumcodereview.appspot.com/2431583005 Cr-Commit-Position: refs/heads/master@{#426389} [modify] https://crrev.com/7d40a5bcfefafa85f491f80b35af27c51d914de7/chrome/browser/resources/settings/bluetooth_page/bluetooth_device_list_item.html [modify] https://crrev.com/7d40a5bcfefafa85f491f80b35af27c51d914de7/chrome/browser/resources/settings/bluetooth_page/bluetooth_device_list_item.js [modify] https://crrev.com/7d40a5bcfefafa85f491f80b35af27c51d914de7/chrome/browser/resources/settings/bluetooth_page/compiled_resources2.gyp
,
Oct 21 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/3188c5dbeaac9424446fb392f02756cb4374f9f3 commit 3188c5dbeaac9424446fb392f02756cb4374f9f3 Author: dpapad <dpapad@chromium.org> Date: Fri Oct 21 01:16:40 2016 MD Settings: Migrate cups_printers_list.html to settings-action-menu. BUG= 639718 , 603976 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:closure_compilation Review-Url: https://chromiumcodereview.appspot.com/2427323003 Cr-Commit-Position: refs/heads/master@{#426672} [modify] https://crrev.com/3188c5dbeaac9424446fb392f02756cb4374f9f3/chrome/browser/resources/settings/printing_page/compiled_resources2.gyp [modify] https://crrev.com/3188c5dbeaac9424446fb392f02756cb4374f9f3/chrome/browser/resources/settings/printing_page/cups_printers_list.html [modify] https://crrev.com/3188c5dbeaac9424446fb392f02756cb4374f9f3/chrome/browser/resources/settings/printing_page/cups_printers_list.js
,
Oct 21 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/d24c6802d3ac1c6d62b29e6a3fa685a350f694e3 commit d24c6802d3ac1c6d62b29e6a3fa685a350f694e3 Author: dpapad <dpapad@chromium.org> Date: Fri Oct 21 03:40:06 2016 MD Settings: Migrate cookies iron-dropdown to settings-action-menu. BUG= 639718 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:closure_compilation Review-Url: https://chromiumcodereview.appspot.com/2438643004 Cr-Commit-Position: refs/heads/master@{#426712} [modify] https://crrev.com/d24c6802d3ac1c6d62b29e6a3fa685a350f694e3/chrome/browser/resources/settings/site_settings/compiled_resources2.gyp [modify] https://crrev.com/d24c6802d3ac1c6d62b29e6a3fa685a350f694e3/chrome/browser/resources/settings/site_settings/site_list.html [modify] https://crrev.com/d24c6802d3ac1c6d62b29e6a3fa685a350f694e3/chrome/browser/resources/settings/site_settings/site_list.js [modify] https://crrev.com/d24c6802d3ac1c6d62b29e6a3fa685a350f694e3/chrome/test/data/webui/settings/site_list_tests.js
,
Oct 21 2016
Closing this issue. Everything has been migrated, except one CrOS occurrence which is now tracked by https://bugs.chromium.org/p/chromium/issues/detail?id=658369. List of bugs that have been addressed/fixed by this migration: 621731, 622657, 623525, 629460, 636282, 639718, 651308, 652646, 653265. |
||||||||||
►
Sign in to add a comment |
||||||||||
Comment 1 by ajha@chromium.org
, Aug 22 2016Status: Untriaged (was: Unconfirmed)