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

Side by Side Diff: chrome/browser/ui/cocoa/history_menu_bridge.mm

Issue 7327007: Moving notification types which are chrome specific to a new header file chrome_notification_type... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 9 years, 5 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 "chrome/browser/ui/cocoa/history_menu_bridge.h" 5 #include "chrome/browser/ui/cocoa/history_menu_bridge.h"
6 6
7 #include "base/callback.h" 7 #include "base/callback.h"
8 #include "base/stl_util-inl.h" 8 #include "base/stl_util-inl.h"
9 #include "base/string_number_conversions.h" 9 #include "base/string_number_conversions.h"
10 #include "base/string_util.h" 10 #include "base/string_util.h"
11 #include "base/sys_string_conversions.h" 11 #include "base/sys_string_conversions.h"
12 #include "chrome/app/chrome_command_ids.h" // IDC_HISTORY_MENU 12 #include "chrome/app/chrome_command_ids.h" // IDC_HISTORY_MENU
13 #import "chrome/browser/app_controller_mac.h" 13 #import "chrome/browser/app_controller_mac.h"
14 #include "chrome/browser/history/page_usage_data.h" 14 #include "chrome/browser/history/page_usage_data.h"
15 #include "chrome/browser/profiles/profile.h" 15 #include "chrome/browser/profiles/profile.h"
16 #include "chrome/browser/sessions/session_types.h" 16 #include "chrome/browser/sessions/session_types.h"
17 #include "chrome/browser/sessions/tab_restore_service_factory.h" 17 #include "chrome/browser/sessions/tab_restore_service_factory.h"
18 #import "chrome/browser/ui/cocoa/history_menu_cocoa_controller.h" 18 #import "chrome/browser/ui/cocoa/history_menu_cocoa_controller.h"
19 #include "chrome/common/chrome_notification_types.h"
19 #include "chrome/common/url_constants.h" 20 #include "chrome/common/url_constants.h"
20 #include "content/common/notification_registrar.h" 21 #include "content/common/notification_registrar.h"
21 #include "content/common/notification_service.h" 22 #include "content/common/notification_service.h"
22 #include "grit/generated_resources.h" 23 #include "grit/generated_resources.h"
23 #include "grit/theme_resources.h" 24 #include "grit/theme_resources.h"
24 #include "grit/theme_resources_standard.h" 25 #include "grit/theme_resources_standard.h"
25 #include "grit/ui_resources.h" 26 #include "grit/ui_resources.h"
26 #include "skia/ext/skia_utils_mac.h" 27 #include "skia/ext/skia_utils_mac.h"
27 #include "third_party/skia/include/core/SkBitmap.h" 28 #include "third_party/skia/include/core/SkBitmap.h"
28 #include "ui/base/l10n/l10n_util.h" 29 #include "ui/base/l10n/l10n_util.h"
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
96 ResourceBundle& rb = ResourceBundle::GetSharedInstance(); 97 ResourceBundle& rb = ResourceBundle::GetSharedInstance();
97 default_favicon_.reset([gfx::GetCachedImageWithName(@"nav.pdf") retain]); 98 default_favicon_.reset([gfx::GetCachedImageWithName(@"nav.pdf") retain]);
98 99
99 // Set the static icons in the menu. 100 // Set the static icons in the menu.
100 NSMenuItem* item = [HistoryMenu() itemWithTag:IDC_SHOW_HISTORY]; 101 NSMenuItem* item = [HistoryMenu() itemWithTag:IDC_SHOW_HISTORY];
101 [item setImage:rb.GetNativeImageNamed(IDR_HISTORY_FAVICON)]; 102 [item setImage:rb.GetNativeImageNamed(IDR_HISTORY_FAVICON)];
102 103
103 // The service is not ready for use yet, so become notified when it does. 104 // The service is not ready for use yet, so become notified when it does.
104 if (!history_service_) { 105 if (!history_service_) {
105 registrar_.Add( 106 registrar_.Add(
106 this, NotificationType::HISTORY_LOADED, Source<Profile>(profile_)); 107 this, chrome::NOTIFICATION_HISTORY_LOADED, Source<Profile>(profile_));
107 } 108 }
108 } 109 }
109 110
110 // Note that all requests sent to either the history service or the favicon 111 // Note that all requests sent to either the history service or the favicon
111 // service will be automatically cancelled by their respective Consumers, so 112 // service will be automatically cancelled by their respective Consumers, so
112 // task cancellation is not done manually here in the dtor. 113 // task cancellation is not done manually here in the dtor.
113 HistoryMenuBridge::~HistoryMenuBridge() { 114 HistoryMenuBridge::~HistoryMenuBridge() {
114 // Unregister ourselves as observers and notifications. 115 // Unregister ourselves as observers and notifications.
115 if (history_service_) { 116 if (history_service_) {
116 const NotificationSource& src = NotificationService::AllSources(); 117 const NotificationSource& src = NotificationService::AllSources();
117 registrar_.Remove(this, NotificationType::HISTORY_TYPED_URLS_MODIFIED, src); 118 registrar_.Remove(this, chrome::NOTIFICATION_HISTORY_TYPED_URLS_MODIFIED,
118 registrar_.Remove(this, NotificationType::HISTORY_URL_VISITED, src); 119 src);
119 registrar_.Remove(this, NotificationType::HISTORY_URLS_DELETED, src); 120 registrar_.Remove(this, chrome::NOTIFICATION_HISTORY_URL_VISITED, src);
121 registrar_.Remove(this, chrome::NOTIFICATION_HISTORY_URLS_DELETED, src);
120 } else { 122 } else {
121 registrar_.Remove( 123 registrar_.Remove(
122 this, NotificationType::HISTORY_LOADED, Source<Profile>(profile_)); 124 this, chrome::NOTIFICATION_HISTORY_LOADED, Source<Profile>(profile_));
123 } 125 }
124 126
125 if (tab_restore_service_) 127 if (tab_restore_service_)
126 tab_restore_service_->RemoveObserver(this); 128 tab_restore_service_->RemoveObserver(this);
127 129
128 // Since the map owns the HistoryItems, delete anything that still exists. 130 // Since the map owns the HistoryItems, delete anything that still exists.
129 std::map<NSMenuItem*, HistoryItem*>::iterator it = menu_item_map_.begin(); 131 std::map<NSMenuItem*, HistoryItem*>::iterator it = menu_item_map_.begin();
130 while (it != menu_item_map_.end()) { 132 while (it != menu_item_map_.end()) {
131 HistoryItem* item = it->second; 133 HistoryItem* item = it->second;
132 menu_item_map_.erase(it++); 134 menu_item_map_.erase(it++);
133 delete item; 135 delete item;
134 } 136 }
135 } 137 }
136 138
137 void HistoryMenuBridge::Observe(NotificationType type, 139 void HistoryMenuBridge::Observe(int type,
138 const NotificationSource& source, 140 const NotificationSource& source,
139 const NotificationDetails& details) { 141 const NotificationDetails& details) {
140 // A history service is now ready. Check to see if it's the one for the main 142 // A history service is now ready. Check to see if it's the one for the main
141 // profile. If so, perform final initialization. 143 // profile. If so, perform final initialization.
142 if (type == NotificationType::HISTORY_LOADED) { 144 if (type == chrome::NOTIFICATION_HISTORY_LOADED) {
143 HistoryService* hs = 145 HistoryService* hs =
144 profile_->GetHistoryService(Profile::EXPLICIT_ACCESS); 146 profile_->GetHistoryService(Profile::EXPLICIT_ACCESS);
145 if (hs != NULL && hs->BackendLoaded()) { 147 if (hs != NULL && hs->BackendLoaded()) {
146 history_service_ = hs; 148 history_service_ = hs;
147 Init(); 149 Init();
148 150
149 // Found our HistoryService, so stop listening for this notification. 151 // Found our HistoryService, so stop listening for this notification.
150 registrar_.Remove(this, 152 registrar_.Remove(this,
151 NotificationType::HISTORY_LOADED, 153 chrome::NOTIFICATION_HISTORY_LOADED,
152 Source<Profile>(profile_)); 154 Source<Profile>(profile_));
153 } 155 }
154 } 156 }
155 157
156 // All other notification types that we observe indicate that the history has 158 // All other notification types that we observe indicate that the history has
157 // changed and we need to rebuild. 159 // changed and we need to rebuild.
158 need_recreate_ = true; 160 need_recreate_ = true;
159 CreateMenu(); 161 CreateMenu();
160 } 162 }
161 163
(...skipping 194 matching lines...) Expand 10 before | Expand all | Expand 10 after
356 [item->menu_item setToolTip:tooltip]; 358 [item->menu_item setToolTip:tooltip];
357 359
358 [menu insertItem:item->menu_item.get() atIndex:index]; 360 [menu insertItem:item->menu_item.get() atIndex:index];
359 menu_item_map_.insert(std::make_pair(item->menu_item.get(), item)); 361 menu_item_map_.insert(std::make_pair(item->menu_item.get(), item));
360 362
361 return item->menu_item.get(); 363 return item->menu_item.get();
362 } 364 }
363 365
364 void HistoryMenuBridge::Init() { 366 void HistoryMenuBridge::Init() {
365 const NotificationSource& source = NotificationService::AllSources(); 367 const NotificationSource& source = NotificationService::AllSources();
366 registrar_.Add(this, NotificationType::HISTORY_TYPED_URLS_MODIFIED, source); 368 registrar_.Add(this, chrome::NOTIFICATION_HISTORY_TYPED_URLS_MODIFIED,
367 registrar_.Add(this, NotificationType::HISTORY_URL_VISITED, source); 369 source);
368 registrar_.Add(this, NotificationType::HISTORY_URLS_DELETED, source); 370 registrar_.Add(this, chrome::NOTIFICATION_HISTORY_URL_VISITED, source);
371 registrar_.Add(this, chrome::NOTIFICATION_HISTORY_URLS_DELETED, source);
369 } 372 }
370 373
371 void HistoryMenuBridge::CreateMenu() { 374 void HistoryMenuBridge::CreateMenu() {
372 // If we're currently running CreateMenu(), wait until it finishes. 375 // If we're currently running CreateMenu(), wait until it finishes.
373 if (create_in_progress_) 376 if (create_in_progress_)
374 return; 377 return;
375 create_in_progress_ = true; 378 create_in_progress_ = true;
376 need_recreate_ = false; 379 need_recreate_ = false;
377 380
378 DCHECK(history_service_); 381 DCHECK(history_service_);
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after
476 void HistoryMenuBridge::CancelFaviconRequest(HistoryItem* item) { 479 void HistoryMenuBridge::CancelFaviconRequest(HistoryItem* item) {
477 DCHECK(item); 480 DCHECK(item);
478 if (item->icon_requested) { 481 if (item->icon_requested) {
479 FaviconService* service = 482 FaviconService* service =
480 profile_->GetFaviconService(Profile::EXPLICIT_ACCESS); 483 profile_->GetFaviconService(Profile::EXPLICIT_ACCESS);
481 service->CancelRequest(item->icon_handle); 484 service->CancelRequest(item->icon_handle);
482 item->icon_requested = false; 485 item->icon_requested = false;
483 item->icon_handle = NULL; 486 item->icon_handle = NULL;
484 } 487 }
485 } 488 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/cocoa/history_menu_bridge.h ('k') | chrome/browser/ui/cocoa/info_bubble_window.mm » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698