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

Unified Diff: ui/views/focus/focus_manager_test.h

Issue 10562025: aura: Fix WidgetFocusChangeListener::OnNativeFocusChange(). (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: merge again Created 8 years, 6 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 side-by-side diff with in-line comments
Download patch
Index: ui/views/focus/focus_manager_test.h
diff --git a/ui/views/focus/focus_manager_test.h b/ui/views/focus/focus_manager_test.h
index 188ad237270b06ec779bb9e48266ee262976ae4e..346d1f1607be4ef982ef738102b51808df0411cd 100644
--- a/ui/views/focus/focus_manager_test.h
+++ b/ui/views/focus/focus_manager_test.h
@@ -6,6 +6,7 @@
#define UI_VIEWS_FOCUS_FOCUS_MANAGER_TEST_H_
#include "ui/views/focus/focus_manager.h"
+#include "ui/views/focus/widget_focus_manager.h"
#include "ui/views/test/views_test_base.h"
#include "ui/views/widget/widget_delegate.h"
@@ -37,6 +38,7 @@ class FocusManagerTest : public ViewsTestBase,
virtual void InitContentView();
void AddFocusChangeListener(FocusChangeListener* listener);
+ void AddWidgetFocusChangeListener(WidgetFocusChangeListener* listener);
#if defined(OS_WIN) && !defined(USE_AURA)
// Mocks activating/deactivating the window.
@@ -50,6 +52,7 @@ class FocusManagerTest : public ViewsTestBase,
private:
View* contents_view_;
FocusChangeListener* focus_change_listener_;
+ WidgetFocusChangeListener* widget_focus_change_listener_;
DISALLOW_COPY_AND_ASSIGN(FocusManagerTest);
};
@@ -78,6 +81,31 @@ class TestFocusChangeListener : public FocusChangeListener {
DISALLOW_COPY_AND_ASSIGN(TestFocusChangeListener);
};
+typedef std::pair<gfx::NativeView, gfx::NativeView> NativeViewPair;
+
+// Use to record widget focus change notifications.
+class TestWidgetFocusChangeListener : public WidgetFocusChangeListener {
+ public:
+ TestWidgetFocusChangeListener();
+ virtual ~TestWidgetFocusChangeListener();
+
+ const std::vector<NativeViewPair>& focus_changes() const {
+ return focus_changes_;
+ }
+ void ClearFocusChanges();
+
+ // Overridden from WidgetFocusChangeListener:
+ virtual void OnNativeFocusChange(gfx::NativeView focused_before,
+ gfx::NativeView focused_now) OVERRIDE;
+
+ private:
+ // Pairs of (focused_before, focused_now) parameters we've received via calls
+ // to OnNativeFocusChange(), in oldest-to-newest-received order.
+ std::vector<NativeViewPair> focus_changes_;
+
+ DISALLOW_COPY_AND_ASSIGN(TestWidgetFocusChangeListener);
+};
+
} // namespace views
#endif // UI_VIEWS_FOCUS_FOCUS_MANAGER_TEST_H_

Powered by Google App Engine
This is Rietveld 408576698