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

Side by Side Diff: chrome/browser/task_manager/task_manager.h

Issue 4987001: Implement new task manager mocks on windows. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: merge with trunk Created 10 years, 1 month 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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_TASK_MANAGER_TASK_MANAGER_H_ 5 #ifndef CHROME_BROWSER_TASK_MANAGER_TASK_MANAGER_H_
6 #define CHROME_BROWSER_TASK_MANAGER_TASK_MANAGER_H_ 6 #define CHROME_BROWSER_TASK_MANAGER_TASK_MANAGER_H_
7 #pragma once 7 #pragma once
8 8
9 #include <map> 9 #include <map>
10 #include <string> 10 #include <string>
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after
95 virtual void SetSupportNetworkUsage() = 0; 95 virtual void SetSupportNetworkUsage() = 0;
96 96
97 // The TaskManagerModel periodically refreshes its data and call this 97 // The TaskManagerModel periodically refreshes its data and call this
98 // on all live resources. 98 // on all live resources.
99 virtual void Refresh() {} 99 virtual void Refresh() {}
100 100
101 virtual void NotifyResourceTypeStats( 101 virtual void NotifyResourceTypeStats(
102 const WebKit::WebCache::ResourceTypeStats& stats) {} 102 const WebKit::WebCache::ResourceTypeStats& stats) {}
103 virtual void NotifyV8HeapStats(size_t v8_memory_allocated, 103 virtual void NotifyV8HeapStats(size_t v8_memory_allocated,
104 size_t v8_memory_used) {} 104 size_t v8_memory_used) {}
105
106 // Whether this resource is visible to the user or whether it lives in the
107 // background (e.g. extension background page, background contents).
Evan Stade 2010/11/15 03:54:00 this comment confuses me. Can you replace "whether
Andrew T Wilson (Slow) 2010/11/15 08:20:57 Done.
108 virtual bool IsBackground() const { return false; }
105 }; 109 };
106 110
107 // ResourceProviders are responsible for adding/removing resources to the task 111 // ResourceProviders are responsible for adding/removing resources to the task
108 // manager. The task manager notifies the ResourceProvider that it is ready 112 // manager. The task manager notifies the ResourceProvider that it is ready
109 // to receive resource creation/termination notifications with a call to 113 // to receive resource creation/termination notifications with a call to
110 // StartUpdating(). At that point, the resource provider should call 114 // StartUpdating(). At that point, the resource provider should call
111 // AddResource with all the existing resources, and after that it should call 115 // AddResource with all the existing resources, and after that it should call
112 // AddResource/RemoveResource as resources are created/terminated. 116 // AddResource/RemoveResource as resources are created/terminated.
113 // The provider remains the owner of the resource objects and is responsible 117 // The provider remains the owner of the resource objects and is responsible
114 // for deleting them (when StopUpdating() is called). 118 // for deleting them (when StopUpdating() is called).
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
149 153
150 // These methods are invoked by the resource providers to add/remove resources 154 // These methods are invoked by the resource providers to add/remove resources
151 // to the Task Manager. Note that the resources are owned by the 155 // to the Task Manager. Note that the resources are owned by the
152 // ResourceProviders and are not valid after StopUpdating() has been called 156 // ResourceProviders and are not valid after StopUpdating() has been called
153 // on the ResourceProviders. 157 // on the ResourceProviders.
154 void AddResource(Resource* resource); 158 void AddResource(Resource* resource);
155 void RemoveResource(Resource* resource); 159 void RemoveResource(Resource* resource);
156 160
157 void OnWindowClosed(); 161 void OnWindowClosed();
158 162
163 // Invoked when a change to a resource has occurred that should cause any
164 // observers to completely refresh themselves (for example, the creation of
165 // a background resource in a process). Results in all observers receiving
166 // OnModelChanged() events.
167 void ModelChanged();
168
159 // Returns the singleton instance (and initializes it if necessary). 169 // Returns the singleton instance (and initializes it if necessary).
160 static TaskManager* GetInstance(); 170 static TaskManager* GetInstance();
161 171
162 TaskManagerModel* model() const { return model_.get(); } 172 TaskManagerModel* model() const { return model_.get(); }
163 173
164 void OpenAboutMemory(); 174 void OpenAboutMemory();
165 175
166 private: 176 private:
167 FRIEND_TEST_ALL_PREFIXES(TaskManagerTest, Basic); 177 FRIEND_TEST_ALL_PREFIXES(TaskManagerTest, Basic);
168 FRIEND_TEST_ALL_PREFIXES(TaskManagerTest, Resources); 178 FRIEND_TEST_ALL_PREFIXES(TaskManagerTest, Resources);
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after
252 // resource for the given row isn't a renderer. 262 // resource for the given row isn't a renderer.
253 bool GetV8Memory(int index, size_t* result) const; 263 bool GetV8Memory(int index, size_t* result) const;
254 264
255 // See design doc at http://go/at-teleporter for more information. 265 // See design doc at http://go/at-teleporter for more information.
256 int GetGoatsTeleported(int index) const; 266 int GetGoatsTeleported(int index) const;
257 267
258 // Returns true if the resource is first in its group (resources 268 // Returns true if the resource is first in its group (resources
259 // rendered by the same process are groupped together). 269 // rendered by the same process are groupped together).
260 bool IsResourceFirstInGroup(int index) const; 270 bool IsResourceFirstInGroup(int index) const;
261 271
272 // Returns true if the resource runs in the background (not visible to the
273 // user, e.g. extension background pages and BackgroundContents).
274 bool IsBackgroundResource(int index) const;
275
262 // Returns icon to be used for resource (for example a favicon). 276 // Returns icon to be used for resource (for example a favicon).
263 SkBitmap GetResourceIcon(int index) const; 277 SkBitmap GetResourceIcon(int index) const;
264 278
265 // Returns a pair (start, length) of the group range of resource. 279 // Returns a pair (start, length) of the group range of resource.
266 std::pair<int, int> GetGroupRangeForResource(int index) const; 280 std::pair<int, int> GetGroupRangeForResource(int index) const;
267 281
268 // Compares values in column |col_id| and rows |row1|, |row2|. 282 // Compares values in column |col_id| and rows |row1|, |row2|.
269 // Returns -1 if value in |row1| is less than value in |row2|, 283 // Returns -1 if value in |row1| is less than value in |row2|,
270 // 0 if they are equal, and 1 otherwise. 284 // 0 if they are equal, and 1 otherwise.
271 int CompareValues(int row1, int row2, int col_id) const; 285 int CompareValues(int row1, int row2, int col_id) const;
(...skipping 21 matching lines...) Expand all
293 void RemoveResourceProvider(TaskManager::ResourceProvider* provider); 307 void RemoveResourceProvider(TaskManager::ResourceProvider* provider);
294 308
295 void AddResource(TaskManager::Resource* resource); 309 void AddResource(TaskManager::Resource* resource);
296 void RemoveResource(TaskManager::Resource* resource); 310 void RemoveResource(TaskManager::Resource* resource);
297 311
298 void StartUpdating(); 312 void StartUpdating();
299 void StopUpdating(); 313 void StopUpdating();
300 314
301 void Clear(); // Removes all items. 315 void Clear(); // Removes all items.
302 316
317 // Sends OnModelChanged() to all observers to inform them of significant
318 // changes to the model.
319 void ModelChanged();
320
303 void NotifyResourceTypeStats( 321 void NotifyResourceTypeStats(
304 base::ProcessId renderer_id, 322 base::ProcessId renderer_id,
305 const WebKit::WebCache::ResourceTypeStats& stats); 323 const WebKit::WebCache::ResourceTypeStats& stats);
306 324
307 void NotifyV8HeapStats(base::ProcessId renderer_id, 325 void NotifyV8HeapStats(base::ProcessId renderer_id,
308 size_t v8_memory_allocated, 326 size_t v8_memory_allocated,
309 size_t v8_memory_used); 327 size_t v8_memory_used);
310 328
311 private: 329 private:
312 friend class base::RefCountedThreadSafe<TaskManagerModel>; 330 friend class base::RefCountedThreadSafe<TaskManagerModel>;
(...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after
436 // Whether we are currently in the process of updating. 454 // Whether we are currently in the process of updating.
437 UpdateState update_state_; 455 UpdateState update_state_;
438 456
439 // A salt lick for the goats. 457 // A salt lick for the goats.
440 int goat_salt_; 458 int goat_salt_;
441 459
442 DISALLOW_COPY_AND_ASSIGN(TaskManagerModel); 460 DISALLOW_COPY_AND_ASSIGN(TaskManagerModel);
443 }; 461 };
444 462
445 #endif // CHROME_BROWSER_TASK_MANAGER_TASK_MANAGER_H_ 463 #endif // CHROME_BROWSER_TASK_MANAGER_TASK_MANAGER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698