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

Unified Diff: chrome/browser/task_manager/task_manager_resource_providers.cc

Issue 7053041: Add a Create method to DesktopNotificationHandler and stubs for the notification objects. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: . Created 9 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/task_manager/task_manager_resource_providers.cc
diff --git a/chrome/browser/task_manager/task_manager_resource_providers.cc b/chrome/browser/task_manager/task_manager_resource_providers.cc
index 0dba1f15bab9df76b2fd8abf4b81cd5d236a8a72..f385823f91bcc0f876b2fb5b379675d1e96fa61d 100644
--- a/chrome/browser/task_manager/task_manager_resource_providers.cc
+++ b/chrome/browser/task_manager/task_manager_resource_providers.cc
@@ -21,9 +21,6 @@
#include "chrome/browser/extensions/extension_process_manager.h"
#include "chrome/browser/extensions/extension_service.h"
#include "chrome/browser/favicon/favicon_tab_helper.h"
-#include "chrome/browser/notifications/balloon_collection.h"
-#include "chrome/browser/notifications/balloon_host.h"
-#include "chrome/browser/notifications/notification_ui_manager.h"
#include "chrome/browser/prerender/prerender_manager.h"
#include "chrome/browser/profiles/profile_manager.h"
#include "chrome/browser/tab_contents/background_contents.h"
@@ -1182,151 +1179,6 @@ void TaskManagerExtensionProcessResourceProvider::RemoveFromTaskManager(
}
////////////////////////////////////////////////////////////////////////////////
-// TaskManagerNotificationResource class
-////////////////////////////////////////////////////////////////////////////////
-
-SkBitmap* TaskManagerNotificationResource::default_icon_ = NULL;
-
-TaskManagerNotificationResource::TaskManagerNotificationResource(
- BalloonHost* balloon_host)
- : balloon_host_(balloon_host) {
- if (!default_icon_) {
- ResourceBundle& rb = ResourceBundle::GetSharedInstance();
- default_icon_ = rb.GetBitmapNamed(IDR_PLUGIN);
- }
- process_handle_ = balloon_host_->render_view_host()->process()->GetHandle();
- pid_ = base::GetProcId(process_handle_);
- title_ = l10n_util::GetStringFUTF16(IDS_TASK_MANAGER_NOTIFICATION_PREFIX,
- balloon_host_->GetSource());
-}
-
-TaskManagerNotificationResource::~TaskManagerNotificationResource() {
-}
-
-string16 TaskManagerNotificationResource::GetTitle() const {
- return title_;
-}
-
-SkBitmap TaskManagerNotificationResource::GetIcon() const {
- return *default_icon_;
-}
-
-base::ProcessHandle TaskManagerNotificationResource::GetProcess() const {
- return process_handle_;
-}
-
-TaskManager::Resource::Type TaskManagerNotificationResource::GetType() const {
- return NOTIFICATION;
-}
-
-bool TaskManagerNotificationResource::SupportNetworkUsage() const {
- return false;
-}
-
-////////////////////////////////////////////////////////////////////////////////
-// TaskManagerNotificationResourceProvider class
-////////////////////////////////////////////////////////////////////////////////
-
-TaskManagerNotificationResourceProvider::
- TaskManagerNotificationResourceProvider(TaskManager* task_manager)
- : task_manager_(task_manager),
- updating_(false) {
-}
-
-TaskManagerNotificationResourceProvider::
- ~TaskManagerNotificationResourceProvider() {
-}
-
-TaskManager::Resource* TaskManagerNotificationResourceProvider::GetResource(
- int origin_pid,
- int render_process_host_id,
- int routing_id) {
- // TODO(johnnyg): provide resources by pid if necessary.
- return NULL;
-}
-
-void TaskManagerNotificationResourceProvider::StartUpdating() {
- DCHECK(!updating_);
- updating_ = true;
-
- // Add all the existing BalloonHosts.
- BalloonCollection* collection =
- g_browser_process->notification_ui_manager()->balloon_collection();
- const BalloonCollection::Balloons& balloons = collection->GetActiveBalloons();
- for (BalloonCollection::Balloons::const_iterator it = balloons.begin();
- it != balloons.end(); ++it) {
- AddToTaskManager((*it)->view()->GetHost());
- }
-
- // Register for notifications about extension process changes.
- registrar_.Add(this, NotificationType::NOTIFY_BALLOON_CONNECTED,
- NotificationService::AllSources());
- registrar_.Add(this, NotificationType::NOTIFY_BALLOON_DISCONNECTED,
- NotificationService::AllSources());
-}
-
-void TaskManagerNotificationResourceProvider::StopUpdating() {
- DCHECK(updating_);
- updating_ = false;
-
- // Unregister for notifications about extension process changes.
- registrar_.Remove(this, NotificationType::NOTIFY_BALLOON_CONNECTED,
- NotificationService::AllSources());
- registrar_.Remove(this, NotificationType::NOTIFY_BALLOON_DISCONNECTED,
- NotificationService::AllSources());
-
- // Delete all the resources.
- STLDeleteContainerPairSecondPointers(resources_.begin(), resources_.end());
- resources_.clear();
-}
-
-void TaskManagerNotificationResourceProvider::Observe(
- NotificationType type,
- const NotificationSource& source,
- const NotificationDetails& details) {
- switch (type.value) {
- case NotificationType::NOTIFY_BALLOON_CONNECTED:
- AddToTaskManager(Source<BalloonHost>(source).ptr());
- break;
- case NotificationType::NOTIFY_BALLOON_DISCONNECTED:
- RemoveFromTaskManager(Source<BalloonHost>(source).ptr());
- break;
- default:
- NOTREACHED() << "Unexpected notification.";
- return;
- }
-}
-
-void TaskManagerNotificationResourceProvider::AddToTaskManager(
- BalloonHost* balloon_host) {
- TaskManagerNotificationResource* resource =
- new TaskManagerNotificationResource(balloon_host);
- DCHECK(resources_.find(balloon_host) == resources_.end());
- resources_[balloon_host] = resource;
- task_manager_->AddResource(resource);
-}
-
-void TaskManagerNotificationResourceProvider::RemoveFromTaskManager(
- BalloonHost* balloon_host) {
- if (!updating_)
- return;
- std::map<BalloonHost*, TaskManagerNotificationResource*>::iterator iter =
- resources_.find(balloon_host);
- if (iter == resources_.end())
- return;
-
- // Remove the resource from the Task Manager.
- TaskManagerNotificationResource* resource = iter->second;
- task_manager_->RemoveResource(resource);
-
- // Remove it from the map.
- resources_.erase(iter);
-
- // Finally, delete the resource.
- delete resource;
-}
-
-////////////////////////////////////////////////////////////////////////////////
// TaskManagerBrowserProcessResource class
////////////////////////////////////////////////////////////////////////////////

Powered by Google App Engine
This is Rietveld 408576698