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

Side by Side Diff: ui/views/widget/desktop_aura/desktop_root_window_host_x11.cc

Issue 23874013: Remove old activation code and disable-focus-controller flags (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 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 | 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 "ui/views/widget/desktop_aura/desktop_root_window_host_x11.h" 5 #include "ui/views/widget/desktop_aura/desktop_root_window_host_x11.h"
6 6
7 #include <X11/extensions/shape.h> 7 #include <X11/extensions/shape.h>
8 #include <X11/extensions/XInput2.h> 8 #include <X11/extensions/XInput2.h>
9 #include <X11/Xatom.h> 9 #include <X11/Xatom.h>
10 #include <X11/Xregion.h> 10 #include <X11/Xregion.h>
(...skipping 14 matching lines...) Expand all
25 #include "ui/base/x/x11_util.h" 25 #include "ui/base/x/x11_util.h"
26 #include "ui/gfx/insets.h" 26 #include "ui/gfx/insets.h"
27 #include "ui/gfx/path_x11.h" 27 #include "ui/gfx/path_x11.h"
28 #include "ui/linux_ui/linux_ui.h" 28 #include "ui/linux_ui/linux_ui.h"
29 #include "ui/native_theme/native_theme.h" 29 #include "ui/native_theme/native_theme.h"
30 #include "ui/views/corewm/compound_event_filter.h" 30 #include "ui/views/corewm/compound_event_filter.h"
31 #include "ui/views/corewm/corewm_switches.h" 31 #include "ui/views/corewm/corewm_switches.h"
32 #include "ui/views/corewm/cursor_manager.h" 32 #include "ui/views/corewm/cursor_manager.h"
33 #include "ui/views/corewm/focus_controller.h" 33 #include "ui/views/corewm/focus_controller.h"
34 #include "ui/views/ime/input_method.h" 34 #include "ui/views/ime/input_method.h"
35 #include "ui/views/widget/desktop_aura/desktop_activation_client.h"
36 #include "ui/views/widget/desktop_aura/desktop_cursor_loader_updater_aurax11.h" 35 #include "ui/views/widget/desktop_aura/desktop_cursor_loader_updater_aurax11.h"
37 #include "ui/views/widget/desktop_aura/desktop_dispatcher_client.h" 36 #include "ui/views/widget/desktop_aura/desktop_dispatcher_client.h"
38 #include "ui/views/widget/desktop_aura/desktop_drag_drop_client_aurax11.h" 37 #include "ui/views/widget/desktop_aura/desktop_drag_drop_client_aurax11.h"
39 #include "ui/views/widget/desktop_aura/desktop_focus_rules.h" 38 #include "ui/views/widget/desktop_aura/desktop_focus_rules.h"
40 #include "ui/views/widget/desktop_aura/desktop_layout_manager.h" 39 #include "ui/views/widget/desktop_aura/desktop_layout_manager.h"
41 #include "ui/views/widget/desktop_aura/desktop_native_cursor_manager.h" 40 #include "ui/views/widget/desktop_aura/desktop_native_cursor_manager.h"
42 #include "ui/views/widget/desktop_aura/desktop_native_widget_aura.h" 41 #include "ui/views/widget/desktop_aura/desktop_native_widget_aura.h"
43 #include "ui/views/widget/desktop_aura/desktop_root_window_host_observer_x11.h" 42 #include "ui/views/widget/desktop_aura/desktop_root_window_host_observer_x11.h"
44 #include "ui/views/widget/desktop_aura/desktop_screen_position_client.h" 43 #include "ui/views/widget/desktop_aura/desktop_screen_position_client.h"
45 #include "ui/views/widget/desktop_aura/x11_desktop_handler.h" 44 #include "ui/views/widget/desktop_aura/x11_desktop_handler.h"
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after
121 atom_cache_(xdisplay_, kAtomsToCache), 120 atom_cache_(xdisplay_, kAtomsToCache),
122 window_mapped_(false), 121 window_mapped_(false),
123 focus_when_shown_(false), 122 focus_when_shown_(false),
124 current_cursor_(ui::kCursorNull), 123 current_cursor_(ui::kCursorNull),
125 native_widget_delegate_(native_widget_delegate), 124 native_widget_delegate_(native_widget_delegate),
126 desktop_native_widget_aura_(desktop_native_widget_aura) { 125 desktop_native_widget_aura_(desktop_native_widget_aura) {
127 } 126 }
128 127
129 DesktopRootWindowHostX11::~DesktopRootWindowHostX11() { 128 DesktopRootWindowHostX11::~DesktopRootWindowHostX11() {
130 root_window_->ClearProperty(kHostForRootWindow); 129 root_window_->ClearProperty(kHostForRootWindow);
131 if (corewm::UseFocusControllerOnDesktop()) { 130 aura::client::SetFocusClient(root_window_, NULL);
132 aura::client::SetFocusClient(root_window_, NULL); 131 aura::client::SetActivationClient(root_window_, NULL);
133 aura::client::SetActivationClient(root_window_, NULL);
134 }
135 } 132 }
136 133
137 // static 134 // static
138 aura::Window* DesktopRootWindowHostX11::GetContentWindowForXID(XID xid) { 135 aura::Window* DesktopRootWindowHostX11::GetContentWindowForXID(XID xid) {
139 aura::RootWindow* root = aura::RootWindow::GetForAcceleratedWidget(xid); 136 aura::RootWindow* root = aura::RootWindow::GetForAcceleratedWidget(xid);
140 return root ? root->GetProperty(kViewsWindowForRootWindow) : NULL; 137 return root ? root->GetProperty(kViewsWindowForRootWindow) : NULL;
141 } 138 }
142 139
143 // static 140 // static
144 DesktopRootWindowHostX11* DesktopRootWindowHostX11::GetHostForXID(XID xid) { 141 DesktopRootWindowHostX11* DesktopRootWindowHostX11::GetHostForXID(XID xid) {
(...skipping 744 matching lines...) Expand 10 before | Expand all | Expand 10 after
889 parent->AddTransientChild(content_window_); 886 parent->AddTransientChild(content_window_);
890 887
891 native_widget_delegate_->OnNativeWidgetCreated(true); 888 native_widget_delegate_->OnNativeWidgetCreated(true);
892 889
893 desktop_native_widget_aura_->CreateCaptureClient(root_window_); 890 desktop_native_widget_aura_->CreateCaptureClient(root_window_);
894 891
895 // Ensure that the X11DesktopHandler exists so that it dispatches activation 892 // Ensure that the X11DesktopHandler exists so that it dispatches activation
896 // messages to us. 893 // messages to us.
897 X11DesktopHandler::get(); 894 X11DesktopHandler::get();
898 895
899 if (corewm::UseFocusControllerOnDesktop()) { 896 corewm::FocusController* focus_controller =
900 corewm::FocusController* focus_controller = 897 new corewm::FocusController(new DesktopFocusRules);
901 new corewm::FocusController(new DesktopFocusRules); 898 focus_client_.reset(focus_controller);
902 focus_client_.reset(focus_controller); 899 aura::client::SetFocusClient(root_window_, focus_controller);
903 aura::client::SetFocusClient(root_window_, focus_controller); 900 aura::client::SetActivationClient(root_window_, focus_controller);
904 aura::client::SetActivationClient(root_window_, focus_controller); 901 root_window_->AddPreTargetHandler(focus_controller);
905 root_window_->AddPreTargetHandler(focus_controller);
906 } else {
907 focus_client_.reset(new aura::FocusManager);
908 aura::client::SetFocusClient(root_window_, focus_client_.get());
909 activation_client_.reset(new DesktopActivationClient(root_window_));
910 }
911 902
912 dispatcher_client_.reset(new DesktopDispatcherClient); 903 dispatcher_client_.reset(new DesktopDispatcherClient);
913 aura::client::SetDispatcherClient(root_window_, 904 aura::client::SetDispatcherClient(root_window_,
914 dispatcher_client_.get()); 905 dispatcher_client_.get());
915 906
916 views::DesktopNativeCursorManager* desktop_native_cursor_manager = 907 views::DesktopNativeCursorManager* desktop_native_cursor_manager =
917 new views::DesktopNativeCursorManager( 908 new views::DesktopNativeCursorManager(
918 root_window_, 909 root_window_,
919 scoped_ptr<DesktopCursorLoaderUpdater>( 910 scoped_ptr<DesktopCursorLoaderUpdater>(
920 new DesktopCursorLoaderUpdaterAuraX11)); 911 new DesktopCursorLoaderUpdaterAuraX11));
921 cursor_client_.reset( 912 cursor_client_.reset(
922 new views::corewm::CursorManager( 913 new views::corewm::CursorManager(
923 scoped_ptr<corewm::NativeCursorManager>( 914 scoped_ptr<corewm::NativeCursorManager>(
924 desktop_native_cursor_manager))); 915 desktop_native_cursor_manager)));
925 aura::client::SetCursorClient(root_window_, 916 aura::client::SetCursorClient(root_window_,
926 cursor_client_.get()); 917 cursor_client_.get());
927 918
928 position_client_.reset(new DesktopScreenPositionClient); 919 position_client_.reset(new DesktopScreenPositionClient);
929 aura::client::SetScreenPositionClient(root_window_, 920 aura::client::SetScreenPositionClient(root_window_,
930 position_client_.get()); 921 position_client_.get());
931 922
932 desktop_native_widget_aura_->InstallInputMethodEventFilter(root_window_); 923 desktop_native_widget_aura_->InstallInputMethodEventFilter(root_window_);
933 924
934 drag_drop_client_.reset(new DesktopDragDropClientAuraX11( 925 drag_drop_client_.reset(new DesktopDragDropClientAuraX11(
935 root_window_, desktop_native_cursor_manager, xdisplay_, xwindow_)); 926 root_window_, desktop_native_cursor_manager, xdisplay_, xwindow_));
936 aura::client::SetDragDropClient(root_window_, drag_drop_client_.get()); 927 aura::client::SetDragDropClient(root_window_, drag_drop_client_.get());
937 928
938 // TODO(erg): Unify this code once the other consumer goes away. 929 // TODO(erg): Unify this code once the other consumer goes away.
939 x11_window_event_filter_.reset( 930 x11_window_event_filter_.reset(new X11WindowEventFilter(root_window_));
940 new X11WindowEventFilter(root_window_, activation_client_.get()));
941 x11_window_event_filter_->SetUseHostWindowBorders(false); 931 x11_window_event_filter_->SetUseHostWindowBorders(false);
942 desktop_native_widget_aura_->root_window_event_filter()->AddHandler( 932 desktop_native_widget_aura_->root_window_event_filter()->AddHandler(
943 x11_window_event_filter_.get()); 933 x11_window_event_filter_.get());
944 934
945 x11_window_move_client_.reset(new X11DesktopWindowMoveClient); 935 x11_window_move_client_.reset(new X11DesktopWindowMoveClient);
946 aura::client::SetWindowMoveClient(root_window_, 936 aura::client::SetWindowMoveClient(root_window_,
947 x11_window_move_client_.get()); 937 x11_window_move_client_.get());
948 938
949 focus_client_->FocusWindow(content_window_); 939 focus_client_->FocusWindow(content_window_);
950 return root_window_; 940 return root_window_;
(...skipping 385 matching lines...) Expand 10 before | Expand all | Expand 10 after
1336 if (linux_ui) { 1326 if (linux_ui) {
1337 ui::NativeTheme* native_theme = linux_ui->GetNativeTheme(); 1327 ui::NativeTheme* native_theme = linux_ui->GetNativeTheme();
1338 if (native_theme) 1328 if (native_theme)
1339 return native_theme; 1329 return native_theme;
1340 } 1330 }
1341 1331
1342 return ui::NativeTheme::instance(); 1332 return ui::NativeTheme::instance();
1343 } 1333 }
1344 1334
1345 } // namespace views 1335 } // namespace views
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698