summaryrefslogtreecommitdiffstats
path: root/ui/aura/root_window.h
diff options
context:
space:
mode:
authorben@chromium.org <ben@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-10-04 20:18:55 +0000
committerben@chromium.org <ben@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-10-04 20:18:55 +0000
commit526f69b0d351859d4320544e478046edba412cdc (patch)
tree1870bf39e6b0b266f07ddfa7831bd0becaebb065 /ui/aura/root_window.h
parent1f2d9ed1db3f8f50cc4773515c55c8a9b9a9166e (diff)
downloadchromium_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.h14
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);