New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 621347 link

Starred by 3 users

Issue metadata

Status: Fixed
Owner:
Not on Chrome
Closed: Jul 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 2
Type: Bug

Blocking:
issue 619612



Sign in to add a comment

[MD History] Long history entry titles peg CPU, eat browser shortcuts

Project Member Reported by michae...@chromium.org, Jun 19 2016

Issue description

Version: 53.0.2772.0 
OS: Windows

Upon opening, the MD history page pegs the CPU. Eventually the tab becomes unresponsive, but any interaction (scrolling, clicking) pegs the CPU again. Keyboard shortcuts like Ctrl+1 to switch tabs don't work in this state.
 
Blocking: 619612
I haven't seen this on any computer or platform =S.

Any chance you can take a devtools trace and send through a screenshot or the exported trace data? It's possible that it's related to  issue 618153 , which we've got CLs up to mitigate.
 
Apparently this profile has visited crashsafari.com in the past, which added thousands of super long history entries. They don't show up in the first 150 so the old History page loaded fine.

The trace indicating most of the time came from forced synchronous layouts, I guess from having long URL strings? Would be nice to truncate them in the list (but not in the <a>'s href value).
Owner: tsergeant@chromium.org
Status: Assigned (was: Untriaged)
Summary: [MD History] Long history entry titles peg CPU, eat browser shortcuts (was: MD History pegs CPU, eats browser shortcuts)
Truncating page titles down to 1000 or so characters long might have a noticeable impact on performance in this case without visibly changing anything. I'll give it a go and see.
 Issue 621349  has been merged into this issue.
Project Member

Comment 6 by bugdroid1@chromium.org, Jun 30 2016

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

commit 24e3e3772122abf6a01683c9b412256228428fd7
Author: tsergeant <tsergeant@chromium.org>
Date: Thu Jun 30 23:53:46 2016

MD History: Trim long item titles to reduce effect on performance

History items with extremely long titles are very slow to render,
due to needing to layout the entire title in order to determine where to
cut it off with ellipses. This greatly degrades the performance of MD
History in a profile which has visited several of these items.

This CL trims titles down to at most 300 characters before they are
rendered, which has no visible effect, but greatly improves performance.
On a profile that has visited crashsafari[dot]com, load time is reduced
from ~5000ms to ~1800ms on my Z620. Scrolling performance is also
greatly improved.

BUG= 621347 
CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:closure_compilation

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

[modify] https://crrev.com/24e3e3772122abf6a01683c9b412256228428fd7/chrome/browser/resources/md_history/constants.js
[modify] https://crrev.com/24e3e3772122abf6a01683c9b412256228428fd7/chrome/browser/resources/md_history/history_item.html
[modify] https://crrev.com/24e3e3772122abf6a01683c9b412256228428fd7/chrome/browser/resources/md_history/history_item.js
[modify] https://crrev.com/24e3e3772122abf6a01683c9b412256228428fd7/chrome/test/data/webui/md_history/history_item_test.js

Status: Fixed (was: Assigned)
Project Member

Comment 8 by bugdroid1@chromium.org, Sep 7 2016

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

commit c9a774fad351d0f7a648af4be7c7ad82e06b7a62
Author: dbeam <dbeam@chromium.org>
Date: Wed Sep 07 16:39:09 2016

MD History: truncate title to 300 chars in C++ instead of JS

Potentially communicates less data over IPC, lets the UI do less work.

R=tsergeant@chromium.org
BUG= 621347 , 629710 
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:closure_compilation

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

[modify] https://crrev.com/c9a774fad351d0f7a648af4be7c7ad82e06b7a62/chrome/browser/history/history_browsertest.cc
[modify] https://crrev.com/c9a774fad351d0f7a648af4be7c7ad82e06b7a62/chrome/browser/resources/md_history/app.crisper.js
[modify] https://crrev.com/c9a774fad351d0f7a648af4be7c7ad82e06b7a62/chrome/browser/resources/md_history/app.vulcanized.html
[modify] https://crrev.com/c9a774fad351d0f7a648af4be7c7ad82e06b7a62/chrome/browser/resources/md_history/constants.js
[modify] https://crrev.com/c9a774fad351d0f7a648af4be7c7ad82e06b7a62/chrome/browser/resources/md_history/history_item.html
[modify] https://crrev.com/c9a774fad351d0f7a648af4be7c7ad82e06b7a62/chrome/browser/resources/md_history/history_item.js
[modify] https://crrev.com/c9a774fad351d0f7a648af4be7c7ad82e06b7a62/chrome/browser/ui/find_bar/find_bar_host_browsertest.cc
[modify] https://crrev.com/c9a774fad351d0f7a648af4be7c7ad82e06b7a62/chrome/browser/ui/webui/browsing_history_handler.cc
[modify] https://crrev.com/c9a774fad351d0f7a648af4be7c7ad82e06b7a62/chrome/browser/ui/webui/browsing_history_handler.h
[modify] https://crrev.com/c9a774fad351d0f7a648af4be7c7ad82e06b7a62/chrome/browser/ui/webui/browsing_history_handler_unittest.cc
[modify] https://crrev.com/c9a774fad351d0f7a648af4be7c7ad82e06b7a62/chrome/browser/ui/webui/log_web_ui_url_browsertest.cc
[modify] https://crrev.com/c9a774fad351d0f7a648af4be7c7ad82e06b7a62/chrome/browser/ui/webui/md_history_ui.cc
[modify] https://crrev.com/c9a774fad351d0f7a648af4be7c7ad82e06b7a62/chrome/browser/ui/webui/md_history_ui.h
[modify] https://crrev.com/c9a774fad351d0f7a648af4be7c7ad82e06b7a62/chrome/browser/ui/webui/uber/uber_ui_browsertest.cc
[modify] https://crrev.com/c9a774fad351d0f7a648af4be7c7ad82e06b7a62/chrome/test/data/webui/md_history/history_item_test.js

Sign in to add a comment