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

Side by Side Diff: chrome/browser/extensions/external_install_ui.cc

Issue 15745022: Add custom icon support to GlobalError. Show extension icon in permissions increase bubble. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: no icon ok 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 | Annotate | Revision Log
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/extensions/external_install_ui.h" 5 #include "chrome/browser/extensions/external_install_ui.h"
6 6
7 #include <string> 7 #include <string>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/lazy_instance.h" 10 #include "base/lazy_instance.h"
(...skipping 17 matching lines...) Expand all
28 #include "chrome/common/chrome_notification_types.h" 28 #include "chrome/common/chrome_notification_types.h"
29 #include "chrome/common/extensions/extension.h" 29 #include "chrome/common/extensions/extension.h"
30 #include "content/public/browser/notification_details.h" 30 #include "content/public/browser/notification_details.h"
31 #include "content/public/browser/notification_observer.h" 31 #include "content/public/browser/notification_observer.h"
32 #include "content/public/browser/notification_registrar.h" 32 #include "content/public/browser/notification_registrar.h"
33 #include "content/public/browser/notification_source.h" 33 #include "content/public/browser/notification_source.h"
34 #include "grit/chromium_strings.h" 34 #include "grit/chromium_strings.h"
35 #include "grit/generated_resources.h" 35 #include "grit/generated_resources.h"
36 #include "grit/theme_resources.h" 36 #include "grit/theme_resources.h"
37 #include "ui/base/l10n/l10n_util.h" 37 #include "ui/base/l10n/l10n_util.h"
38 #include "ui/base/resource/resource_bundle.h"
39 #include "ui/gfx/image/image.h"
38 40
39 namespace extensions { 41 namespace extensions {
40 42
41 namespace { 43 namespace {
42 44
43 // Whether the external extension can use the streamlined bubble install flow. 45 // Whether the external extension can use the streamlined bubble install flow.
44 bool UseBubbleInstall(const Extension* extension, bool is_new_profile) { 46 bool UseBubbleInstall(const Extension* extension, bool is_new_profile) {
45 return extension->UpdatesFromGallery() && !is_new_profile; 47 return extension->UpdatesFromGallery() && !is_new_profile;
46 } 48 }
47 49
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
91 93
92 const Extension* extension() const { return extension_; } 94 const Extension* extension() const { return extension_; }
93 95
94 // GlobalError implementation. 96 // GlobalError implementation.
95 virtual Severity GetSeverity() OVERRIDE; 97 virtual Severity GetSeverity() OVERRIDE;
96 virtual bool HasMenuItem() OVERRIDE; 98 virtual bool HasMenuItem() OVERRIDE;
97 virtual int MenuItemCommandID() OVERRIDE; 99 virtual int MenuItemCommandID() OVERRIDE;
98 virtual string16 MenuItemLabel() OVERRIDE; 100 virtual string16 MenuItemLabel() OVERRIDE;
99 virtual void ExecuteMenuItem(Browser* browser) OVERRIDE; 101 virtual void ExecuteMenuItem(Browser* browser) OVERRIDE;
100 virtual bool HasBubbleView() OVERRIDE; 102 virtual bool HasBubbleView() OVERRIDE;
103 virtual gfx::Image GetBubbleViewIcon() OVERRIDE;
101 virtual string16 GetBubbleViewTitle() OVERRIDE; 104 virtual string16 GetBubbleViewTitle() OVERRIDE;
102 virtual std::vector<string16> GetBubbleViewMessages() OVERRIDE; 105 virtual std::vector<string16> GetBubbleViewMessages() OVERRIDE;
103 virtual string16 GetBubbleViewAcceptButtonLabel() OVERRIDE; 106 virtual string16 GetBubbleViewAcceptButtonLabel() OVERRIDE;
104 virtual string16 GetBubbleViewCancelButtonLabel() OVERRIDE; 107 virtual string16 GetBubbleViewCancelButtonLabel() OVERRIDE;
105 virtual void OnBubbleViewDidClose(Browser* browser) OVERRIDE; 108 virtual void OnBubbleViewDidClose(Browser* browser) OVERRIDE;
106 virtual void BubbleViewAcceptButtonPressed(Browser* browser) OVERRIDE; 109 virtual void BubbleViewAcceptButtonPressed(Browser* browser) OVERRIDE;
107 virtual void BubbleViewCancelButtonPressed(Browser* browser) OVERRIDE; 110 virtual void BubbleViewCancelButtonPressed(Browser* browser) OVERRIDE;
108 111
109 // content::NotificationObserver implementation. 112 // content::NotificationObserver implementation.
110 virtual void Observe(int type, 113 virtual void Observe(int type,
(...skipping 12 matching lines...) Expand all
123 ExternalInstallGlobalError(ExtensionService* service, 126 ExternalInstallGlobalError(ExtensionService* service,
124 const Extension* extension); 127 const Extension* extension);
125 virtual ~ExternalInstallGlobalError(); 128 virtual ~ExternalInstallGlobalError();
126 129
127 void set_prompt(const ExtensionInstallPrompt::Prompt& prompt) { 130 void set_prompt(const ExtensionInstallPrompt::Prompt& prompt) {
128 prompt_ = &prompt; 131 prompt_ = &prompt;
129 } 132 }
130 133
131 virtual void ExecuteMenuItem(Browser* browser) OVERRIDE; 134 virtual void ExecuteMenuItem(Browser* browser) OVERRIDE;
132 virtual bool HasBubbleView() OVERRIDE; 135 virtual bool HasBubbleView() OVERRIDE;
136 virtual gfx::Image GetBubbleViewIcon() OVERRIDE;
133 virtual string16 GetBubbleViewTitle() OVERRIDE; 137 virtual string16 GetBubbleViewTitle() OVERRIDE;
134 virtual std::vector<string16> GetBubbleViewMessages() OVERRIDE; 138 virtual std::vector<string16> GetBubbleViewMessages() OVERRIDE;
135 virtual string16 GetBubbleViewAcceptButtonLabel() OVERRIDE; 139 virtual string16 GetBubbleViewAcceptButtonLabel() OVERRIDE;
136 virtual string16 GetBubbleViewCancelButtonLabel() OVERRIDE; 140 virtual string16 GetBubbleViewCancelButtonLabel() OVERRIDE;
137 virtual void OnBubbleViewDidClose(Browser* browser) OVERRIDE; 141 virtual void OnBubbleViewDidClose(Browser* browser) OVERRIDE;
138 virtual void BubbleViewAcceptButtonPressed(Browser* browser) OVERRIDE; 142 virtual void BubbleViewAcceptButtonPressed(Browser* browser) OVERRIDE;
139 virtual void BubbleViewCancelButtonPressed(Browser* browser) OVERRIDE; 143 virtual void BubbleViewCancelButtonPressed(Browser* browser) OVERRIDE;
140 144
141 protected: 145 protected:
142 // Ref-counted, but needs to be disposed of if we are dismissed without 146 // Ref-counted, but needs to be disposed of if we are dismissed without
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after
234 return l10n_util::GetStringFUTF16(id, UTF8ToUTF16(extension_->name())); 238 return l10n_util::GetStringFUTF16(id, UTF8ToUTF16(extension_->name()));
235 } 239 }
236 240
237 void ExternalInstallMenuAlert::ExecuteMenuItem(Browser* browser) { 241 void ExternalInstallMenuAlert::ExecuteMenuItem(Browser* browser) {
238 ShowExternalInstallDialog(service_, browser, extension_); 242 ShowExternalInstallDialog(service_, browser, extension_);
239 } 243 }
240 244
241 bool ExternalInstallMenuAlert::HasBubbleView() { 245 bool ExternalInstallMenuAlert::HasBubbleView() {
242 return false; 246 return false;
243 } 247 }
248
249 gfx::Image ExternalInstallMenuAlert::GetBubbleViewIcon() {
250 return gfx::Image();
251 }
252
244 string16 ExternalInstallMenuAlert::GetBubbleViewTitle() { 253 string16 ExternalInstallMenuAlert::GetBubbleViewTitle() {
245 return string16(); 254 return string16();
246 } 255 }
247 256
248 std::vector<string16> ExternalInstallMenuAlert::GetBubbleViewMessages() { 257 std::vector<string16> ExternalInstallMenuAlert::GetBubbleViewMessages() {
249 return std::vector<string16>(); 258 return std::vector<string16>();
250 } 259 }
251 260
252 string16 ExternalInstallMenuAlert::GetBubbleViewAcceptButtonLabel() { 261 string16 ExternalInstallMenuAlert::GetBubbleViewAcceptButtonLabel() {
253 return string16(); 262 return string16();
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
310 } 319 }
311 320
312 void ExternalInstallGlobalError::ExecuteMenuItem(Browser* browser) { 321 void ExternalInstallGlobalError::ExecuteMenuItem(Browser* browser) {
313 ShowBubbleView(browser); 322 ShowBubbleView(browser);
314 } 323 }
315 324
316 bool ExternalInstallGlobalError::HasBubbleView() { 325 bool ExternalInstallGlobalError::HasBubbleView() {
317 return true; 326 return true;
318 } 327 }
319 328
329 gfx::Image ExternalInstallGlobalError::GetBubbleViewIcon() {
330 return ResourceBundle::GetSharedInstance().GetNativeImageNamed(
331 IDR_INPUT_ALERT);
332 }
333
320 string16 ExternalInstallGlobalError::GetBubbleViewTitle() { 334 string16 ExternalInstallGlobalError::GetBubbleViewTitle() {
321 return prompt_->GetDialogTitle(); 335 return prompt_->GetDialogTitle();
322 } 336 }
323 337
324 std::vector<string16> ExternalInstallGlobalError::GetBubbleViewMessages() { 338 std::vector<string16> ExternalInstallGlobalError::GetBubbleViewMessages() {
325 std::vector<string16> messages; 339 std::vector<string16> messages;
326 messages.push_back(prompt_->GetHeading()); 340 messages.push_back(prompt_->GetHeading());
327 if (prompt_->GetPermissionCount()) { 341 if (prompt_->GetPermissionCount()) {
328 messages.push_back(prompt_->GetPermissionsHeading()); 342 messages.push_back(prompt_->GetPermissionsHeading());
329 for (size_t i = 0; i < prompt_->GetPermissionCount(); ++i) { 343 for (size_t i = 0; i < prompt_->GetPermissionCount(); ++i) {
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after
413 427
414 bool HasExternalInstallBubble(ExtensionService* service) { 428 bool HasExternalInstallBubble(ExtensionService* service) {
415 GlobalErrorService* error_service = 429 GlobalErrorService* error_service =
416 GlobalErrorServiceFactory::GetForProfile(service->profile()); 430 GlobalErrorServiceFactory::GetForProfile(service->profile());
417 GlobalError* error = error_service->GetGlobalErrorByMenuItemCommandID( 431 GlobalError* error = error_service->GetGlobalErrorByMenuItemCommandID(
418 kMenuCommandId); 432 kMenuCommandId);
419 return error && error->HasBubbleView(); 433 return error && error->HasBubbleView();
420 } 434 }
421 435
422 } // namespace extensions 436 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698