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

Unified Diff: ash/host/ash_window_tree_host_x11_unittest.cc

Issue 201573015: Introdcue AshWindowTreeHost and move ash/chrome specific code in WTH to ash. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 6 years, 8 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
« no previous file with comments | « ash/host/ash_window_tree_host_x11.cc ('k') | ash/host/root_window_transformer.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ash/host/ash_window_tree_host_x11_unittest.cc
diff --git a/ui/aura/window_tree_host_x11_unittest.cc b/ash/host/ash_window_tree_host_x11_unittest.cc
similarity index 84%
rename from ui/aura/window_tree_host_x11_unittest.cc
rename to ash/host/ash_window_tree_host_x11_unittest.cc
index 8df6d244703deafce6bd2f9d71e15027419037fb..f9e2f07669022aaac9630284c6ef85a36c340e34 100644
--- a/ui/aura/window_tree_host_x11_unittest.cc
+++ b/ash/host/ash_window_tree_host_x11_unittest.cc
@@ -2,13 +2,16 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
+#include "ash/host/ash_window_tree_host_x11.h"
+
+#undef None
+#undef Bool
#include "base/sys_info.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "ui/aura/test/aura_test_base.h"
#include "ui/aura/window.h"
#include "ui/aura/window_event_dispatcher.h"
-#include "ui/aura/window_tree_host_x11.h"
#include "ui/events/event_processor.h"
#include "ui/events/event_target.h"
#include "ui/events/event_target_iterator.h"
@@ -18,11 +21,14 @@ namespace {
class RootWindowEventHandler : public ui::EventHandler {
public:
- RootWindowEventHandler() : last_touch_type_(ui::ET_UNKNOWN),
- last_touch_id_(-1),
- last_touch_location_(0, 0) {
+ explicit RootWindowEventHandler(aura::WindowTreeHost* host)
+ : target_(host->window()),
+ last_touch_type_(ui::ET_UNKNOWN),
+ last_touch_id_(-1),
+ last_touch_location_(0, 0) {
+ target_->AddPreTargetHandler(this);
}
- virtual ~RootWindowEventHandler () {}
+ virtual ~RootWindowEventHandler() { target_->RemovePreTargetHandler(this); }
// ui::EventHandler:
virtual void OnTouchEvent(ui::TouchEvent* event) OVERRIDE {
@@ -31,19 +37,14 @@ class RootWindowEventHandler : public ui::EventHandler {
last_touch_location_ = event->location();
}
- ui::EventType last_touch_type() {
- return last_touch_type_;
- }
+ ui::EventType last_touch_type() { return last_touch_type_; }
- int last_touch_id() {
- return last_touch_id_;
- }
+ int last_touch_id() { return last_touch_id_; }
- gfx::Point last_touch_location() {
- return last_touch_location_;
- }
+ gfx::Point last_touch_location() { return last_touch_location_; }
private:
+ ui::EventTarget* target_;
ui::EventType last_touch_type_;
int last_touch_id_;
gfx::Point last_touch_location_;
@@ -53,25 +54,23 @@ class RootWindowEventHandler : public ui::EventHandler {
} // namespace
-namespace aura {
+namespace ash {
-typedef test::AuraTestBase WindowTreeHostX11Test;
+typedef aura::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> window_tree_host(
- new WindowTreeHostX11(gfx::Rect(0, 0, 2560, 1700)));
+ scoped_ptr<AshWindowTreeHostX11> window_tree_host(
+ new AshWindowTreeHostX11(gfx::Rect(0, 0, 2560, 1700)));
window_tree_host->InitHost();
- scoped_ptr<RootWindowEventHandler> handler(new RootWindowEventHandler());
- window_tree_host->window()->AddPreTargetHandler(handler.get());
+ scoped_ptr<RootWindowEventHandler> handler(
+ new RootWindowEventHandler(window_tree_host.get()));
std::vector<unsigned int> devices;
devices.push_back(0);
@@ -82,7 +81,6 @@ TEST_F(WindowTreeHostX11Test, DispatchTouchEventToOneRootWindow) {
EXPECT_EQ(-1, handler->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);
@@ -90,7 +88,6 @@ TEST_F(WindowTreeHostX11Test, DispatchTouchEventToOneRootWindow) {
EXPECT_EQ(ui::ET_UNKNOWN, handler->last_touch_type());
EXPECT_EQ(-1, handler->last_touch_id());
EXPECT_EQ(gfx::Point(0, 0), handler->last_touch_location());
-#endif // defined(OS_CHROMEOS)
// Following touchs are within bounds and are passed to delegate.
scoped_xevent.InitTouchEvent(
@@ -114,36 +111,35 @@ TEST_F(WindowTreeHostX11Test, DispatchTouchEventToOneRootWindow) {
EXPECT_EQ(0, handler->last_touch_id());
EXPECT_EQ(gfx::Point(1500, 1600), handler->last_touch_location());
+ handler.reset();
+
// 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> window_tree_host1(
- new WindowTreeHostX11(gfx::Rect(0, 0, 2560, 1700)));
+ scoped_ptr<AshWindowTreeHostX11> window_tree_host1(
+ new AshWindowTreeHostX11(gfx::Rect(0, 0, 2560, 1700)));
window_tree_host1->InitHost();
- scoped_ptr<RootWindowEventHandler> handler1(new RootWindowEventHandler());
- window_tree_host1->window()->AddPreTargetHandler(handler1.get());
+ scoped_ptr<RootWindowEventHandler> handler1(
+ new RootWindowEventHandler(window_tree_host1.get()));
int host2_y_offset = 1700;
- scoped_ptr<WindowTreeHostX11> window_tree_host2(
- new WindowTreeHostX11(gfx::Rect(0, host2_y_offset, 1920, 1080)));
+ scoped_ptr<AshWindowTreeHostX11> window_tree_host2(
+ new AshWindowTreeHostX11(gfx::Rect(0, host2_y_offset, 1920, 1080)));
window_tree_host2->InitHost();
- scoped_ptr<RootWindowEventHandler> handler2(new RootWindowEventHandler());
- window_tree_host2->window()->AddPreTargetHandler(handler2.get());
+ scoped_ptr<RootWindowEventHandler> handler2(
+ new RootWindowEventHandler(window_tree_host2.get()));
std::vector<unsigned int> devices;
devices.push_back(0);
@@ -216,7 +212,6 @@ TEST_F(WindowTreeHostX11Test, DispatchTouchEventToTwoRootWindow) {
EXPECT_EQ(0, handler2->last_touch_id());
EXPECT_EQ(gfx::Point(1500, 2550 - host2_y_offset),
handler2->last_touch_location());
-
scoped_xevent.InitTouchEvent(
0, XI_TouchEnd, 6, gfx::Point(1600, 2650), valuators);
window_tree_host1->DispatchEvent(scoped_xevent);
@@ -229,12 +224,14 @@ TEST_F(WindowTreeHostX11Test, DispatchTouchEventToTwoRootWindow) {
EXPECT_EQ(gfx::Point(1600, 2650 - host2_y_offset),
handler2->last_touch_location());
+ handler1.reset();
+ handler2.reset();
+
// 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
« no previous file with comments | « ash/host/ash_window_tree_host_x11.cc ('k') | ash/host/root_window_transformer.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698