| Index: ui/aura/root_window_host_x11_unittest.cc
|
| diff --git a/ui/aura/root_window_host_x11_unittest.cc b/ui/aura/root_window_host_x11_unittest.cc
|
| deleted file mode 100644
|
| index 4efb8fd4630ce38780cf90f1de1e1ad84378be6c..0000000000000000000000000000000000000000
|
| --- a/ui/aura/root_window_host_x11_unittest.cc
|
| +++ /dev/null
|
| @@ -1,272 +0,0 @@
|
| -// Copyright 2013 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -
|
| -#include "base/sys_info.h"
|
| -#include "testing/gtest/include/gtest/gtest.h"
|
| -#include "ui/aura/root_window.h"
|
| -#include "ui/aura/root_window_host_x11.h"
|
| -#include "ui/aura/test/aura_test_base.h"
|
| -#include "ui/aura/window_tree_host_delegate.h"
|
| -#include "ui/events/event_processor.h"
|
| -#include "ui/events/event_target.h"
|
| -#include "ui/events/event_target_iterator.h"
|
| -#include "ui/events/test/events_test_utils_x11.h"
|
| -
|
| -namespace {
|
| -class TestWindowTreeHostDelegate : public aura::WindowTreeHostDelegate,
|
| - public ui::EventProcessor,
|
| - public ui::EventTarget {
|
| - public:
|
| - TestWindowTreeHostDelegate() : last_touch_type_(ui::ET_UNKNOWN),
|
| - last_touch_id_(-1),
|
| - last_touch_location_(0, 0) {
|
| - }
|
| - virtual ~TestWindowTreeHostDelegate() {}
|
| -
|
| - // aura::WindowTreeHostDelegate:
|
| - virtual void OnHostCancelMode() OVERRIDE {}
|
| - virtual void OnHostActivated() OVERRIDE {}
|
| - virtual void OnHostLostWindowCapture() OVERRIDE {}
|
| - virtual void OnHostLostMouseGrab() OVERRIDE {}
|
| - virtual void OnHostMoved(const gfx::Point& origin) OVERRIDE {}
|
| - virtual void OnHostResized(const gfx::Size& size) OVERRIDE {}
|
| - virtual aura::RootWindow* AsRootWindow() OVERRIDE { return NULL; }
|
| - virtual const aura::RootWindow* AsRootWindow() const OVERRIDE { return NULL; }
|
| - virtual ui::EventProcessor* GetEventProcessor() OVERRIDE {
|
| - return this;
|
| - }
|
| -
|
| - // ui::EventProcessor:
|
| - virtual ui::EventTarget* GetRootTarget() OVERRIDE { return this; }
|
| - virtual bool CanDispatchToTarget(ui::EventTarget* target) OVERRIDE {
|
| - return true;
|
| - }
|
| -
|
| - // ui::EventHandler:
|
| - virtual void OnTouchEvent(ui::TouchEvent* event) OVERRIDE {
|
| - last_touch_id_ = event->touch_id();
|
| - last_touch_type_ = event->type();
|
| - last_touch_location_ = event->location();
|
| - }
|
| -
|
| - // ui::EventTarget:
|
| - virtual bool CanAcceptEvent(const ui::Event& event) OVERRIDE {
|
| - return true;
|
| - }
|
| - virtual ui::EventTarget* GetParentTarget() OVERRIDE { return NULL; }
|
| - virtual scoped_ptr<ui::EventTargetIterator>
|
| - GetChildIterator() const OVERRIDE {
|
| - return scoped_ptr<ui::EventTargetIterator>();
|
| - }
|
| - virtual ui::EventTargeter* GetEventTargeter() OVERRIDE { return &targeter_; }
|
| -
|
| - ui::EventType last_touch_type() {
|
| - return last_touch_type_;
|
| - }
|
| -
|
| - int last_touch_id() {
|
| - return last_touch_id_;
|
| - }
|
| -
|
| - gfx::Point last_touch_location() {
|
| - return last_touch_location_;
|
| - }
|
| -
|
| - private:
|
| - ui::EventType last_touch_type_;
|
| - int last_touch_id_;
|
| - gfx::Point last_touch_location_;
|
| - ui::EventTargeter targeter_;
|
| -
|
| - DISALLOW_COPY_AND_ASSIGN(TestWindowTreeHostDelegate);
|
| -};
|
| -
|
| -} // namespace
|
| -
|
| -namespace aura {
|
| -
|
| -typedef test::AuraTestBase WindowTreeHostX11Test;
|
| -
|
| -// Send X touch events to one WindowTreeHost. The WindowTreeHost's
|
| -// delegate will get corresponding ui::TouchEvent if the touch events
|
| -// are winthin the bound of the WindowTreeHost.
|
| -TEST_F(WindowTreeHostX11Test, DispatchTouchEventToOneRootWindow) {
|
| -#if defined(OS_CHROMEOS)
|
| - // Fake a ChromeOS running env.
|
| - const char* kLsbRelease = "CHROMEOS_RELEASE_NAME=Chromium OS\n";
|
| - base::SysInfo::SetChromeOSVersionInfoForTest(kLsbRelease, base::Time());
|
| -#endif // defined(OS_CHROMEOS)
|
| -
|
| - scoped_ptr<WindowTreeHostX11> root_window_host(
|
| - new WindowTreeHostX11(gfx::Rect(0, 0, 2560, 1700)));
|
| - scoped_ptr<TestWindowTreeHostDelegate> delegate(
|
| - new TestWindowTreeHostDelegate());
|
| - root_window_host->set_delegate(delegate.get());
|
| -
|
| - std::vector<unsigned int> devices;
|
| - devices.push_back(0);
|
| - ui::SetUpTouchDevicesForTest(devices);
|
| - std::vector<ui::Valuator> valuators;
|
| -
|
| - EXPECT_EQ(ui::ET_UNKNOWN, delegate->last_touch_type());
|
| - EXPECT_EQ(-1, delegate->last_touch_id());
|
| -
|
| - ui::ScopedXI2Event scoped_xevent;
|
| -#if defined(OS_CHROMEOS)
|
| - // This touch is out of bounds.
|
| - scoped_xevent.InitTouchEvent(
|
| - 0, XI_TouchBegin, 5, gfx::Point(1500, 2500), valuators);
|
| - root_window_host->Dispatch(scoped_xevent);
|
| - EXPECT_EQ(ui::ET_UNKNOWN, delegate->last_touch_type());
|
| - EXPECT_EQ(-1, delegate->last_touch_id());
|
| - EXPECT_EQ(gfx::Point(0, 0), delegate->last_touch_location());
|
| -#endif // defined(OS_CHROMEOS)
|
| -
|
| - // Following touchs are within bounds and are passed to delegate.
|
| - scoped_xevent.InitTouchEvent(
|
| - 0, XI_TouchBegin, 5, gfx::Point(1500, 1500), valuators);
|
| - root_window_host->Dispatch(scoped_xevent);
|
| - EXPECT_EQ(ui::ET_TOUCH_PRESSED, delegate->last_touch_type());
|
| - EXPECT_EQ(0, delegate->last_touch_id());
|
| - EXPECT_EQ(gfx::Point(1500, 1500), delegate->last_touch_location());
|
| -
|
| - scoped_xevent.InitTouchEvent(
|
| - 0, XI_TouchUpdate, 5, gfx::Point(1500, 1600), valuators);
|
| - root_window_host->Dispatch(scoped_xevent);
|
| - EXPECT_EQ(ui::ET_TOUCH_MOVED, delegate->last_touch_type());
|
| - EXPECT_EQ(0, delegate->last_touch_id());
|
| - EXPECT_EQ(gfx::Point(1500, 1600), delegate->last_touch_location());
|
| -
|
| - scoped_xevent.InitTouchEvent(
|
| - 0, XI_TouchEnd, 5, gfx::Point(1500, 1600), valuators);
|
| - root_window_host->Dispatch(scoped_xevent);
|
| - EXPECT_EQ(ui::ET_TOUCH_RELEASED, delegate->last_touch_type());
|
| - EXPECT_EQ(0, delegate->last_touch_id());
|
| - EXPECT_EQ(gfx::Point(1500, 1600), delegate->last_touch_location());
|
| -
|
| - // Revert the CrOS testing env otherwise the following non-CrOS aura
|
| - // tests will fail.
|
| -#if defined(OS_CHROMEOS)
|
| - // Fake a ChromeOS running env.
|
| - kLsbRelease = "";
|
| - base::SysInfo::SetChromeOSVersionInfoForTest(kLsbRelease, base::Time());
|
| -#endif // defined(OS_CHROMEOS)
|
| -}
|
| -
|
| -// Send X touch events to two WindowTreeHost. The WindowTreeHost which is
|
| -// the event target of the X touch events should generate the corresponding
|
| -// ui::TouchEvent for its delegate.
|
| -#if defined(OS_CHROMEOS)
|
| -TEST_F(WindowTreeHostX11Test, DispatchTouchEventToTwoRootWindow) {
|
| - // Fake a ChromeOS running env.
|
| - const char* kLsbRelease = "CHROMEOS_RELEASE_NAME=Chromium OS\n";
|
| - base::SysInfo::SetChromeOSVersionInfoForTest(kLsbRelease, base::Time());
|
| -
|
| - scoped_ptr<WindowTreeHostX11> root_window_host1(
|
| - new WindowTreeHostX11(gfx::Rect(0, 0, 2560, 1700)));
|
| - scoped_ptr<TestWindowTreeHostDelegate> delegate1(
|
| - new TestWindowTreeHostDelegate());
|
| - root_window_host1->set_delegate(delegate1.get());
|
| -
|
| - int host2_y_offset = 1700;
|
| - scoped_ptr<WindowTreeHostX11> root_window_host2(
|
| - new WindowTreeHostX11(gfx::Rect(0, host2_y_offset, 1920, 1080)));
|
| - scoped_ptr<TestWindowTreeHostDelegate> delegate2(
|
| - new TestWindowTreeHostDelegate());
|
| - root_window_host2->set_delegate(delegate2.get());
|
| -
|
| - std::vector<unsigned int> devices;
|
| - devices.push_back(0);
|
| - ui::SetUpTouchDevicesForTest(devices);
|
| - std::vector<ui::Valuator> valuators;
|
| -
|
| - EXPECT_EQ(ui::ET_UNKNOWN, delegate1->last_touch_type());
|
| - EXPECT_EQ(-1, delegate1->last_touch_id());
|
| - EXPECT_EQ(ui::ET_UNKNOWN, delegate2->last_touch_type());
|
| - EXPECT_EQ(-1, delegate2->last_touch_id());
|
| -
|
| - // 2 Touch events are targeted at the second WindowTreeHost.
|
| - ui::ScopedXI2Event scoped_xevent;
|
| - scoped_xevent.InitTouchEvent(
|
| - 0, XI_TouchBegin, 5, gfx::Point(1500, 2500), valuators);
|
| - root_window_host1->Dispatch(scoped_xevent);
|
| - root_window_host2->Dispatch(scoped_xevent);
|
| - EXPECT_EQ(ui::ET_UNKNOWN, delegate1->last_touch_type());
|
| - EXPECT_EQ(-1, delegate1->last_touch_id());
|
| - EXPECT_EQ(gfx::Point(0, 0), delegate1->last_touch_location());
|
| - EXPECT_EQ(ui::ET_TOUCH_PRESSED, delegate2->last_touch_type());
|
| - EXPECT_EQ(0, delegate2->last_touch_id());
|
| - EXPECT_EQ(gfx::Point(1500, 2500 - host2_y_offset),
|
| - delegate2->last_touch_location());
|
| -
|
| - scoped_xevent.InitTouchEvent(
|
| - 0, XI_TouchBegin, 6, gfx::Point(1600, 2600), valuators);
|
| - root_window_host1->Dispatch(scoped_xevent);
|
| - root_window_host2->Dispatch(scoped_xevent);
|
| - EXPECT_EQ(ui::ET_UNKNOWN, delegate1->last_touch_type());
|
| - EXPECT_EQ(-1, delegate1->last_touch_id());
|
| - EXPECT_EQ(gfx::Point(0, 0), delegate1->last_touch_location());
|
| - EXPECT_EQ(ui::ET_TOUCH_PRESSED, delegate2->last_touch_type());
|
| - EXPECT_EQ(1, delegate2->last_touch_id());
|
| - EXPECT_EQ(gfx::Point(1600, 2600 - host2_y_offset),
|
| - delegate2->last_touch_location());
|
| -
|
| - scoped_xevent.InitTouchEvent(
|
| - 0, XI_TouchUpdate, 5, gfx::Point(1500, 2550), valuators);
|
| - root_window_host1->Dispatch(scoped_xevent);
|
| - root_window_host2->Dispatch(scoped_xevent);
|
| - EXPECT_EQ(ui::ET_UNKNOWN, delegate1->last_touch_type());
|
| - EXPECT_EQ(-1, delegate1->last_touch_id());
|
| - EXPECT_EQ(gfx::Point(0, 0), delegate1->last_touch_location());
|
| - EXPECT_EQ(ui::ET_TOUCH_MOVED, delegate2->last_touch_type());
|
| - EXPECT_EQ(0, delegate2->last_touch_id());
|
| - EXPECT_EQ(gfx::Point(1500, 2550 - host2_y_offset),
|
| - delegate2->last_touch_location());
|
| -
|
| - scoped_xevent.InitTouchEvent(
|
| - 0, XI_TouchUpdate, 6, gfx::Point(1600, 2650), valuators);
|
| - root_window_host1->Dispatch(scoped_xevent);
|
| - root_window_host2->Dispatch(scoped_xevent);
|
| - EXPECT_EQ(ui::ET_UNKNOWN, delegate1->last_touch_type());
|
| - EXPECT_EQ(-1, delegate1->last_touch_id());
|
| - EXPECT_EQ(gfx::Point(0, 0), delegate1->last_touch_location());
|
| - EXPECT_EQ(ui::ET_TOUCH_MOVED, delegate2->last_touch_type());
|
| - EXPECT_EQ(1, delegate2->last_touch_id());
|
| - EXPECT_EQ(gfx::Point(1600, 2650 - host2_y_offset),
|
| - delegate2->last_touch_location());
|
| -
|
| - scoped_xevent.InitTouchEvent(
|
| - 0, XI_TouchEnd, 5, gfx::Point(1500, 2550), valuators);
|
| - root_window_host1->Dispatch(scoped_xevent);
|
| - root_window_host2->Dispatch(scoped_xevent);
|
| - EXPECT_EQ(ui::ET_UNKNOWN, delegate1->last_touch_type());
|
| - EXPECT_EQ(-1, delegate1->last_touch_id());
|
| - EXPECT_EQ(gfx::Point(0, 0), delegate1->last_touch_location());
|
| - EXPECT_EQ(ui::ET_TOUCH_RELEASED, delegate2->last_touch_type());
|
| - EXPECT_EQ(0, delegate2->last_touch_id());
|
| - EXPECT_EQ(gfx::Point(1500, 2550 - host2_y_offset),
|
| - delegate2->last_touch_location());
|
| -
|
| - scoped_xevent.InitTouchEvent(
|
| - 0, XI_TouchEnd, 6, gfx::Point(1600, 2650), valuators);
|
| - root_window_host1->Dispatch(scoped_xevent);
|
| - root_window_host2->Dispatch(scoped_xevent);
|
| - EXPECT_EQ(ui::ET_UNKNOWN, delegate1->last_touch_type());
|
| - EXPECT_EQ(-1, delegate1->last_touch_id());
|
| - EXPECT_EQ(gfx::Point(0, 0), delegate1->last_touch_location());
|
| - EXPECT_EQ(ui::ET_TOUCH_RELEASED, delegate2->last_touch_type());
|
| - EXPECT_EQ(1, delegate2->last_touch_id());
|
| - EXPECT_EQ(gfx::Point(1600, 2650 - host2_y_offset),
|
| - delegate2->last_touch_location());
|
| -
|
| - // Revert the CrOS testing env otherwise the following non-CrOS aura
|
| - // tests will fail.
|
| - // Fake a ChromeOS running env.
|
| - kLsbRelease = "";
|
| - base::SysInfo::SetChromeOSVersionInfoForTest(kLsbRelease, base::Time());
|
| -}
|
| -#endif // defined(OS_CHROMEOS)
|
| -
|
| -} // namespace aura
|
|
|