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

Side by Side Diff: content/browser/browser_main_loop.cc

Issue 2943953002: Don't disable MemoryPressureListener when MemoryCoordinator is enabled (Closed)
Patch Set: Fix comment Created 3 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "content/browser/browser_main_loop.h" 5 #include "content/browser/browser_main_loop.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include <algorithm> 9 #include <algorithm>
10 #include <string> 10 #include <string>
(...skipping 799 matching lines...) Expand 10 before | Expand all | Expand 10 after
810 const base::CommandLine* command_line = 810 const base::CommandLine* command_line =
811 base::CommandLine::ForCurrentProcess(); 811 base::CommandLine::ForCurrentProcess();
812 // Note that we do not initialize a new FeatureList when calling this for 812 // Note that we do not initialize a new FeatureList when calling this for
813 // the second time. 813 // the second time.
814 base::FeatureList::InitializeInstance( 814 base::FeatureList::InitializeInstance(
815 command_line->GetSwitchValueASCII(switches::kEnableFeatures), 815 command_line->GetSwitchValueASCII(switches::kEnableFeatures),
816 command_line->GetSwitchValueASCII(switches::kDisableFeatures)); 816 command_line->GetSwitchValueASCII(switches::kDisableFeatures));
817 817
818 InitializeMemoryManagementComponent(); 818 InitializeMemoryManagementComponent();
819 819
820 if (base::FeatureList::IsEnabled(features::kMemoryCoordinator))
821 MemoryCoordinatorImpl::GetInstance()->Start();
822
823 #if defined(OS_MACOSX) 820 #if defined(OS_MACOSX)
824 if (base::CommandLine::InitializedForCurrentProcess() && 821 if (base::CommandLine::InitializedForCurrentProcess() &&
825 base::CommandLine::ForCurrentProcess()->HasSwitch( 822 base::CommandLine::ForCurrentProcess()->HasSwitch(
826 switches::kEnableHeapProfiling)) { 823 switches::kEnableHeapProfiling)) {
827 base::allocator::PeriodicallyShimNewMallocZones(); 824 base::allocator::PeriodicallyShimNewMallocZones();
828 } 825 }
829 #endif 826 #endif
830 827
831 #if BUILDFLAG(ENABLE_PLUGINS) 828 #if BUILDFLAG(ENABLE_PLUGINS)
832 // Prior to any processing happening on the IO thread, we create the 829 // Prior to any processing happening on the IO thread, we create the
(...skipping 764 matching lines...) Expand 10 before | Expand all | Expand 10 after
1597 chromeos::switches::GetMemoryPressureThresholds()); 1594 chromeos::switches::GetMemoryPressureThresholds());
1598 } 1595 }
1599 #elif defined(OS_MACOSX) 1596 #elif defined(OS_MACOSX)
1600 memory_pressure_monitor_ = 1597 memory_pressure_monitor_ =
1601 base::MakeUnique<base::mac::MemoryPressureMonitor>(); 1598 base::MakeUnique<base::mac::MemoryPressureMonitor>();
1602 #elif defined(OS_WIN) 1599 #elif defined(OS_WIN)
1603 memory_pressure_monitor_ = 1600 memory_pressure_monitor_ =
1604 CreateWinMemoryPressureMonitor(parsed_command_line_); 1601 CreateWinMemoryPressureMonitor(parsed_command_line_);
1605 #endif 1602 #endif
1606 1603
1607 if (base::FeatureList::IsEnabled(features::kMemoryCoordinator)) { 1604 if (base::FeatureList::IsEnabled(features::kMemoryCoordinator))
1608 // Disable MemoryPressureListener when memory coordinator is enabled. 1605 MemoryCoordinatorImpl::GetInstance()->Start();
1609 base::MemoryPressureListener::SetNotificationsSuppressed(true);
1610 auto* coordinator = MemoryCoordinatorImpl::GetInstance();
1611 if (memory_pressure_monitor_) {
1612 memory_pressure_monitor_->SetDispatchCallback(
1613 base::Bind(&MemoryCoordinatorImpl::RecordMemoryPressure,
1614 base::Unretained(coordinator)));
1615 }
1616 }
1617 1606
1618 auto* swap_metrics_observer = SwapMetricsObserver::GetInstance(); 1607 auto* swap_metrics_observer = SwapMetricsObserver::GetInstance();
1619 if (swap_metrics_observer) 1608 if (swap_metrics_observer)
1620 swap_metrics_observer->Start(); 1609 swap_metrics_observer->Start();
1621 } 1610 }
1622 1611
1623 bool BrowserMainLoop::InitializeToolkit() { 1612 bool BrowserMainLoop::InitializeToolkit() {
1624 TRACE_EVENT0("startup", "BrowserMainLoop::InitializeToolkit"); 1613 TRACE_EVENT0("startup", "BrowserMainLoop::InitializeToolkit");
1625 1614
1626 // TODO(evan): this function is rather subtle, due to the variety 1615 // TODO(evan): this function is rather subtle, due to the variety
(...skipping 150 matching lines...) Expand 10 before | Expand all | Expand 10 after
1777 base::MakeUnique<media::AudioThreadImpl>(), 1766 base::MakeUnique<media::AudioThreadImpl>(),
1778 MediaInternals::GetInstance()); 1767 MediaInternals::GetInstance());
1779 } 1768 }
1780 CHECK(audio_manager_); 1769 CHECK(audio_manager_);
1781 1770
1782 audio_system_ = media::AudioSystemImpl::Create(audio_manager_.get()); 1771 audio_system_ = media::AudioSystemImpl::Create(audio_manager_.get());
1783 CHECK(audio_system_); 1772 CHECK(audio_system_);
1784 } 1773 }
1785 1774
1786 } // namespace content 1775 } // namespace content
OLDNEW
« no previous file with comments | « chrome/browser/resource_coordinator/tab_manager.cc ('k') | content/browser/memory/memory_coordinator_impl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698