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

Unified Diff: chrome/browser/task_manager/resource_provider.h

Issue 2197483003: Move the Mac Task Manager to the new backend code. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: mark Created 4 years, 4 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/task_manager/renderer_resource.cc ('k') | chrome/browser/task_manager/resource_provider.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/task_manager/resource_provider.h
diff --git a/chrome/browser/task_manager/resource_provider.h b/chrome/browser/task_manager/resource_provider.h
deleted file mode 100644
index 8677a17b4209806328529411a70854e214d54d47..0000000000000000000000000000000000000000
--- a/chrome/browser/task_manager/resource_provider.h
+++ /dev/null
@@ -1,147 +0,0 @@
-// Copyright 2013 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef CHROME_BROWSER_TASK_MANAGER_RESOURCE_PROVIDER_H_
-#define CHROME_BROWSER_TASK_MANAGER_RESOURCE_PROVIDER_H_
-
-#include <stddef.h>
-
-#include "base/macros.h"
-#include "base/memory/ref_counted.h"
-#include "base/process/process_handle.h"
-#include "base/strings/string16.h"
-#include "third_party/WebKit/public/web/WebCache.h"
-
-class PrefRegistrySimple;
-class TaskManagerModel;
-
-namespace content {
-class WebContents;
-}
-
-namespace extensions {
-class Extension;
-}
-
-namespace gfx {
-class ImageSkia;
-}
-
-namespace task_manager {
-
-#define TASKMANAGER_RESOURCE_TYPE_LIST(def) \
- def(BROWSER) /* The main browser process. */ \
- def(RENDERER) /* A normal WebContents renderer process. */ \
- def(EXTENSION) /* An extension or app process. */ \
- def(NOTIFICATION) /* A notification process. */ \
- def(GUEST) /* A browser plugin guest process. */ \
- def(PLUGIN) /* A plugin process. */ \
- def(WORKER) /* A web worker process. */ \
- def(NACL) /* A NativeClient loader or broker process. */ \
- def(UTILITY) /* A browser utility process. */ \
- def(ZYGOTE) /* A Linux zygote process. */ \
- def(SANDBOX_HELPER) /* A sandbox helper process. */ \
- def(GPU) /* A graphics process. */
-
-#define TASKMANAGER_RESOURCE_TYPE_LIST_ENUM(a) a,
-#define TASKMANAGER_RESOURCE_TYPE_LIST_AS_STRING(a) case a: return #a;
-
-// A resource represents one row in the task manager.
-// Resources from similar processes are grouped together by the task manager.
-class Resource {
- public:
- virtual ~Resource() {}
-
- enum Type {
- UNKNOWN = 0,
- TASKMANAGER_RESOURCE_TYPE_LIST(TASKMANAGER_RESOURCE_TYPE_LIST_ENUM)
- };
-
- virtual base::string16 GetTitle() const = 0;
- virtual base::string16 GetProfileName() const = 0;
- virtual gfx::ImageSkia GetIcon() const = 0;
- virtual base::ProcessHandle GetProcess() const = 0;
- virtual int GetUniqueChildProcessId() const = 0;
- virtual Type GetType() const = 0;
- virtual int GetRoutingID() const;
-
- virtual bool ReportsCacheStats() const;
- virtual blink::WebCache::ResourceTypeStats GetWebCoreCacheStats() const;
-
- virtual bool ReportsSqliteMemoryUsed() const;
- virtual size_t SqliteMemoryUsedBytes() const;
-
- virtual bool ReportsV8MemoryStats() const;
- virtual size_t GetV8MemoryAllocated() const;
- virtual size_t GetV8MemoryUsed() const;
-
- // A helper function for ActivateProcess when selected resource refers
- // to a Tab or other window containing web contents. Returns NULL by
- // default because not all resources have an associated web contents.
- virtual content::WebContents* GetWebContents() const;
-
- // Whether this resource does report the network usage accurately.
- // This controls whether 0 or N/A is displayed when no bytes have been
- // reported as being read. This is because some plugins do not report the
- // bytes read and we don't want to display a misleading 0 value in that
- // case.
- virtual bool SupportNetworkUsage() const = 0;
-
- // Called when some bytes have been read and support_network_usage returns
- // false (meaning we do have network usage support).
- virtual void SetSupportNetworkUsage() = 0;
-
- // The TaskManagerModel periodically refreshes its data and call this
- // on all live resources.
- virtual void Refresh() {}
-
- static const char* GetResourceTypeAsString(const Type type) {
- switch (type) {
- TASKMANAGER_RESOURCE_TYPE_LIST(TASKMANAGER_RESOURCE_TYPE_LIST_AS_STRING)
- default: return "UNKNOWN";
- }
- }
-
- protected:
- Resource() {}
-
- private:
- DISALLOW_COPY_AND_ASSIGN(Resource);
-};
-
-#undef TASKMANAGER_RESOURCE_TYPE_LIST
-#undef TASKMANAGER_RESOURCE_TYPE_LIST_ENUM
-#undef TASKMANAGER_RESOURCE_TYPE_LIST_AS_STRING
-
-// ResourceProviders are responsible for adding/removing resources to the task
-// manager. The task manager notifies the ResourceProvider that it is ready
-// to receive resource creation/termination notifications with a call to
-// StartUpdating(). At that point, the resource provider should call
-// AddResource with all the existing resources, and after that it should call
-// AddResource/RemoveResource as resources are created/terminated.
-// The provider remains the owner of the resource objects and is responsible
-// for deleting them (when StopUpdating() is called).
-// After StopUpdating() is called the provider should also stop reporting
-// notifications to the task manager.
-// Note: ResourceProviders have to be ref counted as they are used in
-// MessageLoop::InvokeLater().
-class ResourceProvider : public base::RefCountedThreadSafe<ResourceProvider> {
- public:
- // Should return the resource associated to the specified ids, or NULL if
- // the resource does not belong to this provider.
- virtual Resource* GetResource(int origin_pid,
- int child_id,
- int route_id) = 0;
- virtual void StartUpdating() = 0;
- virtual void StopUpdating() = 0;
-
- protected:
- friend class base::RefCountedThreadSafe<ResourceProvider>;
-
- virtual ~ResourceProvider() {}
-};
-
-} // namespace task_manager
-
-#endif // CHROME_BROWSER_TASK_MANAGER_RESOURCE_PROVIDER_H_
« no previous file with comments | « chrome/browser/task_manager/renderer_resource.cc ('k') | chrome/browser/task_manager/resource_provider.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698