// Copyright (c) 2012 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. #ifndef CHROME_BROWSER_UI_COCOA_ONE_CLICK_SIGNIN_BUBBLE_CONTROLLER_H_ #define CHROME_BROWSER_UI_COCOA_ONE_CLICK_SIGNIN_BUBBLE_CONTROLLER_H_ #import <Cocoa/Cocoa.h> #include "base/callback.h" #include "base/mac/scoped_nsobject.h" #include "chrome/browser/ui/browser_window.h" #import "chrome/browser/ui/cocoa/base_bubble_controller.h" @class BrowserWindowController; @class OneClickSigninViewController; // Displays the one-click signin confirmation bubble @interface OneClickSigninBubbleController : BaseBubbleController { base::scoped_nsobject<OneClickSigninViewController> viewController_; @private IBOutlet NSTextField* messageTextField_; } @property(readonly, nonatomic) OneClickSigninViewController* viewController; // Initializes with a browser window |controller|, under whose app menu this // bubble will be displayed, and callbacks which are called if the user clicks // the corresponding link. |errorMessage| is an alternate message that will be // displayed in the case of an authentication error, and |syncCallback| is // called to start sync. |webContents| is used to open the Learn More and // Advanced links. // // The bubble is not automatically displayed; call showWindow:id to // display. The bubble is auto-released on close. - (id)initWithBrowserWindowController:(BrowserWindowController*)controller webContents:(content::WebContents*)webContents errorMessage:(NSString*)errorMessage callback:(const BrowserWindow::StartSyncCallback&) syncCallback; @end #endif // CHROME_BROWSER_UI_COCOA_ONE_CLICK_SIGNIN_BUBBLE_CONTROLLER_H_