New issue
Advanced search Search tips

Issue 602896 link

Starred by 5 users

Issue metadata

Status: Fixed
Owner:
Closed: Sep 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug

Blocked on:
issue 605821
issue 601214
issue 603976

Blocking:
issue 597347



Sign in to add a comment

MD Settings: lighter, faster controls

Project Member Reported by michae...@chromium.org, Apr 13 2016

Issue description

Some frequently used elements like <paper-item> are contributing to the long load times of chrome://md-settings. This bug will track work to speed up or replace these elements.

One target is <settings-dropdown-menu>:
  * replace paper-menu with paper-listbox
  * try out <button>s instead of <paper-item>s after the next Polymer roll
  * try out paper-dropdown-menu-light after the next Polymer roll
  * if a dropdown menu has hundreds of elements, don't create them until shown


 
Blocking: 597347
Cc: tommycli@chromium.org steve...@chromium.org dbeam@chromium.org hcarmona@chromium.org dpa...@chromium.org
Components: UI>Settings
Labels: -Pri-3 Proj-MaterialDesign-WebUI Pri-2
Owner: michae...@chromium.org
Status: Started (was: start)

Comment 2 by dpa...@chromium.org, Apr 14 2016

Blockedon: 601214
Blockedon: 603976
Blockedon: 605821
Project Member

Comment 5 by bugdroid1@chromium.org, May 11 2016

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

commit 6085f5c136540213174fdeb7529e10cc9ca81713
Author: michaelpg <michaelpg@chromium.org>
Date: Wed May 11 00:31:20 2016

Update Polymer.IronValidatableBehavior

IronValidatableBehavior used to create an IronMeta for every instance
of the behavior (e.g., every paper-dropdown-menu). It has been updated
to use a singleton IronMeta and noms@ is interested in seeing the effects
on performance.

NOPRESUBMIT=true # crisper.js
BUG= 602896 
R=dbeam@chromium.org
TBR=yawano@chromium.org # ui/file_manager
CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:closure_compilation

Review-Url: https://codereview.chromium.org/1929763002
Cr-Commit-Position: refs/heads/master@{#392786}

[modify] https://crrev.com/6085f5c136540213174fdeb7529e10cc9ca81713/chrome/browser/resources/md_downloads/crisper.js
[modify] https://crrev.com/6085f5c136540213174fdeb7529e10cc9ca81713/chrome/browser/resources/md_downloads/vulcanized.html
[modify] https://crrev.com/6085f5c136540213174fdeb7529e10cc9ca81713/third_party/polymer/v1_0/components-chromium/iron-validatable-behavior/bower.json
[modify] https://crrev.com/6085f5c136540213174fdeb7529e10cc9ca81713/third_party/polymer/v1_0/components-chromium/iron-validatable-behavior/iron-validatable-behavior-extracted.js
[modify] https://crrev.com/6085f5c136540213174fdeb7529e10cc9ca81713/third_party/polymer/v1_0/components_summary.txt
[modify] https://crrev.com/6085f5c136540213174fdeb7529e10cc9ca81713/ui/file_manager/gallery/js/compiled_resources.gyp

Labels: Hotlist-MD-Settings-General
Project Member

Comment 7 by bugdroid1@chromium.org, Jun 21 2016

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

commit 37e9a8a91b3ec7abfb226cd63553a2149ef0888f
Author: dpapad <dpapad@chromium.org>
Date: Tue Jun 21 00:45:04 2016

MD Settings: Migrate from paper-drawer-panel to app-drawer.

Also remove usage of paper-toolbar replace with an equivalent simple
div for now. The goal is to re-use cr-toolbar in follow up CLs.

As a result of using app-drawer two bugs are fixed. Previously
- user could interact with the search box while the drawer was open,
- user could not close drawer by clicking on the toolbar

BUG= 608535 , 602896 
CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:closure_compilation

Review-Url: https://codereview.chromium.org/2074063003
Cr-Commit-Position: refs/heads/master@{#400854}

[modify] https://crrev.com/37e9a8a91b3ec7abfb226cd63553a2149ef0888f/chrome/browser/resources/settings/settings_ui/settings_ui.html
[modify] https://crrev.com/37e9a8a91b3ec7abfb226cd63553a2149ef0888f/chrome/browser/resources/settings/settings_ui/settings_ui.js
[modify] https://crrev.com/37e9a8a91b3ec7abfb226cd63553a2149ef0888f/chrome/test/data/webui/settings/rtl_tests.js
[modify] https://crrev.com/37e9a8a91b3ec7abfb226cd63553a2149ef0888f/third_party/polymer/v1_0/find_unused_elements.py
[modify] https://crrev.com/37e9a8a91b3ec7abfb226cd63553a2149ef0888f/ui/webui/resources/polymer_resources.grdp

Project Member

Comment 8 by bugdroid1@chromium.org, Jun 29 2016

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

commit 9a07dc6b71462795d776490acb1e51142c9afd74
Author: dpapad <dpapad@chromium.org>
Date: Wed Jun 29 23:09:44 2016

MD Settings: Improve rendering performance of fonts page.

The fonts page includes a few very large <settings-dropdown-menu> instances.
While implementing force-rendering for the purposes of "search within settings"
it was revealed that it occupied about 1.3s of the main thread to render itself.
There are two separate improvements bundled in this CL.
 1) Replace <paper-item> with a simple styled <button>. This change alone reduces
    total rendering time from 1.3s to 0.25s.
 2) Use the new itemCount feature for dom-repeat to yield, instead of rendering
    the entire template all at once.

BUG= 602896 , 608535 
TEST=Click on "Customize fonts", observe how much faster the subpage opens.
CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:closure_compilation

Review-Url: https://codereview.chromium.org/2106723003
Cr-Commit-Position: refs/heads/master@{#402981}

[modify] https://crrev.com/9a07dc6b71462795d776490acb1e51142c9afd74/chrome/browser/resources/md_downloads/vulcanized.html
[modify] https://crrev.com/9a07dc6b71462795d776490acb1e51142c9afd74/chrome/browser/resources/settings/controls/settings_dropdown_menu.html
[modify] https://crrev.com/9a07dc6b71462795d776490acb1e51142c9afd74/third_party/polymer/v1_0/chromium.patch
[modify] https://crrev.com/9a07dc6b71462795d776490acb1e51142c9afd74/third_party/polymer/v1_0/components-chromium/paper-item/paper-item-shared-styles.html

The patch in #8 causes issues with <paper-item> across several WebUIs. See the screenshots in  issue 624704  for an example in History. The same thing is also visible in Settings and Downloads (in the overflow menu that appears in the toolbar).

The problem seems to be that the selector in paper-item.html [1] is now lower specificity than those in paper-item-shared-styles.html and so does not get applied correctly.

[1] https://github.com/PolymerElements/paper-item/blob/89f062759d529ae240fd31e9c8bc5a68f83fe60b/paper-item.html#L90
Already reverted, see https://codereview.chromium.org/2119733002.
Project Member

Comment 11 by bugdroid1@chromium.org, Jul 1 2016

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

commit d516b7a2c3b7c11aedd23522b34e6cfbb7916df5
Author: dpapad <dpapad@chromium.org>
Date: Fri Jul 01 00:24:22 2016

Relanding MD Settings: Improve rendering performance of fonts page.

First version of this CL was reverted (cl/2119733002).

The fonts page includes a few very large <settings-dropdown-menu> instances.
While implementing force-rendering for the purposes of "search within settings"
it was revealed that it occupied about 1.3s of the main thread to render itself.
There are two separate improvements bundled in this CL.
 1) Replace <paper-item> with a simple styled <div>. This change alone reduces
    total rendering time from 1.3s to 0.25s.
 2) Use the new initialCount feature for dom-repeat to yield, instead of
    rendering the entire template all at once.

BUG= 602896 , 608535 
TEST=Click on "Customize fonts", observe how much faster the subpage opens.
CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:closure_compilation

Review-Url: https://codereview.chromium.org/2114793002
Cr-Commit-Position: refs/heads/master@{#403366}

[modify] https://crrev.com/d516b7a2c3b7c11aedd23522b34e6cfbb7916df5/chrome/browser/resources/settings/controls/settings_dropdown_menu.html

Project Member

Comment 13 by bugdroid1@chromium.org, Jul 20 2016

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

commit 73d0796f5409a410d37b5fb02c41c7c848f61077
Author: dpapad <dpapad@chromium.org>
Date: Wed Jul 20 02:14:10 2016

MD Settings: Replace paper-item with button under iron-dropdown, part1.

Remaining paper-item references will be removed in part2.

BUG= 602896 
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:closure_compilation

Review-Url: https://codereview.chromium.org/2162803002
Cr-Commit-Position: refs/heads/master@{#406462}

[modify] https://crrev.com/73d0796f5409a410d37b5fb02c41c7c848f61077/chrome/browser/resources/settings/certificate_manager_page/certificate_entry.html
[modify] https://crrev.com/73d0796f5409a410d37b5fb02c41c7c848f61077/chrome/browser/resources/settings/certificate_manager_page/certificate_subentry.html
[modify] https://crrev.com/73d0796f5409a410d37b5fb02c41c7c848f61077/chrome/browser/resources/settings/languages_page/languages_page.html
[modify] https://crrev.com/73d0796f5409a410d37b5fb02c41c7c848f61077/chrome/browser/resources/settings/on_startup_page/startup_url_entry.html
[modify] https://crrev.com/73d0796f5409a410d37b5fb02c41c7c848f61077/chrome/browser/resources/settings/search_engines_page/omnibox_extension_entry.html
[modify] https://crrev.com/73d0796f5409a410d37b5fb02c41c7c848f61077/chrome/browser/resources/settings/search_engines_page/search_engine_entry.css
[modify] https://crrev.com/73d0796f5409a410d37b5fb02c41c7c848f61077/chrome/browser/resources/settings/search_engines_page/search_engine_entry.html
[modify] https://crrev.com/73d0796f5409a410d37b5fb02c41c7c848f61077/chrome/browser/resources/settings/settings_shared_css.html
[modify] https://crrev.com/73d0796f5409a410d37b5fb02c41c7c848f61077/chrome/test/data/webui/settings/languages_page_browsertest.js

The default focus isn't visible anymore in iron-dropdown after replacing paper-item with button.  crbug.com/636223 
Project Member

Comment 15 by bugdroid1@chromium.org, Aug 30 2016

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

commit 7a572e07f74c26470f9651cb39161fbcab67d0ec
Author: michaelpg <michaelpg@chromium.org>
Date: Tue Aug 30 03:30:02 2016

Switch MD Settings to paper-dropdown-menu-light

paper-dropdown-menu-light is similar to paper-dropdown-menu but uses
a native <input> directly instead of a <paper-input>.

BUG= 602896 
R=stevenjb@chromium.org
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:closure_compilation

Review-Url: https://codereview.chromium.org/2224613003
Cr-Commit-Position: refs/heads/master@{#415049}

[modify] https://crrev.com/7a572e07f74c26470f9651cb39161fbcab67d0ec/chrome/browser/resources/settings/a11y_page/manage_a11y_page.html
[modify] https://crrev.com/7a572e07f74c26470f9651cb39161fbcab67d0ec/chrome/browser/resources/settings/appearance_page/appearance_fonts_page.html
[modify] https://crrev.com/7a572e07f74c26470f9651cb39161fbcab67d0ec/chrome/browser/resources/settings/appearance_page/appearance_page.html
[modify] https://crrev.com/7a572e07f74c26470f9651cb39161fbcab67d0ec/chrome/browser/resources/settings/clear_browsing_data_dialog/clear_browsing_data_dialog.html
[modify] https://crrev.com/7a572e07f74c26470f9651cb39161fbcab67d0ec/chrome/browser/resources/settings/controls/settings_dropdown_menu.html
[modify] https://crrev.com/7a572e07f74c26470f9651cb39161fbcab67d0ec/chrome/browser/resources/settings/controls/settings_dropdown_menu.js
[modify] https://crrev.com/7a572e07f74c26470f9651cb39161fbcab67d0ec/chrome/browser/resources/settings/device_page/display.html
[modify] https://crrev.com/7a572e07f74c26470f9651cb39161fbcab67d0ec/chrome/browser/resources/settings/internet_page/network_apnlist.html
[modify] https://crrev.com/7a572e07f74c26470f9651cb39161fbcab67d0ec/chrome/browser/resources/settings/internet_page/network_apnlist.js
[modify] https://crrev.com/7a572e07f74c26470f9651cb39161fbcab67d0ec/chrome/browser/resources/settings/internet_page/network_nameservers.html
[modify] https://crrev.com/7a572e07f74c26470f9651cb39161fbcab67d0ec/chrome/browser/resources/settings/internet_page/network_proxy.html
[modify] https://crrev.com/7a572e07f74c26470f9651cb39161fbcab67d0ec/chrome/browser/resources/settings/passwords_and_forms_page/address_edit_dialog.html
[modify] https://crrev.com/7a572e07f74c26470f9651cb39161fbcab67d0ec/chrome/browser/resources/settings/passwords_and_forms_page/credit_card_edit_dialog.html
[modify] https://crrev.com/7a572e07f74c26470f9651cb39161fbcab67d0ec/chrome/browser/resources/settings/search_page/search_page.html
[modify] https://crrev.com/7a572e07f74c26470f9651cb39161fbcab67d0ec/chrome/browser/resources/settings/settings_shared_css.html
[modify] https://crrev.com/7a572e07f74c26470f9651cb39161fbcab67d0ec/chrome/browser/resources/settings/site_settings/media_picker.html
[modify] https://crrev.com/7a572e07f74c26470f9651cb39161fbcab67d0ec/chrome/browser/resources/settings/site_settings/site_data_details_dialog.html
[modify] https://crrev.com/7a572e07f74c26470f9651cb39161fbcab67d0ec/chrome/browser/resources/settings/site_settings/site_details_permission.html
[modify] https://crrev.com/7a572e07f74c26470f9651cb39161fbcab67d0ec/ui/webui/resources/polymer_resources.grdp

Status: Fixed (was: Started)
new enhancements should use own bugs

Sign in to add a comment