OLD | NEW |
1 // Copyright 2012 The Chromium Authors. All rights reserved. | 1 // Copyright 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef CHROME_BROWSER_UI_BROWSER_WINDOW_H_ | 5 #ifndef CHROME_BROWSER_UI_BROWSER_WINDOW_H_ |
6 #define CHROME_BROWSER_UI_BROWSER_WINDOW_H_ | 6 #define CHROME_BROWSER_UI_BROWSER_WINDOW_H_ |
7 | 7 |
8 #include "base/callback_forward.h" | 8 #include "base/callback_forward.h" |
9 #include "chrome/browser/lifetime/browser_close_manager.h" | 9 #include "chrome/browser/lifetime/browser_close_manager.h" |
10 #include "chrome/browser/signin/chrome_signin_helper.h" | 10 #include "chrome/browser/signin/chrome_signin_helper.h" |
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
50 namespace extensions { | 50 namespace extensions { |
51 class Command; | 51 class Command; |
52 class Extension; | 52 class Extension; |
53 } | 53 } |
54 | 54 |
55 namespace gfx { | 55 namespace gfx { |
56 class Rect; | 56 class Rect; |
57 class Size; | 57 class Size; |
58 } | 58 } |
59 | 59 |
| 60 namespace signin_metrics { |
| 61 enum class AccessPoint; |
| 62 } |
| 63 |
60 namespace web_modal { | 64 namespace web_modal { |
61 class WebContentsModalDialogHost; | 65 class WebContentsModalDialogHost; |
62 } | 66 } |
63 | 67 |
64 //////////////////////////////////////////////////////////////////////////////// | 68 //////////////////////////////////////////////////////////////////////////////// |
65 // BrowserWindow interface | 69 // BrowserWindow interface |
66 // An interface implemented by the "view" of the Browser window. | 70 // An interface implemented by the "view" of the Browser window. |
67 // This interface includes ui::BaseWindow methods as well as Browser window | 71 // This interface includes ui::BaseWindow methods as well as Browser window |
68 // specific methods. | 72 // specific methods. |
69 // | 73 // |
(...skipping 286 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
356 static BrowserWindow* CreateBrowserWindow(Browser* browser); | 360 static BrowserWindow* CreateBrowserWindow(Browser* browser); |
357 | 361 |
358 // Returns a HostDesktopType that is compatible with the current Chrome window | 362 // Returns a HostDesktopType that is compatible with the current Chrome window |
359 // configuration. On Windows with Ash, this is always HOST_DESKTOP_TYPE_ASH | 363 // configuration. On Windows with Ash, this is always HOST_DESKTOP_TYPE_ASH |
360 // while Chrome is running in Metro mode. Otherwise returns |desktop_type|. | 364 // while Chrome is running in Metro mode. Otherwise returns |desktop_type|. |
361 static chrome::HostDesktopType AdjustHostDesktopType( | 365 static chrome::HostDesktopType AdjustHostDesktopType( |
362 chrome::HostDesktopType desktop_type); | 366 chrome::HostDesktopType desktop_type); |
363 | 367 |
364 // Shows the avatar bubble on the window frame off of the avatar button with | 368 // Shows the avatar bubble on the window frame off of the avatar button with |
365 // the given mode. The Service Type specified by GAIA is provided as well. | 369 // the given mode. The Service Type specified by GAIA is provided as well. |
| 370 // |access_point| indicates the access point used to open the Gaia sign in |
| 371 // page. |
366 enum AvatarBubbleMode { | 372 enum AvatarBubbleMode { |
367 AVATAR_BUBBLE_MODE_DEFAULT, | 373 AVATAR_BUBBLE_MODE_DEFAULT, |
368 AVATAR_BUBBLE_MODE_ACCOUNT_MANAGEMENT, | 374 AVATAR_BUBBLE_MODE_ACCOUNT_MANAGEMENT, |
369 AVATAR_BUBBLE_MODE_SIGNIN, | 375 AVATAR_BUBBLE_MODE_SIGNIN, |
370 AVATAR_BUBBLE_MODE_ADD_ACCOUNT, | 376 AVATAR_BUBBLE_MODE_ADD_ACCOUNT, |
371 AVATAR_BUBBLE_MODE_REAUTH, | 377 AVATAR_BUBBLE_MODE_REAUTH, |
372 AVATAR_BUBBLE_MODE_CONFIRM_SIGNIN, | 378 AVATAR_BUBBLE_MODE_CONFIRM_SIGNIN, |
373 AVATAR_BUBBLE_MODE_SHOW_ERROR, | 379 AVATAR_BUBBLE_MODE_SHOW_ERROR, |
374 AVATAR_BUBBLE_MODE_FAST_USER_SWITCH, | 380 AVATAR_BUBBLE_MODE_FAST_USER_SWITCH, |
375 }; | 381 }; |
376 virtual void ShowAvatarBubbleFromAvatarButton(AvatarBubbleMode mode, | 382 virtual void ShowAvatarBubbleFromAvatarButton( |
377 const signin::ManageAccountsParams& manage_accounts_params) = 0; | 383 AvatarBubbleMode mode, |
| 384 const signin::ManageAccountsParams& manage_accounts_params, |
| 385 signin_metrics::AccessPoint access_point) = 0; |
378 | 386 |
379 // Shows the signin flow for |mode| in a tab-modal dialog. | 387 // Shows the signin flow for |mode| in a tab-modal dialog. |
380 virtual void ShowModalSigninWindow(AvatarBubbleMode mode) = 0; | 388 // |access_point| indicates the access point used to open the Gaia sign in |
| 389 // page. |
| 390 virtual void ShowModalSigninWindow( |
| 391 AvatarBubbleMode mode, |
| 392 signin_metrics::AccessPoint access_point) = 0; |
381 | 393 |
382 // Closes the tab-modal signin flow opened with ShowModalSigninWindow, if it's | 394 // Closes the tab-modal signin flow opened with ShowModalSigninWindow, if it's |
383 // open. Does nothing otherwise. | 395 // open. Does nothing otherwise. |
384 virtual void CloseModalSigninWindow() = 0; | 396 virtual void CloseModalSigninWindow() = 0; |
385 | 397 |
386 // Returns the height inset for RenderView when detached bookmark bar is | 398 // Returns the height inset for RenderView when detached bookmark bar is |
387 // shown. Invoked when a new RenderHostView is created for a non-NTP | 399 // shown. Invoked when a new RenderHostView is created for a non-NTP |
388 // navigation entry and the bookmark bar is detached. | 400 // navigation entry and the bookmark bar is detached. |
389 virtual int GetRenderViewHeightInsetWithDetachedBookmarkBar() = 0; | 401 virtual int GetRenderViewHeightInsetWithDetachedBookmarkBar() = 0; |
390 | 402 |
391 // Executes |command| registered by |extension|. | 403 // Executes |command| registered by |extension|. |
392 virtual void ExecuteExtensionCommand(const extensions::Extension* extension, | 404 virtual void ExecuteExtensionCommand(const extensions::Extension* extension, |
393 const extensions::Command& command) = 0; | 405 const extensions::Command& command) = 0; |
394 | 406 |
395 // Returns object implementing ExclusiveAccessContext interface. | 407 // Returns object implementing ExclusiveAccessContext interface. |
396 virtual ExclusiveAccessContext* GetExclusiveAccessContext() = 0; | 408 virtual ExclusiveAccessContext* GetExclusiveAccessContext() = 0; |
397 | 409 |
398 protected: | 410 protected: |
399 friend class BrowserCloseManager; | 411 friend class BrowserCloseManager; |
400 friend class BrowserView; | 412 friend class BrowserView; |
401 virtual void DestroyBrowser() = 0; | 413 virtual void DestroyBrowser() = 0; |
402 }; | 414 }; |
403 | 415 |
404 #endif // CHROME_BROWSER_UI_BROWSER_WINDOW_H_ | 416 #endif // CHROME_BROWSER_UI_BROWSER_WINDOW_H_ |
OLD | NEW |