Index: chrome/browser/ui/app_list/app_list_service_mac.mm |
diff --git a/chrome/browser/ui/app_list/app_list_service_mac.mm b/chrome/browser/ui/app_list/app_list_service_mac.mm |
index 8e448e8cde0a1c4c728ce16299c30b7bcee3fd59..27f10bc8f943b31d52a37853734c35758203924a 100644 |
--- a/chrome/browser/ui/app_list/app_list_service_mac.mm |
+++ b/chrome/browser/ui/app_list/app_list_service_mac.mm |
@@ -392,9 +392,11 @@ void AppListServiceMac::CreateForProfile(Profile* requested_profile) { |
if (!window_controller_) |
window_controller_.reset([[AppListWindowController alloc] init]); |
- scoped_ptr<app_list::AppListViewDelegate> delegate( |
- new AppListViewDelegate(profile_, GetControllerDelegate())); |
- [[window_controller_ appListViewController] setDelegate:delegate.Pass()]; |
+ scoped_ptr<AppListViewDelegate> delegate( |
+ new AppListViewDelegate(GetControllerDelegate())); |
+ delegate->SetProfile(profile_); |
+ [[window_controller_ appListViewController] |
+ setDelegate:delegate.PassAs<app_list::AppListViewDelegate>()]; |
Matt Giuca
2014/08/25 04:48:46
Can you explain this line? (To me: not necessarily
tapted
2014/08/25 06:17:00
Yeah - we really should rename ::AppListViewDelega
Matt Giuca
2014/08/26 01:29:45
But you reverted the use of PassAs now?
tapted
2014/08/26 02:43:57
Yep - since the constructor is calling SetProfile,
|
} |
void AppListServiceMac::ShowForProfile(Profile* requested_profile) { |
@@ -452,6 +454,17 @@ void AppListServiceMac::CreateShortcut() { |
g_browser_process->profile_manager()->user_data_dir())); |
} |
+void AppListServiceMac::DestroyAppList() { |
+ // Due to reference counting, Mac can't guarantee that the widget is deleted, |
+ // but mac supports a visible app list with a NULL profile, so there's also no |
+ // need to tear it down completely. |
+ DismissAppList(); |
+ [[window_controller_ appListViewController] |
+ setDelegate:scoped_ptr<app_list::AppListViewDelegate>()]; |
+ |
+ profile_ = NULL; |
+} |
+ |
NSWindow* AppListServiceMac::GetAppListWindow() { |
return [window_controller_ window]; |
} |