[Extensions] Make extension message bubble factory platform-abstract
[chromium-blink-merge.git] / chrome / browser / ui / views / exclusive_access_bubble_views_context.h
blob5d0f3d457f3c3e1c7b8bb723e0cc4ef771c23718
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;
11 namespace views {
12 class Widget;
15 // Context in which the exclusive access bubble view is initiated.
16 class ExclusiveAccessBubbleViewsContext {
17 public:
18 virtual ~ExclusiveAccessBubbleViewsContext() {}
20 // Returns ExclusiveAccessManager controlling exclusive access for the given
21 // webview.
22 virtual ExclusiveAccessManager* GetExclusiveAccessManager() = 0;
24 // Returns the Widget that hosts the view containing the exclusive access
25 // bubble.
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_