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

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

Issue 10696210: Making ExtensionService less dependent on Browser. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Update based on discussion with Yoyo Created 8 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
(Empty)
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
3 // found in the LICENSE file.
4
5 #include "chrome/browser/extensions/extension_error_ui_default.h"
6
7 #include "base/logging.h"
8 #include "chrome/browser/extensions/extension_service.h"
9 #include "chrome/browser/ui/browser.h"
10 #include "chrome/browser/ui/browser_finder.h"
11 #include "chrome/browser/ui/chrome_pages.h"
12
13 ExtensionErrorUIDefault::ExtensionErrorUIDefault(
14 ExtensionService* extension_service)
15 : ExtensionErrorUI(extension_service),
16 browser_(NULL),
17 ALLOW_THIS_IN_INITIALIZER_LIST(global_error_(
18 new ExtensionGlobalError(this))) {
19 }
20
21 ExtensionErrorUIDefault::~ExtensionErrorUIDefault() {
22 }
23
24 bool ExtensionErrorUIDefault::ShowErrorInBubbleView() {
25 Browser* browser =
26 browser::FindLastActiveWithProfile(extension_service()->profile());
27 if (!browser)
28 return false;
29
30 browser_ = browser;
31 global_error_->ShowBubbleView(browser);
32 return true;
33 }
34
35 void ExtensionErrorUIDefault::ShowExtensions() {
36 DCHECK(browser_);
37 chrome::ShowExtensions(browser_);
38 }
39
40 ExtensionErrorUIDefault::ExtensionGlobalError::ExtensionGlobalError(
41 ExtensionErrorUIDefault* error_ui)
42 : error_ui_(error_ui) {
43 }
44
45 bool ExtensionErrorUIDefault::ExtensionGlobalError::HasBadge() {
46 return false;
47 }
48
49 bool ExtensionErrorUIDefault::ExtensionGlobalError::HasMenuItem() {
50 return false;
51 }
52
53 int ExtensionErrorUIDefault::ExtensionGlobalError::MenuItemCommandID() {
54 NOTREACHED();
55 return 0;
56 }
57
58 string16 ExtensionErrorUIDefault::ExtensionGlobalError::MenuItemLabel() {
59 NOTREACHED();
60 return NULL;
61 }
62
63 void ExtensionErrorUIDefault::ExtensionGlobalError::ExecuteMenuItem(
64 Browser* browser) {
65 NOTREACHED();
66 }
67
68 bool ExtensionErrorUIDefault::ExtensionGlobalError::HasBubbleView() {
69 return true;
70 }
71
72 string16 ExtensionErrorUIDefault::ExtensionGlobalError::GetBubbleViewTitle() {
73 return error_ui_->GetBubbleViewTitle();
74 }
75
76 string16 ExtensionErrorUIDefault::ExtensionGlobalError::GetBubbleViewMessage() {
77 return error_ui_->GetBubbleViewMessage();
78 }
79
80 string16 ExtensionErrorUIDefault::ExtensionGlobalError::
81 GetBubbleViewAcceptButtonLabel() {
82 return error_ui_->GetBubbleViewAcceptButtonLabel();
83 }
84
85 string16 ExtensionErrorUIDefault::ExtensionGlobalError::
86 GetBubbleViewCancelButtonLabel() {
87 return error_ui_->GetBubbleViewCancelButtonLabel();
88 }
89
90 void ExtensionErrorUIDefault::ExtensionGlobalError::
91 OnBubbleViewDidClose(Browser* browser) {
92 error_ui_->BubbleViewDidClose();
93 error_ui_->browser_ = NULL;
94 }
95
96 void ExtensionErrorUIDefault::ExtensionGlobalError::
97 BubbleViewAcceptButtonPressed(Browser* browser) {
98 error_ui_->BubbleViewAcceptButtonPressed();
99 }
100
101 void ExtensionErrorUIDefault::ExtensionGlobalError::
102 BubbleViewCancelButtonPressed(Browser* browser) {
103 error_ui_->BubbleViewCancelButtonPressed();
104 }
105
106 // static
107 ExtensionErrorUI* ExtensionErrorUI::Create(
108 ExtensionService* extension_service) {
109 return new ExtensionErrorUIDefault(extension_service);
110 }
OLDNEW
« no previous file with comments | « chrome/browser/extensions/extension_error_ui_default.h ('k') | chrome/browser/extensions/extension_global_error.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698