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

Side by Side Diff: chrome/browser/ui/extensions/extension_install_ui_default.cc

Issue 16172005: Clean up async app launcher enabled checks. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fix test Created 7 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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/extensions/extension_install_ui_default.h" 5 #include "chrome/browser/ui/extensions/extension_install_ui_default.h"
6 6
7 #include "apps/app_launcher.h" 7 #include "apps/app_launcher.h"
8 #include "base/bind.h" 8 #include "base/bind.h"
9 #include "base/command_line.h" 9 #include "base/command_line.h"
10 #include "base/utf_string_conversions.h" 10 #include "base/utf_string_conversions.h"
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
63 return browser; 63 return browser;
64 } 64 }
65 65
66 void ShowExtensionInstalledBubble(const extensions::Extension* extension, 66 void ShowExtensionInstalledBubble(const extensions::Extension* extension,
67 Profile* profile, 67 Profile* profile,
68 const SkBitmap& icon) { 68 const SkBitmap& icon) {
69 Browser* browser = FindOrCreateVisibleBrowser(profile); 69 Browser* browser = FindOrCreateVisibleBrowser(profile);
70 chrome::ShowExtensionInstalledBubble(extension, browser, icon); 70 chrome::ShowExtensionInstalledBubble(extension, browser, icon);
71 } 71 }
72 72
73 void OnAppLauncherEnabledCompleted(const extensions::Extension* extension,
74 Profile* profile,
75 SkBitmap* icon,
76 bool use_bubble,
77 bool use_launcher) {
78 if (use_launcher) {
79 AppListService::Get()->ShowAppList(profile);
80
81 content::NotificationService::current()->Notify(
82 chrome::NOTIFICATION_APP_INSTALLED_TO_APPLIST,
83 content::Source<Profile>(profile),
84 content::Details<const std::string>(&extension->id()));
85 return;
86 }
87
88 if (use_bubble) {
89 ShowExtensionInstalledBubble(extension, profile, *icon);
90 return;
91 }
92
93 ExtensionInstallUI::OpenAppInstalledUI(profile, extension->id());
94 }
95
96
97 // ErrorInfobarDelegate ------------------------------------------------------- 73 // ErrorInfobarDelegate -------------------------------------------------------
98 74
99 // Helper class to put up an infobar when installation fails. 75 // Helper class to put up an infobar when installation fails.
100 class ErrorInfobarDelegate : public ConfirmInfoBarDelegate { 76 class ErrorInfobarDelegate : public ConfirmInfoBarDelegate {
101 public: 77 public:
102 // Creates an error delegate and adds it to |infobar_service|. 78 // Creates an error delegate and adds it to |infobar_service|.
103 static void Create(InfoBarService* infobar_service, 79 static void Create(InfoBarService* infobar_service,
104 const extensions::CrxInstallerError& error); 80 const extensions::CrxInstallerError& error);
105 81
106 private: 82 private:
(...skipping 151 matching lines...) Expand 10 before | Expand all | Expand 10 after
258 Profile* current_profile = profile_->GetOriginalProfile(); 234 Profile* current_profile = profile_->GetOriginalProfile();
259 if (extension->is_app()) { 235 if (extension->is_app()) {
260 bool use_bubble = false; 236 bool use_bubble = false;
261 237
262 #if defined(TOOLKIT_VIEWS) || defined(OS_MACOSX) 238 #if defined(TOOLKIT_VIEWS) || defined(OS_MACOSX)
263 CommandLine* cmdline = CommandLine::ForCurrentProcess(); 239 CommandLine* cmdline = CommandLine::ForCurrentProcess();
264 use_bubble = (use_app_installed_bubble_ || 240 use_bubble = (use_app_installed_bubble_ ||
265 cmdline->HasSwitch(switches::kAppsNewInstallBubble)); 241 cmdline->HasSwitch(switches::kAppsNewInstallBubble));
266 #endif 242 #endif
267 243
268 apps::GetIsAppLauncherEnabled( 244 if (apps::IsAppLauncherEnabled()) {
269 base::Bind(&OnAppLauncherEnabledCompleted, extension, current_profile, 245 AppListService::Get()->ShowAppList(current_profile);
270 icon, use_bubble)); 246
247 content::NotificationService::current()->Notify(
248 chrome::NOTIFICATION_APP_INSTALLED_TO_APPLIST,
249 content::Source<Profile>(current_profile),
250 content::Details<const std::string>(&extension->id()));
251 return;
252 }
253
254 if (use_bubble) {
255 ShowExtensionInstalledBubble(extension, current_profile, *icon);
256 return;
257 }
258
259 ExtensionInstallUI::OpenAppInstalledUI(current_profile, extension->id());
271 return; 260 return;
272 } 261 }
273 262
274 ShowExtensionInstalledBubble(extension, current_profile, *icon); 263 ShowExtensionInstalledBubble(extension, current_profile, *icon);
275 } 264 }
276 265
277 void ExtensionInstallUIDefault::OnInstallFailure( 266 void ExtensionInstallUIDefault::OnInstallFailure(
278 const extensions::CrxInstallerError& error) { 267 const extensions::CrxInstallerError& error) {
279 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 268 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
280 if (disable_failure_ui_for_tests || skip_post_install_ui_) 269 if (disable_failure_ui_for_tests || skip_post_install_ui_)
(...skipping 11 matching lines...) Expand all
292 error); 281 error);
293 } 282 }
294 283
295 void ExtensionInstallUIDefault::SetSkipPostInstallUI(bool skip_ui) { 284 void ExtensionInstallUIDefault::SetSkipPostInstallUI(bool skip_ui) {
296 skip_post_install_ui_ = skip_ui; 285 skip_post_install_ui_ = skip_ui;
297 } 286 }
298 287
299 void ExtensionInstallUIDefault::SetUseAppInstalledBubble(bool use_bubble) { 288 void ExtensionInstallUIDefault::SetUseAppInstalledBubble(bool use_bubble) {
300 use_app_installed_bubble_ = use_bubble; 289 use_app_installed_bubble_ = use_bubble;
301 } 290 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/cocoa/bookmarks/bookmark_bar_bridge.mm ('k') | chrome/browser/ui/views/bookmarks/bookmark_bar_view.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698