Chromium Code Reviews| Index: chrome/browser/extensions/extension_error_ui_default.cc |
| diff --git a/chrome/browser/extensions/extension_error_ui_default.cc b/chrome/browser/extensions/extension_error_ui_default.cc |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..18feeba3939b332d7575ee52602b247e4e365574 |
| --- /dev/null |
| +++ b/chrome/browser/extensions/extension_error_ui_default.cc |
| @@ -0,0 +1,114 @@ |
| +// Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| +// Use of this source code is governed by a BSD-style license that can be |
| +// found in the LICENSE file. |
| + |
| +#include "chrome/browser/extensions/extension_error_ui_default.h" |
| + |
| +#include "base/logging.h" |
| +#include "chrome/browser/extensions/extension_service.h" |
| +#include "chrome/browser/ui/browser.h" |
| +#include "chrome/browser/ui/browser_finder.h" |
| +#include "chrome/browser/ui/chrome_pages.h" |
| + |
| +ExtensionErrorUIDefault::ExtensionErrorUIDefault( |
| + ExtensionService* extension_service) |
| + : ExtensionErrorUI(extension_service), |
| + browser_(NULL), |
| + ALLOW_THIS_IN_INITIALIZER_LIST(global_error_( |
| + new ExtensionGlobalError(this))) { |
| +} |
| + |
| +ExtensionErrorUIDefault::~ExtensionErrorUIDefault() { |
| +} |
| + |
| +bool ExtensionErrorUIDefault::ShowErrorInBubbleView() { |
| + Browser* browser = |
| + browser::FindLastActiveWithProfile(extension_service()->profile()); |
| + if (!browser) |
| + return false; |
| + |
| + global_error_->ShowBubbleView(browser); |
|
Yoyo Zhou
2012/07/13 20:08:47
It certainly seems like browser_ should be able to
Jay Civelli
2012/07/16 17:54:29
As we discussed with IM, I kept the GlobalError cl
|
| + return true; |
| +} |
| + |
| +void ExtensionErrorUIDefault::ShowExtensions() { |
| + DCHECK(browser_); |
| + chrome::ShowExtensions(browser_); |
| +} |
| + |
| +ExtensionErrorUIDefault::ExtensionGlobalError::ExtensionGlobalError( |
| + ExtensionErrorUIDefault* error_ui) |
| + : error_ui_(error_ui) { |
| +} |
| + |
| +bool ExtensionErrorUIDefault::ExtensionGlobalError::HasBadge() { |
| + return false; |
| +} |
| + |
| +bool ExtensionErrorUIDefault::ExtensionGlobalError::HasMenuItem() { |
| + return false; |
| +} |
| + |
| +int ExtensionErrorUIDefault::ExtensionGlobalError::MenuItemCommandID() { |
| + NOTREACHED(); |
| + return 0; |
| +} |
| + |
| +string16 ExtensionErrorUIDefault::ExtensionGlobalError::MenuItemLabel() { |
| + NOTREACHED(); |
| + return NULL; |
| +} |
| + |
| +void ExtensionErrorUIDefault::ExtensionGlobalError::ExecuteMenuItem( |
| + Browser* browser) { |
| + NOTREACHED(); |
| +} |
| + |
| +bool ExtensionErrorUIDefault::ExtensionGlobalError::HasBubbleView() { |
| + return true; |
| +} |
| + |
| +string16 ExtensionErrorUIDefault::ExtensionGlobalError::GetBubbleViewTitle() { |
| + return error_ui_->GetBubbleViewTitle(); |
| +} |
| + |
| +string16 ExtensionErrorUIDefault::ExtensionGlobalError::GetBubbleViewMessage() { |
| + return error_ui_->GetBubbleViewMessage(); |
| +} |
| + |
| +string16 ExtensionErrorUIDefault::ExtensionGlobalError:: |
| + GetBubbleViewAcceptButtonLabel() { |
| + return error_ui_->GetBubbleViewAcceptButtonLabel(); |
| +} |
| + |
| +string16 ExtensionErrorUIDefault::ExtensionGlobalError:: |
| + GetBubbleViewCancelButtonLabel() { |
| + return error_ui_->GetBubbleViewCancelButtonLabel(); |
| +} |
| + |
| +void ExtensionErrorUIDefault::ExtensionGlobalError:: |
| + OnBubbleViewDidClose(Browser* browser) { |
| + error_ui_->set_browser(browser); |
| + error_ui_->BubbleViewDidClose(); |
| + error_ui_->set_browser(NULL); |
| +} |
| + |
| +void ExtensionErrorUIDefault::ExtensionGlobalError:: |
| + BubbleViewAcceptButtonPressed(Browser* browser) { |
| + error_ui_->set_browser(browser); |
| + error_ui_->BubbleViewAcceptButtonPressed(); |
| + error_ui_->set_browser(NULL); |
| +} |
| + |
| +void ExtensionErrorUIDefault::ExtensionGlobalError:: |
| + BubbleViewCancelButtonPressed(Browser* browser) { |
| + error_ui_->set_browser(browser); |
| + error_ui_->BubbleViewCancelButtonPressed(); |
| + error_ui_->set_browser(NULL); |
| +} |
| + |
| +// static |
| +ExtensionErrorUI* ExtensionErrorUI::Create( |
| + ExtensionService* extension_service) { |
| + return new ExtensionErrorUIDefault(extension_service); |
| +} |