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

Side by Side Diff: ash/shell.cc

Issue 2311393004: Laser tool blocks events from propagating. (Closed)
Patch Set: Fixed patch set 5 errors. Created 4 years, 3 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) 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 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
46 #include "ash/display/event_transformation_handler.h" 46 #include "ash/display/event_transformation_handler.h"
47 #include "ash/display/mouse_cursor_event_filter.h" 47 #include "ash/display/mouse_cursor_event_filter.h"
48 #include "ash/display/screen_ash.h" 48 #include "ash/display/screen_ash.h"
49 #include "ash/display/screen_position_controller.h" 49 #include "ash/display/screen_position_controller.h"
50 #include "ash/display/window_tree_host_manager.h" 50 #include "ash/display/window_tree_host_manager.h"
51 #include "ash/drag_drop/drag_drop_controller.h" 51 #include "ash/drag_drop/drag_drop_controller.h"
52 #include "ash/first_run/first_run_helper_impl.h" 52 #include "ash/first_run/first_run_helper_impl.h"
53 #include "ash/high_contrast/high_contrast_controller.h" 53 #include "ash/high_contrast/high_contrast_controller.h"
54 #include "ash/host/ash_window_tree_host_init_params.h" 54 #include "ash/host/ash_window_tree_host_init_params.h"
55 #include "ash/ime/input_method_event_handler.h" 55 #include "ash/ime/input_method_event_handler.h"
56 #include "ash/laser/laser_pointer_controller.h"
56 #include "ash/magnifier/magnification_controller.h" 57 #include "ash/magnifier/magnification_controller.h"
57 #include "ash/magnifier/partial_magnification_controller.h" 58 #include "ash/magnifier/partial_magnification_controller.h"
58 #include "ash/root_window_controller.h" 59 #include "ash/root_window_controller.h"
59 #include "ash/shell_init_params.h" 60 #include "ash/shell_init_params.h"
60 #include "ash/system/chromeos/screen_layout_observer.h" 61 #include "ash/system/chromeos/screen_layout_observer.h"
61 #include "ash/utility/screenshot_controller.h" 62 #include "ash/utility/screenshot_controller.h"
62 #include "ash/wm/ash_focus_rules.h" 63 #include "ash/wm/ash_focus_rules.h"
63 #include "ash/wm/ash_native_cursor_manager.h" 64 #include "ash/wm/ash_native_cursor_manager.h"
64 #include "ash/wm/event_client_impl.h" 65 #include "ash/wm/event_client_impl.h"
65 #include "ash/wm/immersive_handler_factory_ash.h" 66 #include "ash/wm/immersive_handler_factory_ash.h"
(...skipping 466 matching lines...) Expand 10 before | Expand all | Expand 10 after
532 window_tree_host_manager_->CloseChildWindows(); 533 window_tree_host_manager_->CloseChildWindows();
533 // MruWindowTracker must be destroyed after all windows have been deleted to 534 // MruWindowTracker must be destroyed after all windows have been deleted to
534 // avoid a possible crash when Shell is destroyed from a non-normal shutdown 535 // avoid a possible crash when Shell is destroyed from a non-normal shutdown
535 // path. (crbug.com/485438). 536 // path. (crbug.com/485438).
536 wm_shell_->DeleteMruWindowTracker(); 537 wm_shell_->DeleteMruWindowTracker();
537 538
538 // These need a valid Shell instance to clean up properly, so explicitly 539 // These need a valid Shell instance to clean up properly, so explicitly
539 // delete them before invalidating the instance. 540 // delete them before invalidating the instance.
540 // Alphabetical. TODO(oshima): sort. 541 // Alphabetical. TODO(oshima): sort.
541 magnification_controller_.reset(); 542 magnification_controller_.reset();
542 partial_magnification_controller_.reset();
543 tooltip_controller_.reset(); 543 tooltip_controller_.reset();
544 event_client_.reset(); 544 event_client_.reset();
545 toplevel_window_event_handler_.reset(); 545 toplevel_window_event_handler_.reset();
546 visibility_controller_.reset(); 546 visibility_controller_.reset();
547 547
548 power_button_controller_.reset(); 548 power_button_controller_.reset();
549 lock_state_controller_.reset(); 549 lock_state_controller_.reset();
550 550
551 screen_pinning_controller_.reset(); 551 screen_pinning_controller_.reset();
552 552
553 #if defined(OS_CHROMEOS) 553 #if defined(OS_CHROMEOS)
554 resolution_notification_controller_.reset(); 554 resolution_notification_controller_.reset();
555 #endif 555 #endif
556 screenshot_controller_.reset(); 556 screenshot_controller_.reset();
557 mouse_cursor_filter_.reset(); 557 mouse_cursor_filter_.reset();
558 modality_filter_.reset(); 558 modality_filter_.reset();
559 559
560 #if defined(OS_CHROMEOS) 560 #if defined(OS_CHROMEOS)
561 touch_transformer_controller_.reset(); 561 touch_transformer_controller_.reset();
562 stylus_metrics_recorder_.reset(); 562 stylus_metrics_recorder_.reset();
563 audio_a11y_controller_.reset(); 563 audio_a11y_controller_.reset();
564 laser_pointer_controller_.reset();
565 partial_magnification_controller_.reset();
564 #endif // defined(OS_CHROMEOS) 566 #endif // defined(OS_CHROMEOS)
565 567
566 // This also deletes all RootWindows. Note that we invoke Shutdown() on 568 // This also deletes all RootWindows. Note that we invoke Shutdown() on
567 // WindowTreeHostManager before resetting |window_tree_host_manager_|, since 569 // WindowTreeHostManager before resetting |window_tree_host_manager_|, since
568 // destruction 570 // destruction
569 // of its owned RootWindowControllers relies on the value. 571 // of its owned RootWindowControllers relies on the value.
570 ScreenAsh::CreateScreenForShutdown(); 572 ScreenAsh::CreateScreenForShutdown();
571 display_configuration_controller_.reset(); 573 display_configuration_controller_.reset();
572 574
573 wm_shell_->Shutdown(); 575 wm_shell_->Shutdown();
(...skipping 202 matching lines...) Expand 10 before | Expand all | Expand 10 after
776 // before events are consumed elsewhere. 778 // before events are consumed elsewhere.
777 stylus_metrics_recorder_.reset(new StylusMetricsRecorder()); 779 stylus_metrics_recorder_.reset(new StylusMetricsRecorder());
778 PrependPreTargetHandler(stylus_metrics_recorder_.get()); 780 PrependPreTargetHandler(stylus_metrics_recorder_.get());
779 #endif 781 #endif
780 782
781 // Create Controllers that may need root window. 783 // Create Controllers that may need root window.
782 // TODO(oshima): Move as many controllers before creating 784 // TODO(oshima): Move as many controllers before creating
783 // RootWindowController as possible. 785 // RootWindowController as possible.
784 visibility_controller_.reset(new AshVisibilityController); 786 visibility_controller_.reset(new AshVisibilityController);
785 787
788 #if defined(OS_CHROMEOS)
789 laser_pointer_controller_.reset(new LaserPointerController());
jdufault 2016/09/16 19:58:41 We should try to keep the init order the same rela
sammiequon 2016/09/16 20:37:40 Done.
790 #endif
791
786 magnification_controller_.reset(MagnificationController::CreateInstance()); 792 magnification_controller_.reset(MagnificationController::CreateInstance());
787 wm_shell_->CreateMruWindowTracker(); 793 wm_shell_->CreateMruWindowTracker();
788 794
795 #if defined(OS_CHROMEOS)
789 partial_magnification_controller_.reset(new PartialMagnificationController()); 796 partial_magnification_controller_.reset(new PartialMagnificationController());
797 #endif
790 798
791 autoclick_controller_.reset(AutoclickController::CreateInstance()); 799 autoclick_controller_.reset(AutoclickController::CreateInstance());
792 800
793 high_contrast_controller_.reset(new HighContrastController); 801 high_contrast_controller_.reset(new HighContrastController);
794 video_detector_.reset(new VideoDetector); 802 video_detector_.reset(new VideoDetector);
795 803
796 tooltip_controller_.reset(new views::corewm::TooltipController( 804 tooltip_controller_.reset(new views::corewm::TooltipController(
797 std::unique_ptr<views::corewm::Tooltip>(new views::corewm::TooltipAura))); 805 std::unique_ptr<views::corewm::Tooltip>(new views::corewm::TooltipAura)));
798 AddPreTargetHandler(tooltip_controller_.get()); 806 AddPreTargetHandler(tooltip_controller_.get());
799 807
(...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after
931 std::unique_ptr<ui::EventTargetIterator> Shell::GetChildIterator() const { 939 std::unique_ptr<ui::EventTargetIterator> Shell::GetChildIterator() const {
932 return std::unique_ptr<ui::EventTargetIterator>(); 940 return std::unique_ptr<ui::EventTargetIterator>();
933 } 941 }
934 942
935 ui::EventTargeter* Shell::GetEventTargeter() { 943 ui::EventTargeter* Shell::GetEventTargeter() {
936 NOTREACHED(); 944 NOTREACHED();
937 return nullptr; 945 return nullptr;
938 } 946 }
939 947
940 } // namespace ash 948 } // namespace ash
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698