Chromium Code Reviews| OLD | NEW |
|---|---|
| 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/shell.h" | 5 #include "ash/shell.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 | 8 |
| 9 #include "ash/app_list/app_list.h" | 9 #include "ash/app_list/app_list.h" |
| 10 #include "ash/ash_switches.h" | 10 #include "ash/ash_switches.h" |
| 11 #include "ash/desktop_background/desktop_background_controller.h" | |
| 12 #include "ash/desktop_background/desktop_background_resources.h" | |
| 13 #include "ash/desktop_background/desktop_background_view.h" | |
| 11 #include "ash/drag_drop/drag_drop_controller.h" | 14 #include "ash/drag_drop/drag_drop_controller.h" |
| 12 #include "ash/focus_cycler.h" | 15 #include "ash/focus_cycler.h" |
| 13 #include "ash/ime/input_method_event_filter.h" | 16 #include "ash/ime/input_method_event_filter.h" |
| 14 #include "ash/launcher/launcher.h" | 17 #include "ash/launcher/launcher.h" |
| 15 #include "ash/shell_delegate.h" | 18 #include "ash/shell_delegate.h" |
| 16 #include "ash/shell_factory.h" | 19 #include "ash/shell_factory.h" |
| 17 #include "ash/shell_window_ids.h" | 20 #include "ash/shell_window_ids.h" |
| 18 #include "ash/system/audio/tray_volume.h" | 21 #include "ash/system/audio/tray_volume.h" |
| 19 #include "ash/system/brightness/tray_brightness.h" | 22 #include "ash/system/brightness/tray_brightness.h" |
| 20 #include "ash/system/settings/tray_settings.h" | 23 #include "ash/system/settings/tray_settings.h" |
| (...skipping 446 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 467 | 470 |
| 468 window_modality_controller_.reset(new internal::WindowModalityController); | 471 window_modality_controller_.reset(new internal::WindowModalityController); |
| 469 AddRootWindowEventFilter(window_modality_controller_.get()); | 472 AddRootWindowEventFilter(window_modality_controller_.get()); |
| 470 | 473 |
| 471 visibility_controller_.reset(new internal::VisibilityController); | 474 visibility_controller_.reset(new internal::VisibilityController); |
| 472 | 475 |
| 473 tooltip_controller_.reset(new internal::TooltipController); | 476 tooltip_controller_.reset(new internal::TooltipController); |
| 474 AddRootWindowEventFilter(tooltip_controller_.get()); | 477 AddRootWindowEventFilter(tooltip_controller_.get()); |
| 475 | 478 |
| 476 drag_drop_controller_.reset(new internal::DragDropController); | 479 drag_drop_controller_.reset(new internal::DragDropController); |
| 480 desktop_background_controller_.reset(new DesktopBackgroundController); | |
| 477 power_button_controller_.reset(new PowerButtonController); | 481 power_button_controller_.reset(new PowerButtonController); |
| 478 video_detector_.reset(new VideoDetector); | 482 video_detector_.reset(new VideoDetector); |
| 479 window_cycle_controller_.reset(new WindowCycleController); | 483 window_cycle_controller_.reset(new WindowCycleController); |
| 480 } | 484 } |
| 481 | 485 |
| 482 Shell::WindowMode Shell::ComputeWindowMode(CommandLine* command_line) const { | 486 Shell::WindowMode Shell::ComputeWindowMode(CommandLine* command_line) const { |
| 483 if (compact_window_mode_for_test_) | 487 if (compact_window_mode_for_test_) |
| 484 return MODE_COMPACT; | 488 return MODE_COMPACT; |
| 485 | 489 |
| 486 // Some devices don't perform well with overlapping windows. | 490 // Some devices don't perform well with overlapping windows. |
| (...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 532 if (workspace_controller_.get()) | 536 if (workspace_controller_.get()) |
| 533 workspace_controller_->ShowMenu(widget, location); | 537 workspace_controller_->ShowMenu(widget, location); |
| 534 } | 538 } |
| 535 | 539 |
| 536 void Shell::ToggleAppList() { | 540 void Shell::ToggleAppList() { |
| 537 if (!app_list_.get()) | 541 if (!app_list_.get()) |
| 538 app_list_.reset(new internal::AppList); | 542 app_list_.reset(new internal::AppList); |
| 539 app_list_->SetVisible(!app_list_->IsVisible()); | 543 app_list_->SetVisible(!app_list_->IsVisible()); |
| 540 } | 544 } |
| 541 | 545 |
| 546 void Shell::SetDesktopBackgroundWallpaper(const SkBitmap& wallpaper) { | |
| 547 if (desktop_background_mode_ == BACKGROUND_SOLID_COLOR) | |
| 548 return; | |
| 549 DCHECK(root_window_layout_->background_widget()); | |
| 550 static_cast<internal::DesktopBackgroundView*>( | |
| 551 root_window_layout_->background_widget()->widget_delegate())-> | |
| 552 SetWallpaper(wallpaper); | |
| 553 } | |
| 554 | |
| 542 void Shell::SetDesktopBackgroundMode(BackgroundMode mode) { | 555 void Shell::SetDesktopBackgroundMode(BackgroundMode mode) { |
|
flackr
2012/03/06 17:16:49
I think this function should become SetDesktopBack
bshe
2012/03/06 19:56:16
Just to confirm, your intention here is to enable
flackr
2012/03/06 20:25:28
This is probably important, I think if we start su
bshe
2012/03/07 19:50:44
It seems the ToT build can't switch the color mode
| |
| 543 if (mode == BACKGROUND_SOLID_COLOR) { | 556 if (mode == BACKGROUND_SOLID_COLOR) { |
| 544 // Set a solid black background. | 557 // Set a solid black background. |
| 545 // TODO(derat): Remove this in favor of having the compositor only clear the | 558 // TODO(derat): Remove this in favor of having the compositor only clear the |
| 546 // viewport when there are regions not covered by a layer: | 559 // viewport when there are regions not covered by a layer: |
| 547 // http://crbug.com/113445 | 560 // http://crbug.com/113445 |
| 548 ui::Layer* background_layer = new ui::Layer(ui::Layer::LAYER_SOLID_COLOR); | 561 ui::Layer* background_layer = new ui::Layer(ui::Layer::LAYER_SOLID_COLOR); |
| 549 background_layer->SetColor(SK_ColorBLACK); | 562 background_layer->SetColor(SK_ColorBLACK); |
| 550 GetContainer(internal::kShellWindowId_DesktopBackgroundContainer)-> | 563 GetContainer(internal::kShellWindowId_DesktopBackgroundContainer)-> |
| 551 layer()->Add(background_layer); | 564 layer()->Add(background_layer); |
| 552 root_window_layout_->SetBackgroundLayer(background_layer); | 565 root_window_layout_->SetBackgroundLayer(background_layer); |
| (...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 674 void Shell::ResetLayoutManager(int container_id) { | 687 void Shell::ResetLayoutManager(int container_id) { |
| 675 GetContainer(container_id)->SetLayoutManager(NULL); | 688 GetContainer(container_id)->SetLayoutManager(NULL); |
| 676 } | 689 } |
| 677 | 690 |
| 678 void Shell::DisableWorkspaceGridLayout() { | 691 void Shell::DisableWorkspaceGridLayout() { |
| 679 if (workspace_controller_.get()) | 692 if (workspace_controller_.get()) |
| 680 workspace_controller_->workspace_manager()->set_grid_size(0); | 693 workspace_controller_->workspace_manager()->set_grid_size(0); |
| 681 } | 694 } |
| 682 | 695 |
| 683 } // namespace ash | 696 } // namespace ash |
| OLD | NEW |