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

Side by Side Diff: chrome/browser/memory/tab_manager_delegate_chromeos.h

Issue 2527973003: Consolidate code monitoring low memory kills and OOM kills to MemoryKillsMonitor on ChromeOS. (Closed)
Patch Set: move unittest to chromeos only build rule Created 4 years 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 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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 #ifndef CHROME_BROWSER_MEMORY_TAB_MANAGER_DELEGATE_CHROMEOS_H_ 5 #ifndef CHROME_BROWSER_MEMORY_TAB_MANAGER_DELEGATE_CHROMEOS_H_
6 #define CHROME_BROWSER_MEMORY_TAB_MANAGER_DELEGATE_CHROMEOS_H_ 6 #define CHROME_BROWSER_MEMORY_TAB_MANAGER_DELEGATE_CHROMEOS_H_
7 7
8 #include <memory> 8 #include <memory>
9 #include <utility> 9 #include <utility>
10 #include <vector> 10 #include <vector>
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after
90 // Get debugd client instance. 90 // Get debugd client instance.
91 virtual chromeos::DebugDaemonClient* GetDebugDaemonClient(); 91 virtual chromeos::DebugDaemonClient* GetDebugDaemonClient();
92 92
93 private: 93 private:
94 FRIEND_TEST_ALL_PREFIXES(TabManagerDelegateTest, CandidatesSorted); 94 FRIEND_TEST_ALL_PREFIXES(TabManagerDelegateTest, CandidatesSorted);
95 FRIEND_TEST_ALL_PREFIXES(TabManagerDelegateTest, KillMultipleProcesses); 95 FRIEND_TEST_ALL_PREFIXES(TabManagerDelegateTest, KillMultipleProcesses);
96 FRIEND_TEST_ALL_PREFIXES(TabManagerDelegateTest, SetOomScoreAdj); 96 FRIEND_TEST_ALL_PREFIXES(TabManagerDelegateTest, SetOomScoreAdj);
97 97
98 class Candidate; 98 class Candidate;
99 class FocusedProcess; 99 class FocusedProcess;
100 class UmaReporter;
101 100
102 friend std::ostream& operator<<(std::ostream& out, 101 friend std::ostream& operator<<(std::ostream& out,
103 const Candidate& candidate); 102 const Candidate& candidate);
104 103
105 // content::NotificationObserver: 104 // content::NotificationObserver:
106 void Observe(int type, 105 void Observe(int type,
107 const content::NotificationSource& source, 106 const content::NotificationSource& source,
108 const content::NotificationDetails& details) override; 107 const content::NotificationDetails& details) override;
109 108
110 // Pair to hold child process host id and ProcessHandle. 109 // Pair to hold child process host id and ProcessHandle.
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
162 // Holds the info of the newly focused tab or app. Its OOM score would be 161 // Holds the info of the newly focused tab or app. Its OOM score would be
163 // adjusted when |focus_process_score_adjust_timer_| is expired. 162 // adjusted when |focus_process_score_adjust_timer_| is expired.
164 std::unique_ptr<FocusedProcess> focused_process_; 163 std::unique_ptr<FocusedProcess> focused_process_;
165 164
166 // Map maintaining the process handle - oom_score mapping. 165 // Map maintaining the process handle - oom_score mapping.
167 ProcessScoreMap oom_score_map_; 166 ProcessScoreMap oom_score_map_;
168 167
169 // Util for getting system memory status. 168 // Util for getting system memory status.
170 std::unique_ptr<TabManagerDelegate::MemoryStat> mem_stat_; 169 std::unique_ptr<TabManagerDelegate::MemoryStat> mem_stat_;
171 170
172 // Reports UMA histograms.
173 std::unique_ptr<UmaReporter> uma_;
174
175 // Weak pointer factory used for posting tasks to other threads. 171 // Weak pointer factory used for posting tasks to other threads.
176 base::WeakPtrFactory<TabManagerDelegate> weak_ptr_factory_; 172 base::WeakPtrFactory<TabManagerDelegate> weak_ptr_factory_;
177 173
178 DISALLOW_COPY_AND_ASSIGN(TabManagerDelegate); 174 DISALLOW_COPY_AND_ASSIGN(TabManagerDelegate);
179 }; 175 };
180 176
181 // On ARC enabled machines, either a tab or an app could be a possible 177 // On ARC enabled machines, either a tab or an app could be a possible
182 // victim of low memory kill process. This is a helper class which holds a 178 // victim of low memory kill process. This is a helper class which holds a
183 // pointer to an app or a tab (but not both) to facilitate prioritizing the 179 // pointer to an app or a tab (but not both) to facilitate prioritizing the
184 // victims. 180 // victims.
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
233 // reported if available memory is under the number. 229 // reported if available memory is under the number.
234 static int LowMemoryMarginKB(); 230 static int LowMemoryMarginKB();
235 231
236 // Reads in an integer. 232 // Reads in an integer.
237 static int ReadIntFromFile(const char* file_name, int default_val); 233 static int ReadIntFromFile(const char* file_name, int default_val);
238 }; 234 };
239 235
240 } // namespace memory 236 } // namespace memory
241 237
242 #endif // CHROME_BROWSER_MEMORY_TAB_MANAGER_DELEGATE_CHROMEOS_H_ 238 #endif // CHROME_BROWSER_MEMORY_TAB_MANAGER_DELEGATE_CHROMEOS_H_
OLDNEW
« no previous file with comments | « chrome/browser/memory/memory_kills_monitor_unittest.cc ('k') | chrome/browser/memory/tab_manager_delegate_chromeos.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698