1 // Copyright (c) 2015 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.
4 #ifndef CHROME_BROWSER_UI_VIEWS_EXCLUSIVE_ACCESS_BUBBLE_VIEWS_CONTEXT_H_
5 #define CHROME_BROWSER_UI_VIEWS_EXCLUSIVE_ACCESS_BUBBLE_VIEWS_CONTEXT_H_
7 #include "ui/gfx/geometry/rect.h"
9 class ExclusiveAccessManager
;
15 // Context in which the exclusive access bubble view is initiated.
16 class ExclusiveAccessBubbleViewsContext
{
18 virtual ~ExclusiveAccessBubbleViewsContext() {}
20 // Returns ExclusiveAccessManager controlling exclusive access for the given
22 virtual ExclusiveAccessManager
* GetExclusiveAccessManager() = 0;
24 // Returns the Widget that hosts the view containing the exclusive access
26 virtual views::Widget
* GetBubbleAssociatedWidget() = 0;
28 // Returns true if immersive mode is enabled.
29 virtual bool IsImmersiveModeEnabled() = 0;
31 // Returns the bounds of the top level View in screen coordinate system.
32 virtual gfx::Rect
GetTopContainerBoundsInScreen() = 0;
35 #endif // CHROME_BROWSER_UI_VIEWS_EXCLUSIVE_ACCESS_BUBBLE_VIEWS_CONTEXT_H_