OLD | NEW |
1 // Copyright (c) 2015 The Chromium Authors. All rights reserved. | 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 | 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 #include "chrome/browser/ui/exclusive_access/exclusive_access_manager.h" | 5 #include "chrome/browser/ui/exclusive_access/exclusive_access_manager.h" |
6 | 6 |
7 #include "chrome/browser/app_mode/app_mode_utils.h" | 7 #include "chrome/browser/app_mode/app_mode_utils.h" |
8 #include "chrome/browser/ui/browser.h" | 8 #include "chrome/browser/ui/browser.h" |
9 #include "chrome/browser/ui/browser_window.h" | 9 #include "chrome/browser/ui/browser_window.h" |
| 10 #include "chrome/browser/ui/exclusive_access/exclusive_access_context.h" |
10 #include "chrome/browser/ui/exclusive_access/fullscreen_controller.h" | 11 #include "chrome/browser/ui/exclusive_access/fullscreen_controller.h" |
11 #include "chrome/browser/ui/exclusive_access/mouse_lock_controller.h" | 12 #include "chrome/browser/ui/exclusive_access/mouse_lock_controller.h" |
12 | 13 |
13 using content::WebContents; | 14 using content::WebContents; |
14 | 15 |
15 ExclusiveAccessManager::ExclusiveAccessManager(Browser* browser) | 16 ExclusiveAccessManager::ExclusiveAccessManager( |
16 : browser_(browser), | 17 ExclusiveAccessContext* exclusive_access_context) |
17 fullscreen_controller_(this, browser), | 18 : exclusive_access_context_(exclusive_access_context), |
18 mouse_lock_controller_(this, browser) { | 19 fullscreen_controller_(this), |
| 20 mouse_lock_controller_(this) { |
19 } | 21 } |
20 | 22 |
21 ExclusiveAccessManager::~ExclusiveAccessManager() { | 23 ExclusiveAccessManager::~ExclusiveAccessManager() { |
22 } | 24 } |
23 | 25 |
24 ExclusiveAccessBubbleType | 26 ExclusiveAccessBubbleType |
25 ExclusiveAccessManager::GetExclusiveAccessExitBubbleType() const { | 27 ExclusiveAccessManager::GetExclusiveAccessExitBubbleType() const { |
26 // In kiosk and exclusive app mode we always want to be fullscreen and do not | 28 // In kiosk and exclusive app mode we always want to be fullscreen and do not |
27 // want to show exit instructions for browser mode fullscreen. | 29 // want to show exit instructions for browser mode fullscreen. |
28 bool app_mode = false; | 30 bool app_mode = false; |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
64 | 66 |
65 void ExclusiveAccessManager::UpdateExclusiveAccessExitBubbleContent() { | 67 void ExclusiveAccessManager::UpdateExclusiveAccessExitBubbleContent() { |
66 GURL url = GetExclusiveAccessBubbleURL(); | 68 GURL url = GetExclusiveAccessBubbleURL(); |
67 ExclusiveAccessBubbleType bubble_type = GetExclusiveAccessExitBubbleType(); | 69 ExclusiveAccessBubbleType bubble_type = GetExclusiveAccessExitBubbleType(); |
68 | 70 |
69 // If bubble displays buttons, unlock mouse to allow pressing them. | 71 // If bubble displays buttons, unlock mouse to allow pressing them. |
70 if (exclusive_access_bubble::ShowButtonsForType(bubble_type) && | 72 if (exclusive_access_bubble::ShowButtonsForType(bubble_type) && |
71 mouse_lock_controller_.IsMouseLocked()) | 73 mouse_lock_controller_.IsMouseLocked()) |
72 mouse_lock_controller_.UnlockMouse(); | 74 mouse_lock_controller_.UnlockMouse(); |
73 | 75 |
74 browser_->window()->UpdateFullscreenExitBubbleContent(url, bubble_type); | 76 exclusive_access_context_->UpdateExclusiveAccessExitBubbleContent( |
| 77 url, bubble_type); |
75 } | 78 } |
76 | 79 |
77 GURL ExclusiveAccessManager::GetExclusiveAccessBubbleURL() const { | 80 GURL ExclusiveAccessManager::GetExclusiveAccessBubbleURL() const { |
78 GURL result = fullscreen_controller_.GetURLForExclusiveAccessBubble(); | 81 GURL result = fullscreen_controller_.GetURLForExclusiveAccessBubble(); |
79 if (!result.is_valid()) | 82 if (!result.is_valid()) |
80 result = mouse_lock_controller_.GetURLForExclusiveAccessBubble(); | 83 result = mouse_lock_controller_.GetURLForExclusiveAccessBubble(); |
81 return result; | 84 return result; |
82 } | 85 } |
83 | 86 |
84 void ExclusiveAccessManager::OnTabDeactivated(WebContents* web_contents) { | 87 void ExclusiveAccessManager::OnTabDeactivated(WebContents* web_contents) { |
(...skipping 25 matching lines...) Expand all Loading... |
110 if (updateBubble) | 113 if (updateBubble) |
111 UpdateExclusiveAccessExitBubbleContent(); | 114 UpdateExclusiveAccessExitBubbleContent(); |
112 } | 115 } |
113 | 116 |
114 void ExclusiveAccessManager::OnDenyExclusiveAccessPermission() { | 117 void ExclusiveAccessManager::OnDenyExclusiveAccessPermission() { |
115 bool updateBubble = mouse_lock_controller_.OnDenyExclusiveAccessPermission(); | 118 bool updateBubble = mouse_lock_controller_.OnDenyExclusiveAccessPermission(); |
116 updateBubble |= fullscreen_controller_.OnDenyExclusiveAccessPermission(); | 119 updateBubble |= fullscreen_controller_.OnDenyExclusiveAccessPermission(); |
117 if (updateBubble) | 120 if (updateBubble) |
118 UpdateExclusiveAccessExitBubbleContent(); | 121 UpdateExclusiveAccessExitBubbleContent(); |
119 } | 122 } |
OLD | NEW |