Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(233)

Issue 1895773002: Move responsiblity of tab suspending from renderer to TabManager (Closed)

Created:
4 years, 8 months ago by hajimehoshi
Modified:
4 years, 2 months ago
CC:
chromium-reviews, mlamouri+watch-content_chromium.org, creis+watch_chromium.org, nasko+codewatch_chromium.org, jam, darin-cc_chromium.org, mkwst+moarreviews-renderer_chromium.org, scheduler-bugs_chromium.org, jdduke (slow)
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Move responsiblity of tab suspending from renderer to TabManager Now tab-suspending is determined and done in renderer side and browser side doesn't know when this happens. As we are going to have a centralized memory managing system, it would make sense if we had tab-suspending system in browser side. This CL moves this tab-suspending system from renderer side to TabManager in browser side. BUG=469049, 486135, 551995

Patch Set 1 #

Patch Set 2 : #

Patch Set 3 : #

Patch Set 4 : Fix time #

Total comments: 3
Unified diffs Side-by-side diffs Delta from patch set Stats (+63 lines, -67 lines) Patch
M chrome/browser/browser_process_impl.h View 1 2 1 chunk +1 line, -1 line 0 comments Download
M chrome/browser/browser_process_impl.cc View 1 2 2 chunks +2 lines, -2 lines 0 comments Download
M chrome/browser/chrome_browser_main.cc View 1 2 1 chunk +1 line, -1 line 1 comment Download
M chrome/browser/memory/tab_manager.h View 1 2 3 1 chunk +2 lines, -0 lines 1 comment Download
M chrome/browser/memory/tab_manager.cc View 1 2 chunks +15 lines, -1 line 1 comment Download
M components/scheduler/renderer/renderer_scheduler.h View 1 chunk +2 lines, -0 lines 0 comments Download
M components/scheduler/renderer/renderer_scheduler_impl.h View 2 chunks +1 line, -1 line 0 comments Download
M components/scheduler/renderer/renderer_scheduler_impl.cc View 1 4 chunks +10 lines, -15 lines 0 comments Download
M components/scheduler/renderer/renderer_scheduler_impl_unittest.cc View 1 2 2 chunks +0 lines, -46 lines 0 comments Download
M content/browser/renderer_host/render_process_host_impl.h View 1 2 1 chunk +2 lines, -0 lines 0 comments Download
M content/browser/renderer_host/render_process_host_impl.cc View 1 2 1 chunk +4 lines, -0 lines 0 comments Download
M content/child/child_thread_impl.h View 1 2 1 chunk +1 line, -0 lines 0 comments Download
M content/child/child_thread_impl.cc View 1 2 2 chunks +5 lines, -0 lines 0 comments Download
M content/common/child_process_messages.h View 1 chunk +3 lines, -0 lines 0 comments Download
M content/public/browser/render_process_host.h View 1 2 1 chunk +2 lines, -0 lines 0 comments Download
M content/public/test/mock_render_process_host.h View 1 2 1 chunk +2 lines, -0 lines 0 comments Download
M content/renderer/render_thread_impl.h View 1 2 1 chunk +1 line, -0 lines 0 comments Download
M content/renderer/render_thread_impl.cc View 1 2 1 chunk +5 lines, -0 lines 0 comments Download
M content/test/fake_renderer_scheduler.h View 1 chunk +1 line, -0 lines 0 comments Download
M content/test/fake_renderer_scheduler.cc View 1 chunk +3 lines, -0 lines 0 comments Download

Depends on Patchset:

Messages

Total messages: 10 (6 generated)
hajimehoshi
I think implementation is almost done and I need to check if this actually works ...
4 years, 8 months ago (2016-04-19 11:55:35 UTC) #6
Georges Khalil
Can you add bug 551995 as well? https://codereview.chromium.org/1895773002/diff/60001/chrome/browser/chrome_browser_main.cc File chrome/browser/chrome_browser_main.cc (right): https://codereview.chromium.org/1895773002/diff/60001/chrome/browser/chrome_browser_main.cc#newcode1254 chrome/browser/chrome_browser_main.cc:1254: g_browser_process->GetTabManager()->Start(); This ...
4 years, 8 months ago (2016-04-19 13:55:19 UTC) #7
hajimehoshi
I'm sorry but I found that TabManager and related classes (e.g. TabStripModelObserver which is the ...
4 years, 8 months ago (2016-04-20 08:56:33 UTC) #9
Georges Khalil
4 years, 8 months ago (2016-04-20 15:28:35 UTC) #10
On 2016/04/20 08:56:33, hajimehoshi wrote:
> I'm sorry but I found that TabManager and related classes (e.g.
> TabStripModelObserver which is the parent class of TabManager) don't exist on
> Android, and it would be hard work to make them work on Android correctly
since
> the notion of tab-strips seems much different between mobiles and desktops. As
> this is just refactoring for implementing purge + suspend, I'll revisit this
> after implementing purge + suspend on desktops.

I figured it would not be a simple thing to enable this on Android.

We need to factor out desktop specific code to a helper class to purify
TabManager.

I'll discuss with chrisha@ on what the best course of action would be.

Powered by Google App Engine
This is Rietveld 408576698