| 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 53abb0f595f161520079331ebbc1a4ffcf69c7ec..b4d2ab0a63c4cb58f424fcb07e022528468aff81 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,7 +9,9 @@
|
| #include "base/basictypes.h"
|
| #include "base/callback.h"
|
| #include "base/compiler_specific.h"
|
| +#include "base/gtest_prod_util.h"
|
| #include "base/string16.h"
|
| +#include "chrome/browser/ui/browser_window.h"
|
| #include "ui/views/bubble/bubble_delegate.h"
|
| #include "ui/views/controls/button/button.h"
|
| #include "ui/views/controls/link_listener.h"
|
| @@ -28,11 +30,10 @@ class OneClickSigninBubbleView : public views::BubbleDelegateView,
|
| public views::ButtonListener {
|
| public:
|
| // Show the one-click signin bubble if not already showing. The bubble
|
| - // will be placed visually beneath |anchor_view|. The |browser| is used
|
| - // to open links.
|
| + // will be placed visually beneath |anchor_view|. |start_sync| is called
|
| + // to start sync.
|
| static void ShowBubble(views::View* anchor_view,
|
| - const base::Closure& learn_more_callback,
|
| - const base::Closure& advanced_callback);
|
| + const BrowserWindow::StartSyncCallback& start_sync);
|
|
|
| static bool IsShowing();
|
|
|
| @@ -42,19 +43,17 @@ class OneClickSigninBubbleView : public views::BubbleDelegateView,
|
| // method is meant to be called only from tests.
|
| static OneClickSigninBubbleView* view_for_testing() { return bubble_view_; }
|
|
|
| - // The following accessor message should only be used for testing.
|
| - views::Link* learn_more_link_for_testing() const { return learn_more_link_; }
|
| - views::Link* advanced_link_for_testing() const { return advanced_link_; }
|
| - views::TextButton* close_button_for_testing() const { return close_button_; }
|
| - void set_message_loop_for_testing(MessageLoop* loop) {
|
| - message_loop_for_testing_ = loop;
|
| - }
|
| -
|
| private:
|
| - // Creates a BookmarkBubbleView.
|
| - OneClickSigninBubbleView(views::View* anchor_view,
|
| - const base::Closure& learn_more_callback,
|
| - const base::Closure& advanced_callback);
|
| + friend class OneClickSigninBubbleViewBrowserTest;
|
| +
|
| + FRIEND_TEST_ALL_PREFIXES(OneClickSigninBubbleViewBrowserTest, OkButton);
|
| + FRIEND_TEST_ALL_PREFIXES(OneClickSigninBubbleViewBrowserTest, UndoButton);
|
| + FRIEND_TEST_ALL_PREFIXES(OneClickSigninBubbleViewBrowserTest, AdvancedLink);
|
| +
|
| + // Creates a OneClickSigninBubbleView.
|
| + OneClickSigninBubbleView(
|
| + views::View* anchor_view,
|
| + const BrowserWindow::StartSyncCallback& start_sync_callback);
|
|
|
| virtual ~OneClickSigninBubbleView();
|
|
|
| @@ -78,18 +77,17 @@ class OneClickSigninBubbleView : public views::BubbleDelegateView,
|
| // The bubble, if we're showing one.
|
| static OneClickSigninBubbleView* bubble_view_;
|
|
|
| - // Link to web page to learn more about sync.
|
| - views::Link* learn_more_link_;
|
| -
|
| // Link to sync setup advanced page.
|
| views::Link* advanced_link_;
|
|
|
| - // Button to close the window.
|
| - views::TextButton* close_button_;
|
| + // Controls at bottom of bubble.
|
| + views::TextButton* ok_button_;
|
| + views::TextButton* undo_button_;
|
|
|
| - // The callbacks for the links.
|
| - base::Closure learn_more_callback_;
|
| - base::Closure advanced_callback_;
|
| + // This callback is nulled once its called, so that it is called only once.
|
| + // It will be called when the bubble is closed if it has not been called
|
| + // and nulled earlier.
|
| + BrowserWindow::StartSyncCallback start_sync_callback_;
|
|
|
| // A message loop used only with unit tests.
|
| MessageLoop* message_loop_for_testing_;
|
|
|