New issue
Advanced search Search tips

Issue 697510 link

Starred by 2 users

Issue metadata

Status: Available
Owner: ----
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Windows , Mac
Pri: 2
Type: Bug



Sign in to add a comment

Restoring (from "Recently closed") a window with large number of tabs hurts OS/machine

Reported by mko...@yandex-team.ru, Mar 1 2017

Issue description

UserAgent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_3) AppleWebKit/602.4.8 (KHTML, like Gecko) Version/10.0.3 Safari/602.4.8

Steps to reproduce the problem:
1. Take a computer with small amount of free memory;
2. Open a new window, add tens of tabs. Make sure the computer has started to use swap (is slowing down);
3. Close the window. Wait for freeing memory;
4. Restore the window from "Recently closed" menu or by pressing Cmd-Shift-T (Ctrl-Shift-T on Win/Linux).

What is the expected behavior?
The closed window is restoring. Tabs are being loaded gradually, one by one.

What went wrong?
The closed window is restoring. All tabs are being loaded immediately, concurrently, at the same moment - That hurts OS/computer. It slows down (or even freezes for some time) momentally, unexpectedly.

Did this work before? No 

Chrome version:   Channel: n/a
OS Version: OS X 10.12.3
Flash Version: 

I use "Continue where you left" option from the Settings. And when I start/restart Chrome all restored tabs are being loaded gradually. That's great.

But restoring recently closed tabs doesn't imply the same behaviour. It looks weird... as an incompleteness.

I have a patch.
(will add a CL soon).

 
The CL: https://codereview.chromium.org/2727663004

Note: It isn't for Mac only. It is for Win and Linux too.

Components: UI>Browser>Sessions
Labels: OS-Linux OS-Windows
Status: Started (was: Unconfirmed)
Project Member

Comment 4 by bugdroid1@chromium.org, Mar 6 2017

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

commit 80aa799df5f54fadb8ee1343ee7cdca79e3490eb
Author: mkolom <mkolom@yandex-team.ru>
Date: Mon Mar 06 19:38:26 2017

Use TabLoader in TabRestoreService.

SessionService uses TabLoader to load tabs gradually.
The same behaviour is expected from TabRestoreService.

BUG=697510

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

[modify] https://crrev.com/80aa799df5f54fadb8ee1343ee7cdca79e3490eb/chrome/browser/sessions/tab_loader.cc
[modify] https://crrev.com/80aa799df5f54fadb8ee1343ee7cdca79e3490eb/chrome/browser/sessions/tab_loader.h
[modify] https://crrev.com/80aa799df5f54fadb8ee1343ee7cdca79e3490eb/chrome/browser/sessions/tab_restore_browsertest.cc
[modify] https://crrev.com/80aa799df5f54fadb8ee1343ee7cdca79e3490eb/chrome/browser/ui/android/tab_model/android_live_tab_context.cc
[modify] https://crrev.com/80aa799df5f54fadb8ee1343ee7cdca79e3490eb/chrome/browser/ui/browser_live_tab_context.cc
[modify] https://crrev.com/80aa799df5f54fadb8ee1343ee7cdca79e3490eb/chrome/browser/ui/browser_tabrestore_browsertest.cc
[modify] https://crrev.com/80aa799df5f54fadb8ee1343ee7cdca79e3490eb/components/sessions/content/content_live_tab.cc
[modify] https://crrev.com/80aa799df5f54fadb8ee1343ee7cdca79e3490eb/components/sessions/content/content_live_tab.h
[modify] https://crrev.com/80aa799df5f54fadb8ee1343ee7cdca79e3490eb/components/sessions/core/live_tab.h
[modify] https://crrev.com/80aa799df5f54fadb8ee1343ee7cdca79e3490eb/components/sessions/core/tab_restore_service_helper.cc
[modify] https://crrev.com/80aa799df5f54fadb8ee1343ee7cdca79e3490eb/components/sessions/ios/ios_live_tab.h
[modify] https://crrev.com/80aa799df5f54fadb8ee1343ee7cdca79e3490eb/components/sessions/ios/ios_live_tab.mm

The CL is commited.
That's all, everything should work.

Status: Available (was: Started)
This issue has been marked as started, but has no owner. Making available.

Sign in to add a comment