Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(106)

Unified Diff: chrome/browser/ui/views/sync/one_click_signin_bubble_view.cc

Issue 9863032: [Sync] [Mac] Implement one-click signin bubble for OS X (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Address sky's comments Created 8 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/ui/views/sync/one_click_signin_bubble_view.cc
diff --git a/chrome/browser/ui/views/sync/one_click_signin_bubble_view.cc b/chrome/browser/ui/views/sync/one_click_signin_bubble_view.cc
index 9d358078b6a6b82e1eb7da9072ffce48e1de915e..23ce53e15018824844b1dc902a5933ce1f30efdc 100644
--- a/chrome/browser/ui/views/sync/one_click_signin_bubble_view.cc
+++ b/chrome/browser/ui/views/sync/one_click_signin_bubble_view.cc
@@ -4,12 +4,12 @@
#include "chrome/browser/ui/views/sync/one_click_signin_bubble_view.h"
+#include "base/logging.h"
#include "base/message_loop.h"
#include "chrome/browser/google/google_util.h"
#include "chrome/browser/ui/browser.h"
#include "chrome/browser/ui/views/window.h"
#include "chrome/common/url_constants.h"
-#include "content/public/common/page_transition_types.h"
#include "grit/chromium_strings.h"
#include "grit/generated_resources.h"
#include "ui/base/keycodes/keyboard_codes.h"
@@ -34,12 +34,16 @@ const int kMinimumFieldSize = 240;
OneClickSigninBubbleView* OneClickSigninBubbleView::bubble_view_ = NULL;
// static
-void OneClickSigninBubbleView::ShowBubble(views::View* anchor_view,
- Browser* browser) {
+void OneClickSigninBubbleView::ShowBubble(
+ views::View* anchor_view,
+ const base::Closure& learn_more_callback,
+ const base::Closure& advanced_callback) {
if (IsShowing())
return;
- bubble_view_ = new OneClickSigninBubbleView(anchor_view, browser);
+ bubble_view_ =
+ new OneClickSigninBubbleView(anchor_view, learn_more_callback,
+ advanced_callback);
browser::CreateViewsBubble(bubble_view_);
bubble_view_->Show();
}
@@ -55,15 +59,19 @@ void OneClickSigninBubbleView::Hide() {
bubble_view_->GetWidget()->Close();
}
-OneClickSigninBubbleView::OneClickSigninBubbleView(views::View* anchor_view,
- Browser* browser)
+OneClickSigninBubbleView::OneClickSigninBubbleView(
+ views::View* anchor_view,
+ const base::Closure& learn_more_callback,
+ const base::Closure& advanced_callback)
: BubbleDelegateView(anchor_view, views::BubbleBorder::TOP_RIGHT),
learn_more_link_(NULL),
advanced_link_(NULL),
close_button_(NULL),
- browser_(browser),
+ learn_more_callback_(learn_more_callback),
+ advanced_callback_(advanced_callback),
message_loop_for_testing_(NULL) {
- DCHECK(browser_);
+ DCHECK(!learn_more_callback_.is_null());
+ DCHECK(!advanced_callback_.is_null());
}
OneClickSigninBubbleView::~OneClickSigninBubbleView() {
@@ -160,14 +168,10 @@ void OneClickSigninBubbleView::LinkClicked(views::Link* source,
int event_flags) {
StartFade(false);
- GURL url;
- if (source == learn_more_link_) {
- url = GURL(chrome::kSyncLearnMoreURL);
- } else {
- url = GURL(std::string(chrome::kChromeUISettingsURL) +
- chrome::kSyncSetupSubPage);
- }
- browser_->AddSelectedTabWithURL(url, content::PAGE_TRANSITION_AUTO_BOOKMARK);
+ if (source == learn_more_link_)
+ learn_more_callback_.Run();
+ else
+ advanced_callback_.Run();
}
void OneClickSigninBubbleView::ButtonPressed(

Powered by Google App Engine
This is Rietveld 408576698