OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 "extensions/shell/browser/shell_desktop_controller.h" | 5 #include "extensions/shell/browser/shell_desktop_controller.h" |
6 | 6 |
7 #include <string> | 7 #include <string> |
8 #include <vector> | 8 #include <vector> |
9 | 9 |
10 #include "base/command_line.h" | 10 #include "base/command_line.h" |
(...skipping 142 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
153 return true; | 153 return true; |
154 } | 154 } |
155 | 155 |
156 private: | 156 private: |
157 DISALLOW_COPY_AND_ASSIGN(AppsFocusRules); | 157 DISALLOW_COPY_AND_ASSIGN(AppsFocusRules); |
158 }; | 158 }; |
159 | 159 |
160 } // namespace | 160 } // namespace |
161 | 161 |
162 ShellDesktopController::ShellDesktopController() | 162 ShellDesktopController::ShellDesktopController() |
163 : app_window_client_(new ShellAppWindowClient), app_window_(NULL) { | 163 : app_window_client_(new ShellAppWindowClient), app_window_(nullptr) { |
164 extensions::AppWindowClient::Set(app_window_client_.get()); | 164 extensions::AppWindowClient::Set(app_window_client_.get()); |
165 | 165 |
166 #if defined(OS_CHROMEOS) | 166 #if defined(OS_CHROMEOS) |
167 chromeos::DBusThreadManager::Get()->GetPowerManagerClient()-> | 167 chromeos::DBusThreadManager::Get()->GetPowerManagerClient()-> |
168 AddObserver(this); | 168 AddObserver(this); |
169 display_configurator_.reset(new ui::DisplayConfigurator); | 169 display_configurator_.reset(new ui::DisplayConfigurator); |
170 display_configurator_->Init(false); | 170 display_configurator_->Init(false); |
171 display_configurator_->ForceInitialConfigure(0); | 171 display_configurator_->ForceInitialConfigure(0); |
172 display_configurator_->AddObserver(this); | 172 display_configurator_->AddObserver(this); |
173 #endif | 173 #endif |
174 CreateRootWindow(); | 174 CreateRootWindow(); |
175 } | 175 } |
176 | 176 |
177 ShellDesktopController::~ShellDesktopController() { | 177 ShellDesktopController::~ShellDesktopController() { |
178 CloseAppWindows(); | 178 CloseAppWindows(); |
179 DestroyRootWindow(); | 179 DestroyRootWindow(); |
180 #if defined(OS_CHROMEOS) | 180 #if defined(OS_CHROMEOS) |
181 chromeos::DBusThreadManager::Get()->GetPowerManagerClient()-> | 181 chromeos::DBusThreadManager::Get()->GetPowerManagerClient()-> |
182 RemoveObserver(this); | 182 RemoveObserver(this); |
183 #endif | 183 #endif |
184 extensions::AppWindowClient::Set(NULL); | 184 extensions::AppWindowClient::Set(nullptr); |
185 } | 185 } |
186 | 186 |
187 aura::WindowTreeHost* ShellDesktopController::GetHost() { | 187 aura::WindowTreeHost* ShellDesktopController::GetHost() { |
188 return host_.get(); | 188 return host_.get(); |
189 } | 189 } |
190 | 190 |
191 AppWindow* ShellDesktopController::CreateAppWindow( | 191 AppWindow* ShellDesktopController::CreateAppWindow( |
192 content::BrowserContext* context, | 192 content::BrowserContext* context, |
193 const Extension* extension) { | 193 const Extension* extension) { |
194 app_window_ = new AppWindow(context, new ShellAppDelegate, extension); | 194 app_window_ = new AppWindow(context, new ShellAppDelegate, extension); |
195 return app_window_; | 195 return app_window_; |
196 } | 196 } |
197 | 197 |
198 void ShellDesktopController::AddAppWindow(aura::Window* window) { | 198 void ShellDesktopController::AddAppWindow(aura::Window* window) { |
199 aura::Window* root_window = GetHost()->window(); | 199 aura::Window* root_window = GetHost()->window(); |
200 root_window->AddChild(window); | 200 root_window->AddChild(window); |
201 } | 201 } |
202 | 202 |
203 void ShellDesktopController::CloseAppWindows() { | 203 void ShellDesktopController::CloseAppWindows() { |
204 if (app_window_) { | 204 if (app_window_) { |
205 app_window_->GetBaseWindow()->Close(); // Close() deletes |app_window_|. | 205 app_window_->GetBaseWindow()->Close(); // Close() deletes |app_window_|. |
206 app_window_ = NULL; | 206 app_window_ = nullptr; |
207 } | 207 } |
208 } | 208 } |
209 | 209 |
210 aura::Window* ShellDesktopController::GetDefaultParent( | 210 aura::Window* ShellDesktopController::GetDefaultParent( |
211 aura::Window* context, | 211 aura::Window* context, |
212 aura::Window* window, | 212 aura::Window* window, |
213 const gfx::Rect& bounds) { | 213 const gfx::Rect& bounds) { |
214 return host_->window(); | 214 return host_->window(); |
215 } | 215 } |
216 | 216 |
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
315 if (input_method_filter_) | 315 if (input_method_filter_) |
316 root_window_event_filter_->RemoveHandler(input_method_filter_.get()); | 316 root_window_event_filter_->RemoveHandler(input_method_filter_.get()); |
317 if (user_activity_detector_) { | 317 if (user_activity_detector_) { |
318 host_->event_processor()->GetRootTarget()->RemovePreTargetHandler( | 318 host_->event_processor()->GetRootTarget()->RemovePreTargetHandler( |
319 user_activity_detector_.get()); | 319 user_activity_detector_.get()); |
320 } | 320 } |
321 wm::FocusController* focus_controller = | 321 wm::FocusController* focus_controller = |
322 static_cast<wm::FocusController*>(focus_client_.get()); | 322 static_cast<wm::FocusController*>(focus_client_.get()); |
323 if (focus_controller) { | 323 if (focus_controller) { |
324 host_->window()->RemovePreTargetHandler(focus_controller); | 324 host_->window()->RemovePreTargetHandler(focus_controller); |
325 aura::client::SetActivationClient(host_->window(), NULL); | 325 aura::client::SetActivationClient(host_->window(), nullptr); |
326 } | 326 } |
327 root_window_event_filter_.reset(); | 327 root_window_event_filter_.reset(); |
328 capture_client_.reset(); | 328 capture_client_.reset(); |
329 input_method_filter_.reset(); | 329 input_method_filter_.reset(); |
330 focus_client_.reset(); | 330 focus_client_.reset(); |
331 cursor_manager_.reset(); | 331 cursor_manager_.reset(); |
332 #if defined(OS_CHROMEOS) | 332 #if defined(OS_CHROMEOS) |
333 user_activity_notifier_.reset(); | 333 user_activity_notifier_.reset(); |
334 #endif | 334 #endif |
335 user_activity_detector_.reset(); | 335 user_activity_detector_.reset(); |
336 host_.reset(); | 336 host_.reset(); |
337 } | 337 } |
338 | 338 |
339 gfx::Size ShellDesktopController::GetPrimaryDisplaySize() { | 339 gfx::Size ShellDesktopController::GetPrimaryDisplaySize() { |
340 #if defined(OS_CHROMEOS) | 340 #if defined(OS_CHROMEOS) |
341 const std::vector<ui::DisplayConfigurator::DisplayState>& displays = | 341 const std::vector<ui::DisplayConfigurator::DisplayState>& displays = |
342 display_configurator_->cached_displays(); | 342 display_configurator_->cached_displays(); |
343 if (displays.empty()) | 343 if (displays.empty()) |
344 return gfx::Size(); | 344 return gfx::Size(); |
345 const ui::DisplayMode* mode = displays[0].display->current_mode(); | 345 const ui::DisplayMode* mode = displays[0].display->current_mode(); |
346 return mode ? mode->size() : gfx::Size(); | 346 return mode ? mode->size() : gfx::Size(); |
347 #else | 347 #else |
348 return gfx::Size(); | 348 return gfx::Size(); |
349 #endif | 349 #endif |
350 } | 350 } |
351 | 351 |
352 } // namespace extensions | 352 } // namespace extensions |
OLD | NEW |