From 5097e69c0a342fddf6b6d8f143058f14185a6fb8 Mon Sep 17 00:00:00 2001 From: "ananta@chromium.org" Date: Tue, 30 Oct 2012 22:08:41 +0000 Subject: Relanding the EventTarget fixes for Aura (Ash) as the previous attempt was reverted due to interactive test failures on the linux_chromeos builder. Disabled the failing BookmarkBarViewTest8.DNDBackToOriginatingMenu test on AURA for now and logged a bug http://code.google.com/p/chromium/issues/detail?id=158564&thanks=158564 to track this. Will work on that in a subsequent change. Register a separate default ui::EventTarget for Aura (Ash) to ensure that it does not interfere with the event handling in desktop chrome in Aura. On Windows 8 in chrome metro mode we have a desktop chrome process which runs as a server to the viewer process in Metro. Reusing the default EventTarget across both environments causes desktop chrome to crash as a number of EventFilters registered on the default EventTarget get called twice. The Ash specific EventTarget is implemented by the Ash::Shell class. The RootWindow in its GetParentTarget implementation delegates this call to the EventClient implementation if one exists and if not it returns the default Aura::Env interface. The EventClient interface is implemented by Ash and has been updated to return the default EventTarget via the new method GetToplevelEventTarget Fixes bug http://code.google.com/p/chromium/issues/detail?id=158105 BUG=158105 R=ben Review URL: https://codereview.chromium.org/11273098 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@165026 0039d316-1c4b-4281-b951-d872f2087c98 --- ui/aura/root_window_unittest.cc | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'ui/aura/root_window_unittest.cc') diff --git a/ui/aura/root_window_unittest.cc b/ui/aura/root_window_unittest.cc index 20e7cbb..460e4cc 100644 --- a/ui/aura/root_window_unittest.cc +++ b/ui/aura/root_window_unittest.cc @@ -336,6 +336,10 @@ class TestEventClient : public client::EventClient { return lock_ ? GetLockWindow()->Contains(window) : true; } + virtual ui::EventTarget* GetToplevelEventTarget() OVERRIDE { + return NULL; + } + RootWindow* root_window_; bool lock_; -- cgit v1.1