Index: trunk/src/chrome/browser/ui/views/extensions/extension_message_bubble_view.cc |
=================================================================== |
--- trunk/src/chrome/browser/ui/views/extensions/extension_message_bubble_view.cc (revision 275254) |
+++ trunk/src/chrome/browser/ui/views/extensions/extension_message_bubble_view.cc (working copy) |
@@ -11,12 +11,10 @@ |
#include "chrome/browser/extensions/extension_action_manager.h" |
#include "chrome/browser/extensions/extension_message_bubble_controller.h" |
#include "chrome/browser/extensions/extension_service.h" |
-#include "chrome/browser/extensions/proxy_overridden_bubble_controller.h" |
#include "chrome/browser/extensions/settings_api_bubble_controller.h" |
#include "chrome/browser/extensions/settings_api_helpers.h" |
#include "chrome/browser/extensions/suspicious_extension_bubble_controller.h" |
#include "chrome/browser/profiles/profile.h" |
-#include "chrome/browser/ui/view_ids.h" |
#include "chrome/browser/ui/views/frame/browser_view.h" |
#include "chrome/browser/ui/views/toolbar/browser_actions_container.h" |
#include "chrome/browser/ui/views/toolbar/browser_actions_container_observer.h" |
@@ -64,7 +62,6 @@ |
: BubbleDelegateView(anchor_view, arrow_location), |
weak_factory_(this), |
controller_(controller.Pass()), |
- anchor_view_(anchor_view), |
headline_(NULL), |
learn_more_(NULL), |
dismiss_button_(NULL), |
@@ -159,8 +156,7 @@ |
views::Label* message = new views::Label(); |
message->SetMultiLine(true); |
message->SetHorizontalAlignment(gfx::ALIGN_LEFT); |
- message->SetText(delegate->GetMessageBody( |
- anchor_view_->id() == VIEW_ID_BROWSER_ACTION)); |
+ message->SetText(delegate->GetMessageBody()); |
message->SizeToFit(views::Widget::GetLocalizedContentsWidth( |
IDS_EXTENSION_WIPEOUT_BUBBLE_WIDTH_CHARS)); |
layout->AddView(message); |
@@ -276,7 +272,6 @@ |
toolbar_view_(toolbar_view), |
shown_suspicious_extensions_bubble_(false), |
shown_startup_override_extensions_bubble_(false), |
- shown_proxy_override_extensions_bubble_(false), |
shown_dev_mode_extensions_bubble_(false), |
is_observing_(false), |
stage_(STAGE_START), |
@@ -309,10 +304,6 @@ |
MaybeShowStartupOverrideExtensionsBubble(anchor_view)) |
return; |
- if (!shown_proxy_override_extensions_bubble_ && |
- MaybeShowProxyOverrideExtensionsBubble(anchor_view)) |
- return; |
- |
if (!shown_dev_mode_extensions_bubble_) |
MaybeShowDevModeExtensionsBubble(anchor_view); |
#endif // OS_WIN |
@@ -345,11 +336,11 @@ |
views::View* anchor_view) { |
#if !defined(OS_WIN) |
return false; |
-#else |
+#endif |
+ |
DCHECK(!shown_startup_override_extensions_bubble_); |
- const Extension* extension = |
- GetExtensionOverridingStartupPages(profile_, NULL); |
+ const Extension* extension = OverridesStartupPages(profile_, NULL); |
if (!extension) |
return false; |
@@ -360,34 +351,15 @@ |
return false; |
shown_startup_override_extensions_bubble_ = true; |
- PrepareToHighlightExtensions( |
- settings_api_bubble.PassAs<ExtensionMessageBubbleController>(), |
- anchor_view); |
- return true; |
-#endif |
-} |
+ SettingsApiBubbleController* weak_controller = settings_api_bubble.get(); |
+ ExtensionMessageBubbleView* bubble_delegate = new ExtensionMessageBubbleView( |
+ anchor_view, |
+ views::BubbleBorder::TOP_RIGHT, |
+ settings_api_bubble.PassAs<ExtensionMessageBubbleController>()); |
+ views::BubbleDelegateView::CreateBubble(bubble_delegate); |
+ weak_controller->Show(bubble_delegate); |
-bool ExtensionMessageBubbleFactory::MaybeShowProxyOverrideExtensionsBubble( |
- views::View* anchor_view) { |
-#if !defined(OS_WIN) |
- return false; |
-#else |
- DCHECK(!shown_proxy_override_extensions_bubble_); |
- |
- const Extension* extension = GetExtensionOverridingProxy(profile_); |
- if (!extension) |
- return false; |
- |
- scoped_ptr<ProxyOverriddenBubbleController> proxy_bubble( |
- new ProxyOverriddenBubbleController(profile_)); |
- if (!proxy_bubble->ShouldShow(extension->id())) |
- return false; |
- |
- shown_proxy_override_extensions_bubble_ = true; |
- PrepareToHighlightExtensions( |
- proxy_bubble.PassAs<ExtensionMessageBubbleController>(), anchor_view); |
return true; |
-#endif |
} |
bool ExtensionMessageBubbleFactory::MaybeShowDevModeExtensionsBubble( |
@@ -403,9 +375,23 @@ |
return false; |
shown_dev_mode_extensions_bubble_ = true; |
- PrepareToHighlightExtensions( |
- dev_mode_extensions.PassAs<ExtensionMessageBubbleController>(), |
- anchor_view); |
+ |
+ // We should be in the start stage (i.e., should not have a pending attempt to |
+ // show a bubble). |
+ DCHECK_EQ(stage_, STAGE_START); |
+ |
+ // Prepare to display and highlight the developer mode extensions before |
+ // showing the bubble. Since this is an asynchronous process, set member |
+ // variables for later use. |
+ controller_ = dev_mode_extensions.Pass(); |
+ anchor_view_ = anchor_view; |
+ container_ = toolbar_view_->browser_actions(); |
+ |
+ if (container_->animating()) |
+ MaybeObserve(); |
+ else |
+ HighlightDevModeExtensions(); |
+ |
return true; |
} |
@@ -434,9 +420,9 @@ |
void ExtensionMessageBubbleFactory::OnBrowserActionsContainerAnimationEnded() { |
MaybeStopObserving(); |
if (stage_ == STAGE_START) { |
- HighlightExtensions(); |
+ HighlightDevModeExtensions(); |
} else if (stage_ == STAGE_HIGHLIGHTED) { |
- ShowHighlightingBubble(); |
+ ShowDevModeBubble(); |
} else { // We shouldn't be observing if we've completed the process. |
NOTREACHED(); |
Finish(); |
@@ -449,26 +435,7 @@ |
Finish(); |
} |
-void ExtensionMessageBubbleFactory::PrepareToHighlightExtensions( |
- scoped_ptr<ExtensionMessageBubbleController> controller, |
- views::View* anchor_view) { |
- // We should be in the start stage (i.e., should not have a pending attempt to |
- // show a bubble). |
- DCHECK_EQ(stage_, STAGE_START); |
- |
- // Prepare to display and highlight the extensions before showing the bubble. |
- // Since this is an asynchronous process, set member variables for later use. |
- controller_ = controller.Pass(); |
- anchor_view_ = anchor_view; |
- container_ = toolbar_view_->browser_actions(); |
- |
- if (container_->animating()) |
- MaybeObserve(); |
- else |
- HighlightExtensions(); |
-} |
- |
-void ExtensionMessageBubbleFactory::HighlightExtensions() { |
+void ExtensionMessageBubbleFactory::HighlightDevModeExtensions() { |
DCHECK_EQ(STAGE_START, stage_); |
stage_ = STAGE_HIGHLIGHTED; |
@@ -478,10 +445,10 @@ |
if (container_->animating()) |
MaybeObserve(); |
else |
- ShowHighlightingBubble(); |
+ ShowDevModeBubble(); |
} |
-void ExtensionMessageBubbleFactory::ShowHighlightingBubble() { |
+void ExtensionMessageBubbleFactory::ShowDevModeBubble() { |
DCHECK_EQ(stage_, STAGE_HIGHLIGHTED); |
stage_ = STAGE_COMPLETE; |
@@ -491,13 +458,11 @@ |
if (reference_view && reference_view->visible()) |
anchor_view_ = reference_view; |
- ExtensionMessageBubbleController* weak_controller = controller_.get(); |
- ExtensionMessageBubbleView* bubble_delegate = |
- new ExtensionMessageBubbleView( |
- anchor_view_, |
- views::BubbleBorder::TOP_RIGHT, |
- scoped_ptr<ExtensionMessageBubbleController>( |
- controller_.release())); |
+ DevModeBubbleController* weak_controller = controller_.get(); |
+ ExtensionMessageBubbleView* bubble_delegate = new ExtensionMessageBubbleView( |
+ anchor_view_, |
+ views::BubbleBorder::TOP_RIGHT, |
+ scoped_ptr<ExtensionMessageBubbleController>(controller_.release())); |
views::BubbleDelegateView::CreateBubble(bubble_delegate); |
weak_controller->Show(bubble_delegate); |