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

Side by Side Diff: ash/desktop_background/desktop_background_controller.cc

Issue 224113005: Eliminate ash::internal namespace (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 8 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 "ash/desktop_background/desktop_background_controller.h" 5 #include "ash/desktop_background/desktop_background_controller.h"
6 6
7 #include "ash/ash_switches.h" 7 #include "ash/ash_switches.h"
8 #include "ash/desktop_background/desktop_background_controller_observer.h" 8 #include "ash/desktop_background/desktop_background_controller_observer.h"
9 #include "ash/desktop_background/desktop_background_view.h" 9 #include "ash/desktop_background/desktop_background_view.h"
10 #include "ash/desktop_background/desktop_background_widget_controller.h" 10 #include "ash/desktop_background/desktop_background_widget_controller.h"
(...skipping 15 matching lines...) Expand all
26 #include "content/public/browser/browser_thread.h" 26 #include "content/public/browser/browser_thread.h"
27 #include "grit/ash_resources.h" 27 #include "grit/ash_resources.h"
28 #include "ui/aura/window.h" 28 #include "ui/aura/window.h"
29 #include "ui/aura/window_event_dispatcher.h" 29 #include "ui/aura/window_event_dispatcher.h"
30 #include "ui/compositor/layer.h" 30 #include "ui/compositor/layer.h"
31 #include "ui/gfx/codec/jpeg_codec.h" 31 #include "ui/gfx/codec/jpeg_codec.h"
32 #include "ui/gfx/image/image_skia.h" 32 #include "ui/gfx/image/image_skia.h"
33 #include "ui/gfx/rect.h" 33 #include "ui/gfx/rect.h"
34 #include "ui/views/widget/widget.h" 34 #include "ui/views/widget/widget.h"
35 35
36 using ash::internal::DesktopBackgroundWidgetController;
37 using content::BrowserThread; 36 using content::BrowserThread;
38 37
39 namespace ash { 38 namespace ash {
40 namespace { 39 namespace {
41 40
42 // How long to wait reloading the wallpaper after the max display has 41 // How long to wait reloading the wallpaper after the max display has
43 // changed? 42 // changed?
44 const int kWallpaperReloadDelayMs = 2000; 43 const int kWallpaperReloadDelayMs = 2000;
45 44
46 } // namespace 45 } // namespace
(...skipping 316 matching lines...) Expand 10 before | Expand all | Expand 10 after
363 OnWallpaperDataChanged()); 362 OnWallpaperDataChanged());
364 363
365 SetDesktopBackgroundImageMode(); 364 SetDesktopBackgroundImageMode();
366 365
367 DCHECK(loader.get() == default_wallpaper_loader_.get()); 366 DCHECK(loader.get() == default_wallpaper_loader_.get());
368 default_wallpaper_loader_ = NULL; 367 default_wallpaper_loader_ = NULL;
369 } 368 }
370 369
371 void DesktopBackgroundController::InstallDesktopController( 370 void DesktopBackgroundController::InstallDesktopController(
372 aura::Window* root_window) { 371 aura::Window* root_window) {
373 internal::DesktopBackgroundWidgetController* component = NULL; 372 DesktopBackgroundWidgetController* component = NULL;
374 int container_id = GetBackgroundContainerId(locked_); 373 int container_id = GetBackgroundContainerId(locked_);
375 374
376 switch (desktop_background_mode_) { 375 switch (desktop_background_mode_) {
377 case BACKGROUND_IMAGE: { 376 case BACKGROUND_IMAGE: {
378 views::Widget* widget = internal::CreateDesktopBackground(root_window, 377 views::Widget* widget =
379 container_id); 378 CreateDesktopBackground(root_window, container_id);
380 component = new internal::DesktopBackgroundWidgetController(widget); 379 component = new DesktopBackgroundWidgetController(widget);
381 break; 380 break;
382 } 381 }
383 case BACKGROUND_NONE: 382 case BACKGROUND_NONE:
384 NOTREACHED(); 383 NOTREACHED();
385 return; 384 return;
386 } 385 }
387 internal::GetRootWindowController(root_window)-> 386 GetRootWindowController(root_window)->SetAnimatingWallpaperController(
388 SetAnimatingWallpaperController( 387 new AnimatingDesktopController(component));
389 new internal::AnimatingDesktopController(component));
390 388
391 component->StartAnimating(internal::GetRootWindowController(root_window)); 389 component->StartAnimating(GetRootWindowController(root_window));
392 } 390 }
393 391
394 void DesktopBackgroundController::InstallDesktopControllerForAllWindows() { 392 void DesktopBackgroundController::InstallDesktopControllerForAllWindows() {
395 aura::Window::Windows root_windows = Shell::GetAllRootWindows(); 393 aura::Window::Windows root_windows = Shell::GetAllRootWindows();
396 for (aura::Window::Windows::iterator iter = root_windows.begin(); 394 for (aura::Window::Windows::iterator iter = root_windows.begin();
397 iter != root_windows.end(); ++iter) { 395 iter != root_windows.end(); ++iter) {
398 InstallDesktopController(*iter); 396 InstallDesktopController(*iter);
399 } 397 }
400 current_max_display_size_ = GetMaxDisplaySizeInNative(); 398 current_max_display_size_ = GetMaxDisplaySizeInNative();
401 } 399 }
402 400
403 bool DesktopBackgroundController::ReparentBackgroundWidgets(int src_container, 401 bool DesktopBackgroundController::ReparentBackgroundWidgets(int src_container,
404 int dst_container) { 402 int dst_container) {
405 bool moved = false; 403 bool moved = false;
406 Shell::RootWindowControllerList controllers = 404 Shell::RootWindowControllerList controllers =
407 Shell::GetAllRootWindowControllers(); 405 Shell::GetAllRootWindowControllers();
408 for (Shell::RootWindowControllerList::iterator iter = controllers.begin(); 406 for (Shell::RootWindowControllerList::iterator iter = controllers.begin();
409 iter != controllers.end(); ++iter) { 407 iter != controllers.end(); ++iter) {
410 internal::RootWindowController* root_window_controller = *iter; 408 RootWindowController* root_window_controller = *iter;
411 // In the steady state (no animation playing) the background widget 409 // In the steady state (no animation playing) the background widget
412 // controller exists in the RootWindowController. 410 // controller exists in the RootWindowController.
413 DesktopBackgroundWidgetController* desktop_controller = 411 DesktopBackgroundWidgetController* desktop_controller =
414 root_window_controller->wallpaper_controller(); 412 root_window_controller->wallpaper_controller();
415 if (desktop_controller) { 413 if (desktop_controller) {
416 moved |= desktop_controller->Reparent( 414 moved |= desktop_controller->Reparent(
417 root_window_controller->root_window(), 415 root_window_controller->root_window(),
418 src_container, 416 src_container,
419 dst_container); 417 dst_container);
420 } 418 }
(...skipping 11 matching lines...) Expand all
432 moved |= animating_controller->Reparent( 430 moved |= animating_controller->Reparent(
433 root_window_controller->root_window(), 431 root_window_controller->root_window(),
434 src_container, 432 src_container,
435 dst_container); 433 dst_container);
436 } 434 }
437 } 435 }
438 return moved; 436 return moved;
439 } 437 }
440 438
441 int DesktopBackgroundController::GetBackgroundContainerId(bool locked) { 439 int DesktopBackgroundController::GetBackgroundContainerId(bool locked) {
442 return locked ? internal::kShellWindowId_LockScreenBackgroundContainer : 440 return locked ? kShellWindowId_LockScreenBackgroundContainer
443 internal::kShellWindowId_DesktopBackgroundContainer; 441 : kShellWindowId_DesktopBackgroundContainer;
444 } 442 }
445 443
446 void DesktopBackgroundController::UpdateWallpaper() { 444 void DesktopBackgroundController::UpdateWallpaper() {
447 current_wallpaper_.reset(NULL); 445 current_wallpaper_.reset(NULL);
448 current_default_wallpaper_path_ = base::FilePath(); 446 current_default_wallpaper_path_ = base::FilePath();
449 current_default_wallpaper_resource_id_ = -1; 447 current_default_wallpaper_resource_id_ = -1;
450 ash::Shell::GetInstance()->user_wallpaper_delegate()-> 448 ash::Shell::GetInstance()->user_wallpaper_delegate()->
451 UpdateWallpaper(true /* clear cache */); 449 UpdateWallpaper(true /* clear cache */);
452 } 450 }
453 451
454 // static 452 // static
455 gfx::Size DesktopBackgroundController::GetMaxDisplaySizeInNative() { 453 gfx::Size DesktopBackgroundController::GetMaxDisplaySizeInNative() {
456 int width = 0; 454 int width = 0;
457 int height = 0; 455 int height = 0;
458 std::vector<gfx::Display> displays = Shell::GetScreen()->GetAllDisplays(); 456 std::vector<gfx::Display> displays = Shell::GetScreen()->GetAllDisplays();
459 internal::DisplayManager* display_manager = 457 DisplayManager* display_manager = Shell::GetInstance()->display_manager();
460 Shell::GetInstance()->display_manager();
461 458
462 for (std::vector<gfx::Display>::iterator iter = displays.begin(); 459 for (std::vector<gfx::Display>::iterator iter = displays.begin();
463 iter != displays.end(); ++iter) { 460 iter != displays.end(); ++iter) {
464 // Don't use size_in_pixel because we want to use the native pixel size. 461 // Don't use size_in_pixel because we want to use the native pixel size.
465 gfx::Size size_in_pixel = 462 gfx::Size size_in_pixel =
466 display_manager->GetDisplayInfo(iter->id()).bounds_in_native().size(); 463 display_manager->GetDisplayInfo(iter->id()).bounds_in_native().size();
467 if (iter->rotation() == gfx::Display::ROTATE_90 || 464 if (iter->rotation() == gfx::Display::ROTATE_90 ||
468 iter->rotation() == gfx::Display::ROTATE_270) { 465 iter->rotation() == gfx::Display::ROTATE_270) {
469 size_in_pixel = gfx::Size(size_in_pixel.height(), size_in_pixel.width()); 466 size_in_pixel = gfx::Size(size_in_pixel.height(), size_in_pixel.width());
470 } 467 }
471 width = std::max(size_in_pixel.width(), width); 468 width = std::max(size_in_pixel.width(), width);
472 height = std::max(size_in_pixel.height(), height); 469 height = std::max(size_in_pixel.height(), height);
473 } 470 }
474 return gfx::Size(width, height); 471 return gfx::Size(width, height);
475 } 472 }
476 473
477 } // namespace ash 474 } // namespace ash
OLDNEW
« no previous file with comments | « ash/default_accessibility_delegate.cc ('k') | ash/desktop_background/desktop_background_controller_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698