Index: chrome/browser/ui/views/sync/one_click_signin_bubble_view.h |
diff --git a/chrome/browser/ui/views/sync/one_click_signin_bubble_view.h b/chrome/browser/ui/views/sync/one_click_signin_bubble_view.h |
index a04cb552a28f22453b43e50d37b22e96ea8806ad..78b58f8fd98c5b5b2cca7cd9b7ba7e5ede9f0917 100644 |
--- a/chrome/browser/ui/views/sync/one_click_signin_bubble_view.h |
+++ b/chrome/browser/ui/views/sync/one_click_signin_bubble_view.h |
@@ -9,9 +9,10 @@ |
#include "base/callback.h" |
#include "base/compiler_specific.h" |
#include "base/gtest_prod_util.h" |
+#include "base/memory/scoped_ptr.h" |
#include "base/strings/string16.h" |
#include "chrome/browser/ui/browser_window.h" |
-#include "chrome/browser/ui/views/toolbar_view.h" |
+#include "chrome/browser/ui/sync/one_click_signin_bubble_delegate.h" |
#include "ui/views/bubble/bubble_delegate.h" |
#include "ui/views/controls/button/button.h" |
#include "ui/views/controls/link_listener.h" |
@@ -22,7 +23,9 @@ class MessageLoop; |
namespace views { |
class GridLayout; |
+class ImageButton; |
class LabelButton; |
+class View; |
} |
// OneClickSigninBubbleView is a view intended to be used as the content of an |
@@ -38,7 +41,8 @@ class OneClickSigninBubbleView : public views::BubbleDelegateView, |
static void ShowBubble(BrowserWindow::OneClickSigninBubbleType type, |
const string16& email, |
const string16& error_message, |
- ToolbarView* toolbar_view, |
+ scoped_ptr<OneClickSigninBubbleDelegate> delegate, |
+ views::View* anchor_view, |
const BrowserWindow::StartSyncCallback& start_sync); |
static bool IsShowing(); |
@@ -52,32 +56,25 @@ class OneClickSigninBubbleView : public views::BubbleDelegateView, |
protected: |
// Creates a OneClickSigninBubbleView. |
OneClickSigninBubbleView( |
- content::WebContents* web_contents, |
- views::View* anchor_view, |
const string16& error_message, |
const string16& email, |
+ scoped_ptr<OneClickSigninBubbleDelegate> delegate, |
+ views::View* anchor_view, |
const BrowserWindow::StartSyncCallback& start_sync_callback, |
bool is_sync_dialog); |
virtual ~OneClickSigninBubbleView(); |
private: |
- friend class OneClickSigninBubbleViewBrowserTest; |
- |
- FRIEND_TEST_ALL_PREFIXES( |
- OneClickSigninBubbleViewBrowserTest, BubbleOkButton); |
- FRIEND_TEST_ALL_PREFIXES( |
- OneClickSigninBubbleViewBrowserTest, DialogOkButton); |
- FRIEND_TEST_ALL_PREFIXES( |
- OneClickSigninBubbleViewBrowserTest, DialogUndoButton); |
- FRIEND_TEST_ALL_PREFIXES( |
- OneClickSigninBubbleViewBrowserTest, BubbleAdvancedLink); |
- FRIEND_TEST_ALL_PREFIXES( |
- OneClickSigninBubbleViewBrowserTest, DialogAdvancedLink); |
- FRIEND_TEST_ALL_PREFIXES( |
- OneClickSigninBubbleViewBrowserTest, BubbleLearnMoreLink); |
- FRIEND_TEST_ALL_PREFIXES( |
- OneClickSigninBubbleViewBrowserTest, DialogLearnMoreLink); |
+ friend class OneClickSigninBubbleViewTest; |
+ |
+ FRIEND_TEST_ALL_PREFIXES(OneClickSigninBubbleViewTest, BubbleOkButton); |
+ FRIEND_TEST_ALL_PREFIXES(OneClickSigninBubbleViewTest, DialogOkButton); |
+ FRIEND_TEST_ALL_PREFIXES(OneClickSigninBubbleViewTest, DialogUndoButton); |
+ FRIEND_TEST_ALL_PREFIXES(OneClickSigninBubbleViewTest, BubbleAdvancedLink); |
+ FRIEND_TEST_ALL_PREFIXES(OneClickSigninBubbleViewTest, DialogAdvancedLink); |
+ FRIEND_TEST_ALL_PREFIXES(OneClickSigninBubbleViewTest, BubbleLearnMoreLink); |
+ FRIEND_TEST_ALL_PREFIXES(OneClickSigninBubbleViewTest, DialogLearnMoreLink); |
// Overridden from views::BubbleDelegateView: |
virtual void AnimationEnded(const ui::Animation* animation) OVERRIDE; |
@@ -114,8 +111,8 @@ class OneClickSigninBubbleView : public views::BubbleDelegateView, |
// Creates advanced link to be used at the bottom of the bubble. |
void InitAdvancedLink(); |
- // The bubble/dialog will always outlive the web_content, so this is ok. |
- content::WebContents* web_contents_; |
+ // Delegate to handle clicking on links in the bubble. |
+ scoped_ptr<OneClickSigninBubbleDelegate> delegate_; |
// Alternate error message to be displayed. |
const string16 error_message_; |