| 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 |