| 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 #include <string> |     8 #include <string> | 
|     9 #include <utility> |     9 #include <utility> | 
|    10  |    10  | 
| (...skipping 22 matching lines...) Expand all  Loading... | 
|    33 #include "ash/ime/input_method_event_handler.h" |    33 #include "ash/ime/input_method_event_handler.h" | 
|    34 #include "ash/keyboard/keyboard_ui.h" |    34 #include "ash/keyboard/keyboard_ui.h" | 
|    35 #include "ash/keyboard_uma_event_filter.h" |    35 #include "ash/keyboard_uma_event_filter.h" | 
|    36 #include "ash/magnifier/magnification_controller.h" |    36 #include "ash/magnifier/magnification_controller.h" | 
|    37 #include "ash/magnifier/partial_magnification_controller.h" |    37 #include "ash/magnifier/partial_magnification_controller.h" | 
|    38 #include "ash/media_delegate.h" |    38 #include "ash/media_delegate.h" | 
|    39 #include "ash/new_window_delegate.h" |    39 #include "ash/new_window_delegate.h" | 
|    40 #include "ash/root_window_controller.h" |    40 #include "ash/root_window_controller.h" | 
|    41 #include "ash/session/session_state_delegate.h" |    41 #include "ash/session/session_state_delegate.h" | 
|    42 #include "ash/shelf/app_list_shelf_item_delegate.h" |    42 #include "ash/shelf/app_list_shelf_item_delegate.h" | 
 |    43 #include "ash/shelf/shelf.h" | 
|    43 #include "ash/shelf/shelf_delegate.h" |    44 #include "ash/shelf/shelf_delegate.h" | 
|    44 #include "ash/shelf/shelf_item_delegate.h" |    45 #include "ash/shelf/shelf_item_delegate.h" | 
|    45 #include "ash/shelf/shelf_item_delegate_manager.h" |    46 #include "ash/shelf/shelf_item_delegate_manager.h" | 
|    46 #include "ash/shelf/shelf_layout_manager.h" |  | 
|    47 #include "ash/shelf/shelf_model.h" |    47 #include "ash/shelf/shelf_model.h" | 
|    48 #include "ash/shelf/shelf_widget.h" |    48 #include "ash/shelf/shelf_widget.h" | 
|    49 #include "ash/shelf/shelf_window_watcher.h" |    49 #include "ash/shelf/shelf_window_watcher.h" | 
|    50 #include "ash/shell_delegate.h" |    50 #include "ash/shell_delegate.h" | 
|    51 #include "ash/shell_factory.h" |    51 #include "ash/shell_factory.h" | 
|    52 #include "ash/shell_init_params.h" |    52 #include "ash/shell_init_params.h" | 
|    53 #include "ash/shell_window_ids.h" |    53 #include "ash/shell_window_ids.h" | 
|    54 #include "ash/system/locale/locale_notification_controller.h" |    54 #include "ash/system/locale/locale_notification_controller.h" | 
|    55 #include "ash/system/status_area_widget.h" |    55 #include "ash/system/status_area_widget.h" | 
|    56 #include "ash/system/toast/toast_manager.h" |    56 #include "ash/system/toast/toast_manager.h" | 
| (...skipping 447 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|   504 void Shell::UpdateShelfVisibility() { |   504 void Shell::UpdateShelfVisibility() { | 
|   505   RootWindowControllerList controllers = GetAllRootWindowControllers(); |   505   RootWindowControllerList controllers = GetAllRootWindowControllers(); | 
|   506   for (RootWindowControllerList::iterator iter = controllers.begin(); |   506   for (RootWindowControllerList::iterator iter = controllers.begin(); | 
|   507        iter != controllers.end(); ++iter) |   507        iter != controllers.end(); ++iter) | 
|   508     if ((*iter)->shelf()) |   508     if ((*iter)->shelf()) | 
|   509       (*iter)->UpdateShelfVisibility(); |   509       (*iter)->UpdateShelfVisibility(); | 
|   510 } |   510 } | 
|   511  |   511  | 
|   512 void Shell::SetShelfAutoHideBehavior(ShelfAutoHideBehavior behavior, |   512 void Shell::SetShelfAutoHideBehavior(ShelfAutoHideBehavior behavior, | 
|   513                                      aura::Window* root_window) { |   513                                      aura::Window* root_window) { | 
|   514   ShelfWidget* shelf_widget = GetRootWindowController(root_window)->shelf(); |   514   Shelf::ForWindow(root_window)->SetAutoHideBehavior(behavior); | 
|   515   shelf_widget->shelf_layout_manager()->SetAutoHideBehavior(behavior); |  | 
|   516 } |   515 } | 
|   517  |   516  | 
|   518 ShelfAutoHideBehavior Shell::GetShelfAutoHideBehavior( |   517 ShelfAutoHideBehavior Shell::GetShelfAutoHideBehavior( | 
|   519     aura::Window* root_window) const { |   518     aura::Window* root_window) const { | 
|   520   ShelfWidget* shelf_widget = GetRootWindowController(root_window)->shelf(); |   519   return Shelf::ForWindow(root_window)->GetAutoHideBehavior(); | 
|   521   return shelf_widget->shelf_layout_manager()->auto_hide_behavior(); |  | 
|   522 } |   520 } | 
|   523  |   521  | 
|   524 void Shell::SetShelfAlignment(ShelfAlignment alignment, |   522 void Shell::SetShelfAlignment(ShelfAlignment alignment, | 
|   525                               aura::Window* root_window) { |   523                               aura::Window* root_window) { | 
|   526   ShelfWidget* shelf_widget = GetRootWindowController(root_window)->shelf(); |   524   Shelf::ForWindow(root_window)->SetAlignment(alignment); | 
|   527   shelf_widget->shelf_layout_manager()->SetAlignment(alignment); |  | 
|   528 } |   525 } | 
|   529  |   526  | 
|   530 ShelfAlignment Shell::GetShelfAlignment(const aura::Window* root_window) const { |   527 ShelfAlignment Shell::GetShelfAlignment(const aura::Window* root_window) const { | 
|   531   ShelfWidget* shelf_widget = GetRootWindowController(root_window)->shelf(); |   528   return Shelf::ForWindow(root_window)->GetAlignment(); | 
|   532   return shelf_widget->shelf_layout_manager()->GetAlignment(); |  | 
|   533 } |   529 } | 
|   534  |   530  | 
|   535 void Shell::OnShelfAlignmentChanged(aura::Window* root_window) { |   531 void Shell::OnShelfAlignmentChanged(aura::Window* root_window) { | 
|   536   FOR_EACH_OBSERVER(ShellObserver, observers_, |   532   FOR_EACH_OBSERVER(ShellObserver, observers_, | 
|   537                     OnShelfAlignmentChanged(root_window)); |   533                     OnShelfAlignmentChanged(root_window)); | 
|   538 } |   534 } | 
|   539  |   535  | 
 |   536 void Shell::OnShelfAutoHideBehaviorChanged(aura::Window* root_window) { | 
 |   537   FOR_EACH_OBSERVER(ShellObserver, observers_, | 
 |   538                     OnShelfAutoHideBehaviorChanged(root_window)); | 
 |   539 } | 
 |   540  | 
|   540 void Shell::NotifyFullscreenStateChange(bool is_fullscreen, |   541 void Shell::NotifyFullscreenStateChange(bool is_fullscreen, | 
|   541                                         aura::Window* root_window) { |   542                                         aura::Window* root_window) { | 
|   542   FOR_EACH_OBSERVER(ShellObserver, observers_, OnFullscreenStateChanged( |   543   FOR_EACH_OBSERVER(ShellObserver, observers_, OnFullscreenStateChanged( | 
|   543       is_fullscreen, root_window)); |   544       is_fullscreen, root_window)); | 
|   544 } |   545 } | 
|   545  |   546  | 
|   546 void Shell::CreateModalBackground(aura::Window* window) { |   547 void Shell::CreateModalBackground(aura::Window* window) { | 
|   547   if (!modality_filter_) { |   548   if (!modality_filter_) { | 
|   548     modality_filter_.reset(new SystemModalContainerEventFilter(this)); |   549     modality_filter_.reset(new SystemModalContainerEventFilter(this)); | 
|   549     AddPreTargetHandler(modality_filter_.get()); |   550     AddPreTargetHandler(modality_filter_.get()); | 
| (...skipping 30 matching lines...) Expand all  Loading... | 
|   580   ShelfWidget* shelf = GetPrimaryRootWindowController()->shelf(); |   581   ShelfWidget* shelf = GetPrimaryRootWindowController()->shelf(); | 
|   581   return shelf && shelf->status_area_widget(); |   582   return shelf && shelf->status_area_widget(); | 
|   582 } |   583 } | 
|   583  |   584  | 
|   584 SystemTray* Shell::GetPrimarySystemTray() { |   585 SystemTray* Shell::GetPrimarySystemTray() { | 
|   585   return GetPrimaryRootWindowController()->GetSystemTray(); |   586   return GetPrimaryRootWindowController()->GetSystemTray(); | 
|   586 } |   587 } | 
|   587  |   588  | 
|   588 ShelfDelegate* Shell::GetShelfDelegate() { |   589 ShelfDelegate* Shell::GetShelfDelegate() { | 
|   589   if (!shelf_delegate_) { |   590   if (!shelf_delegate_) { | 
|   590     shelf_model_.reset(new ShelfModel); |  | 
|   591     // Creates ShelfItemDelegateManager before ShelfDelegate. |   591     // Creates ShelfItemDelegateManager before ShelfDelegate. | 
|   592     shelf_item_delegate_manager_.reset( |   592     shelf_item_delegate_manager_.reset( | 
|   593         new ShelfItemDelegateManager(shelf_model_.get())); |   593         new ShelfItemDelegateManager(shelf_model_.get())); | 
|   594  |   594  | 
|   595     shelf_delegate_.reset(delegate_->CreateShelfDelegate(shelf_model_.get())); |   595     shelf_delegate_.reset(delegate_->CreateShelfDelegate(shelf_model_.get())); | 
|   596     scoped_ptr<ShelfItemDelegate> controller(new AppListShelfItemDelegate); |   596     scoped_ptr<ShelfItemDelegate> controller(new AppListShelfItemDelegate); | 
|   597  |   597  | 
|   598     // Finding the shelf model's location of the app list and setting its |   598     // Finding the shelf model's location of the app list and setting its | 
|   599     // ShelfItemDelegate. |   599     // ShelfItemDelegate. | 
|   600     int app_list_index = shelf_model_->GetItemIndexForType(TYPE_APP_LIST); |   600     int app_list_index = shelf_model_->GetItemIndexForType(TYPE_APP_LIST); | 
| (...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|   635       DoInitialAnimation(); |   635       DoInitialAnimation(); | 
|   636 } |   636 } | 
|   637  |   637  | 
|   638 //////////////////////////////////////////////////////////////////////////////// |   638 //////////////////////////////////////////////////////////////////////////////// | 
|   639 // Shell, private: |   639 // Shell, private: | 
|   640  |   640  | 
|   641 Shell::Shell(ShellDelegate* delegate, base::SequencedWorkerPool* blocking_pool) |   641 Shell::Shell(ShellDelegate* delegate, base::SequencedWorkerPool* blocking_pool) | 
|   642     : target_root_window_(nullptr), |   642     : target_root_window_(nullptr), | 
|   643       scoped_target_root_window_(nullptr), |   643       scoped_target_root_window_(nullptr), | 
|   644       delegate_(delegate), |   644       delegate_(delegate), | 
 |   645       shelf_model_(new ShelfModel), | 
|   645       window_positioner_(new WindowPositioner), |   646       window_positioner_(new WindowPositioner), | 
|   646       activation_client_(nullptr), |   647       activation_client_(nullptr), | 
|   647 #if defined(OS_CHROMEOS) |   648 #if defined(OS_CHROMEOS) | 
|   648       display_configurator_(new ui::DisplayConfigurator()), |   649       display_configurator_(new ui::DisplayConfigurator()), | 
|   649 #endif  // defined(OS_CHROMEOS) |   650 #endif  // defined(OS_CHROMEOS) | 
|   650       native_cursor_manager_(nullptr), |   651       native_cursor_manager_(nullptr), | 
|   651       simulate_modal_window_open_for_testing_(false), |   652       simulate_modal_window_open_for_testing_(false), | 
|   652       is_touch_hud_projection_enabled_(false), |   653       is_touch_hud_projection_enabled_(false), | 
|   653       blocking_pool_(blocking_pool) { |   654       blocking_pool_(blocking_pool) { | 
|   654   DCHECK(delegate_.get()); |   655   DCHECK(delegate_.get()); | 
| (...skipping 558 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  1213  |  1214  | 
|  1214 void Shell::OnWindowActivated( |  1215 void Shell::OnWindowActivated( | 
|  1215     aura::client::ActivationChangeObserver::ActivationReason reason, |  1216     aura::client::ActivationChangeObserver::ActivationReason reason, | 
|  1216     aura::Window* gained_active, |  1217     aura::Window* gained_active, | 
|  1217     aura::Window* lost_active) { |  1218     aura::Window* lost_active) { | 
|  1218   if (gained_active) |  1219   if (gained_active) | 
|  1219     target_root_window_ = gained_active->GetRootWindow(); |  1220     target_root_window_ = gained_active->GetRootWindow(); | 
|  1220 } |  1221 } | 
|  1221  |  1222  | 
|  1222 }  // namespace ash |  1223 }  // namespace ash | 
| OLD | NEW |