Revert of Remove OneClickSigninHelper since it is no longer used. (patchset #5 id...
[chromium-blink-merge.git] / chrome / browser / ui / toolbar / toolbar_action_view_delegate.h
blob7c7c4d196ff118efb516981fe7e7c36847b51968
1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef CHROME_BROWSER_UI_TOOLBAR_TOOLBAR_ACTION_VIEW_DELEGATE_H_
6 #define CHROME_BROWSER_UI_TOOLBAR_TOOLBAR_ACTION_VIEW_DELEGATE_H_
8 class ToolbarActionViewController;
10 namespace content {
11 class WebContents;
14 // The view for a ToolbarAction, which is controlled by a
15 // ToolbarActionViewController.
16 class ToolbarActionViewDelegate {
17 public:
18 // In some cases (such as when an action is shown in a menu), a substitute
19 // ToolbarActionViewController should be used for showing popups. This
20 // returns the preferred controller.
21 virtual ToolbarActionViewController* GetPreferredPopupViewController() = 0;
23 // Returns the current web contents.
24 virtual content::WebContents* GetCurrentWebContents() const = 0;
26 // Updates the view to reflect current state.
27 virtual void UpdateState() = 0;
29 // Called when a popup is shown. If |by_user| is true, then this was through
30 // a direct user action (as oppposed to, e.g., an API call).
31 virtual void OnPopupShown(bool by_user) {}
33 // Called when a popup is closed.
34 virtual void OnPopupClosed() {}
36 protected:
37 virtual ~ToolbarActionViewDelegate() {}
40 #endif // CHROME_BROWSER_UI_TOOLBAR_TOOLBAR_ACTION_VIEW_DELEGATE_H_