OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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/extension_infobar_delegate.h" | 5 #include "chrome/browser/extensions/extension_infobar_delegate.h" |
6 | 6 |
7 #include "chrome/browser/extensions/extension_host.h" | 7 #include "chrome/browser/extensions/extension_host.h" |
8 #include "chrome/browser/extensions/extension_process_manager.h" | 8 #include "chrome/browser/extensions/extension_process_manager.h" |
9 #include "chrome/browser/profiles/profile.h" | 9 #include "chrome/browser/profiles/profile.h" |
10 #include "chrome/browser/ui/browser.h" | 10 #include "chrome/browser/ui/browser.h" |
11 #include "chrome/browser/ui/tab_contents/tab_contents_wrapper.h" | 11 #include "chrome/browser/ui/tab_contents/tab_contents_wrapper.h" |
| 12 #include "chrome/common/chrome_notification_types.h" |
12 #include "chrome/common/extensions/extension.h" | 13 #include "chrome/common/extensions/extension.h" |
13 #include "content/common/notification_details.h" | 14 #include "content/common/notification_details.h" |
14 #include "content/common/notification_source.h" | 15 #include "content/common/notification_source.h" |
15 #include "content/common/notification_type.h" | |
16 | 16 |
17 ExtensionInfoBarDelegate::ExtensionInfoBarDelegate(Browser* browser, | 17 ExtensionInfoBarDelegate::ExtensionInfoBarDelegate(Browser* browser, |
18 TabContents* tab_contents, | 18 TabContents* tab_contents, |
19 const Extension* extension, | 19 const Extension* extension, |
20 const GURL& url) | 20 const GURL& url) |
21 : InfoBarDelegate(tab_contents), | 21 : InfoBarDelegate(tab_contents), |
22 observer_(NULL), | 22 observer_(NULL), |
23 extension_(extension), | 23 extension_(extension), |
24 tab_contents_(tab_contents), | 24 tab_contents_(tab_contents), |
25 closing_(false) { | 25 closing_(false) { |
26 ExtensionProcessManager* manager = | 26 ExtensionProcessManager* manager = |
27 browser->profile()->GetExtensionProcessManager(); | 27 browser->profile()->GetExtensionProcessManager(); |
28 extension_host_.reset(manager->CreateInfobarHost(url, browser)); | 28 extension_host_.reset(manager->CreateInfobarHost(url, browser)); |
29 extension_host_->set_associated_tab_contents(tab_contents); | 29 extension_host_->set_associated_tab_contents(tab_contents); |
30 | 30 |
31 registrar_.Add(this, NotificationType::EXTENSION_HOST_VIEW_SHOULD_CLOSE, | 31 registrar_.Add(this, chrome::NOTIFICATION_EXTENSION_HOST_VIEW_SHOULD_CLOSE, |
32 Source<Profile>(browser->profile())); | 32 Source<Profile>(browser->profile())); |
33 registrar_.Add(this, NotificationType::EXTENSION_UNLOADED, | 33 registrar_.Add(this, chrome::NOTIFICATION_EXTENSION_UNLOADED, |
34 Source<Profile>(browser->profile())); | 34 Source<Profile>(browser->profile())); |
35 } | 35 } |
36 | 36 |
37 ExtensionInfoBarDelegate::~ExtensionInfoBarDelegate() { | 37 ExtensionInfoBarDelegate::~ExtensionInfoBarDelegate() { |
38 if (observer_) | 38 if (observer_) |
39 observer_->OnDelegateDeleted(); | 39 observer_->OnDelegateDeleted(); |
40 } | 40 } |
41 | 41 |
42 bool ExtensionInfoBarDelegate::EqualsDelegate(InfoBarDelegate* delegate) const { | 42 bool ExtensionInfoBarDelegate::EqualsDelegate(InfoBarDelegate* delegate) const { |
43 ExtensionInfoBarDelegate* extension_delegate = | 43 ExtensionInfoBarDelegate* extension_delegate = |
(...skipping 17 matching lines...) Expand all Loading... |
61 | 61 |
62 InfoBarDelegate::Type ExtensionInfoBarDelegate::GetInfoBarType() const { | 62 InfoBarDelegate::Type ExtensionInfoBarDelegate::GetInfoBarType() const { |
63 return PAGE_ACTION_TYPE; | 63 return PAGE_ACTION_TYPE; |
64 } | 64 } |
65 | 65 |
66 ExtensionInfoBarDelegate* | 66 ExtensionInfoBarDelegate* |
67 ExtensionInfoBarDelegate::AsExtensionInfoBarDelegate() { | 67 ExtensionInfoBarDelegate::AsExtensionInfoBarDelegate() { |
68 return this; | 68 return this; |
69 } | 69 } |
70 | 70 |
71 void ExtensionInfoBarDelegate::Observe(NotificationType type, | 71 void ExtensionInfoBarDelegate::Observe(int type, |
72 const NotificationSource& source, | 72 const NotificationSource& source, |
73 const NotificationDetails& details) { | 73 const NotificationDetails& details) { |
74 TabContentsWrapper* wrapper = | 74 TabContentsWrapper* wrapper = |
75 TabContentsWrapper::GetCurrentWrapperForContents(tab_contents_); | 75 TabContentsWrapper::GetCurrentWrapperForContents(tab_contents_); |
76 switch (type.value) { | 76 switch (type) { |
77 case NotificationType::EXTENSION_HOST_VIEW_SHOULD_CLOSE: { | 77 case chrome::NOTIFICATION_EXTENSION_HOST_VIEW_SHOULD_CLOSE: { |
78 const ExtensionHost* result = Details<ExtensionHost>(details).ptr(); | 78 const ExtensionHost* result = Details<ExtensionHost>(details).ptr(); |
79 if (extension_host_.get() == result) | 79 if (extension_host_.get() == result) |
80 wrapper->RemoveInfoBar(this); | 80 wrapper->RemoveInfoBar(this); |
81 break; | 81 break; |
82 } | 82 } |
83 case NotificationType::EXTENSION_UNLOADED: { | 83 case chrome::NOTIFICATION_EXTENSION_UNLOADED: { |
84 const Extension* extension = | 84 const Extension* extension = |
85 Details<UnloadedExtensionInfo>(details)->extension; | 85 Details<UnloadedExtensionInfo>(details)->extension; |
86 if (extension_ == extension) | 86 if (extension_ == extension) |
87 wrapper->RemoveInfoBar(this); | 87 wrapper->RemoveInfoBar(this); |
88 break; | 88 break; |
89 } | 89 } |
90 default: { | 90 default: { |
91 NOTREACHED() << "Unknown message"; | 91 NOTREACHED() << "Unknown message"; |
92 break; | 92 break; |
93 } | 93 } |
94 } | 94 } |
95 } | 95 } |
OLD | NEW |