Index: chrome/browser/ui/cocoa/extensions/extension_message_bubble_bridge.mm |
diff --git a/chrome/browser/ui/cocoa/extensions/extension_message_bubble_bridge.mm b/chrome/browser/ui/cocoa/extensions/extension_message_bubble_bridge.mm |
new file mode 100644 |
index 0000000000000000000000000000000000000000..16eb8932477f39c2e3852134bcfbc7800243e679 |
--- /dev/null |
+++ b/chrome/browser/ui/cocoa/extensions/extension_message_bubble_bridge.mm |
@@ -0,0 +1,65 @@ |
+// Copyright 2015 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/ui/cocoa/extensions/extension_message_bubble_bridge.h" |
+ |
+#include "chrome/browser/extensions/extension_message_bubble_controller.h" |
+#include "chrome/browser/ui/cocoa/extensions/toolbar_actions_bar_bubble_mac.h" |
+ |
+ExtensionMessageBubbleBridge::ExtensionMessageBubbleBridge( |
+ scoped_ptr<extensions::ExtensionMessageBubbleController> controller) |
+ : controller_(controller.Pass()), |
+ bubble_(nil) { |
+} |
+ |
+ExtensionMessageBubbleBridge::~ExtensionMessageBubbleBridge() { |
+} |
+ |
+void ExtensionMessageBubbleBridge::SetBubble( |
+ ToolbarActionsBarBubbleMac* bubble) { |
+ DCHECK(!bubble_); |
+ bubble_ = bubble; |
+} |
+ |
+void ExtensionMessageBubbleBridge::Show() { |
+ DCHECK(bubble_); |
+ [bubble_ showWindow:nil]; |
+} |
+ |
+base::string16 ExtensionMessageBubbleBridge::GetHeadingText() { |
+ return controller_->delegate()->GetTitle(); |
+} |
+ |
+base::string16 ExtensionMessageBubbleBridge::GetBodyText() { |
+ return controller_->delegate()->GetMessageBody(true); |
+} |
+ |
+base::string16 ExtensionMessageBubbleBridge::GetActionButtonText() { |
+ return controller_->delegate()->GetActionButtonLabel(); |
+} |
+ |
+base::string16 ExtensionMessageBubbleBridge::GetDismissButtonText() { |
+ return controller_->delegate()->GetDismissButtonLabel(); |
+} |
+ |
+base::string16 ExtensionMessageBubbleBridge::GetLearnMoreButtonText() { |
+ return controller_->delegate()->GetLearnMoreLabel(); |
+} |
+ |
+void ExtensionMessageBubbleBridge::OnBubbleShown() { |
+} |
+ |
+void ExtensionMessageBubbleBridge::OnBubbleClosed(CloseAction action) { |
+ switch(action) { |
+ case CLOSE_DISMISS: |
+ controller_->OnBubbleDismiss(); |
+ break; |
+ case CLOSE_EXECUTE: |
+ controller_->OnBubbleAction(); |
+ break; |
+ case CLOSE_LEARN_MORE: |
+ controller_->OnLinkClicked(); |
+ break; |
+ } |
+} |