Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(343)

Side by Side Diff: chrome/browser/ui/exclusive_access/exclusive_access_manager.cc

Issue 877413004: Refactor away the Browser* dependency in exclusive_access (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Update based on CR comments Created 5 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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
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
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 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698