diff options
author | ben@chromium.org <ben@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-10-04 20:18:55 +0000 |
---|---|---|
committer | ben@chromium.org <ben@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-10-04 20:18:55 +0000 |
commit | 526f69b0d351859d4320544e478046edba412cdc (patch) | |
tree | 1870bf39e6b0b266f07ddfa7831bd0becaebb065 /ui/aura/root_window.h | |
parent | 1f2d9ed1db3f8f50cc4773515c55c8a9b9a9166e (diff) | |
download | chromium_src-526f69b0d351859d4320544e478046edba412cdc.zip chromium_src-526f69b0d351859d4320544e478046edba412cdc.tar.gz chromium_src-526f69b0d351859d4320544e478046edba412cdc.tar.bz2 |
Gets rid of the FocusManager as a concrete object, changes it to an interface that RootWindow implements.RootWindow is already the center of our event tracking/targeting anyway.BUG=noneTEST=existing
Review URL: http://codereview.chromium.org/8142003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@103973 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ui/aura/root_window.h')
-rw-r--r-- | ui/aura/root_window.h | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/ui/aura/root_window.h b/ui/aura/root_window.h index 82c0534..8c92c5d 100644 --- a/ui/aura/root_window.h +++ b/ui/aura/root_window.h @@ -6,6 +6,7 @@ #define UI_AURA_ROOT_WINDOW_H_ #pragma once +#include "ui/aura/focus_manager.h" #include "ui/aura/window.h" namespace aura { @@ -14,11 +15,10 @@ class MouseEvent; namespace internal { -class FocusManager; - // A Window subclass that handles event targeting for certain types of // MouseEvent. -class RootWindow : public Window { +class RootWindow : public Window, + public FocusManager { public: RootWindow(); virtual ~RootWindow(); @@ -45,11 +45,13 @@ class RootWindow : public Window { // Current handler for mouse events. Window* mouse_pressed_handler() { return mouse_pressed_handler_; } - // Overridden from Window: - virtual FocusManager* GetFocusManager() OVERRIDE; + // Overridden from FocusManager: + virtual void SetFocusedWindow(Window* window) OVERRIDE; + virtual Window* GetFocusedWindow() OVERRIDE; protected: // Overridden from Window: + virtual internal::FocusManager* GetFocusManager() OVERRIDE; virtual internal::RootWindow* GetRoot() OVERRIDE; private: @@ -59,7 +61,7 @@ class RootWindow : public Window { Window* mouse_pressed_handler_; Window* mouse_moved_handler_; - scoped_ptr<FocusManager> focus_manager_; + Window* focused_window_; Window* capture_window_; DISALLOW_COPY_AND_ASSIGN(RootWindow); |