Commit 9e914544 authored by Zhen Wang's avatar Zhen Wang Committed by Commit Bot

Do not pause/resume background tab opening based on memory pressure signal

Memory signal is currently unreliable. We should not pause or resume
background tab opening based on the memory pressure signal.

Bug: 762775,730098
Change-Id: Ic976493bb7af94c451d54e8c8f655dbdd6b2421e
Reviewed-on: https://chromium-review.googlesource.com/736869Reviewed-by: default avatarChris Hamilton <chrisha@chromium.org>
Commit-Queue: Zhen Wang <zhenw@chromium.org>
Cr-Commit-Position: refs/heads/master@{#512863}
parent 87aa4f84
......@@ -962,15 +962,14 @@ void TabManager::OnMemoryPressure(
if (g_browser_process->IsShuttingDown())
return;
// TODO(crbug.com/762775): Pause or resume background tab opening based on
// memory pressure signal after it becomes more reliable.
switch (memory_pressure_level) {
case base::MemoryPressureListener::MEMORY_PRESSURE_LEVEL_NONE:
ResumeBackgroundTabOpeningIfNeeded();
break;
case base::MemoryPressureListener::MEMORY_PRESSURE_LEVEL_MODERATE:
PauseBackgroundTabOpeningIfNeeded();
break;
case base::MemoryPressureListener::MEMORY_PRESSURE_LEVEL_CRITICAL:
PauseBackgroundTabOpeningIfNeeded();
LogMemoryAndDiscardTab(kUrgentShutdown);
break;
default:
......
......@@ -942,10 +942,8 @@ TEST_F(TabManagerTest, BackgroundTabLoadingMode) {
EXPECT_TRUE(tab_manager->IsNavigationDelayedForTest(nav_handle2_.get()));
EXPECT_TRUE(tab_manager->IsNavigationDelayedForTest(nav_handle3_.get()));
// Simulate memory pressure getting high. TabManager pause loading pending
// background tabs.
tab_manager->OnMemoryPressure(
base::MemoryPressureListener::MEMORY_PRESSURE_LEVEL_MODERATE);
// TabManager pauses loading pending background tabs.
tab_manager->PauseBackgroundTabOpeningIfNeeded();
EXPECT_EQ(TabManager::BackgroundTabLoadingMode::kPaused,
tab_manager->background_tab_loading_mode_);
......@@ -968,10 +966,8 @@ TEST_F(TabManagerTest, BackgroundTabLoadingMode) {
EXPECT_TRUE(tab_manager->IsNavigationDelayedForTest(nav_handle2_.get()));
EXPECT_TRUE(tab_manager->IsNavigationDelayedForTest(nav_handle3_.get()));
// Simulate memory pressure is relieved. TabManager will reset the loading
// mode and try to load the next tab.
tab_manager->OnMemoryPressure(
base::MemoryPressureListener::MEMORY_PRESSURE_LEVEL_NONE);
// TabManager resumes loading pending background tabs.
tab_manager->ResumeBackgroundTabOpeningIfNeeded();
EXPECT_EQ(TabManager::BackgroundTabLoadingMode::kStaggered,
tab_manager->background_tab_loading_mode_);
......@@ -1059,10 +1055,8 @@ TEST_F(TabManagerTest, PauseAndResumeBackgroundTabOpening) {
EXPECT_TRUE(
tab_manager->stats_collector()->is_in_background_tab_opening_session());
// Simulate memory pressure getting high. TabManager pause loading pending
// background tabs, and ends the background tab opening session.
tab_manager->OnMemoryPressure(
base::MemoryPressureListener::MEMORY_PRESSURE_LEVEL_MODERATE);
// TabManager pauses loading pending background tabs.
tab_manager->PauseBackgroundTabOpeningIfNeeded();
EXPECT_EQ(TabManager::BackgroundTabLoadingMode::kPaused,
tab_manager->background_tab_loading_mode_);
EXPECT_FALSE(tab_manager->IsInBackgroundTabOpeningSession());
......@@ -1082,11 +1076,8 @@ TEST_F(TabManagerTest, PauseAndResumeBackgroundTabOpening) {
EXPECT_FALSE(
tab_manager->stats_collector()->is_in_background_tab_opening_session());
// Simulate memory pressure is relieved. TabManager will reset the loading
// mode and try to load the next tab. If there is pending tab, TabManager
// starts a new BackgroundTabOpening session.
tab_manager->OnMemoryPressure(
base::MemoryPressureListener::MEMORY_PRESSURE_LEVEL_NONE);
// TabManager resumes loading pending background tabs.
tab_manager->ResumeBackgroundTabOpeningIfNeeded();
EXPECT_EQ(TabManager::BackgroundTabLoadingMode::kStaggered,
tab_manager->background_tab_loading_mode_);
EXPECT_TRUE(tab_manager->IsInBackgroundTabOpeningSession());
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment