Commit ee3f3e6f authored by Maksim Sisov's avatar Maksim Sisov Committed by Commit Bot

ozone/x11: implement OzoneUIControlsTestHelper

This is a follow up CL that implements OzoneUIControlsTestHelper in
Ozone/X11. It basically reuses the X11UIControlsTestHelper that
was extracted to ui/base/x in https://crrev.com/c/2445109

Test: all interactive_ui_tests with Ozone/X11 pass
Bug: 1134495
Change-Id: Ic9c123c74a5f425b78b5a51f8f4fd452029c0971
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2443850
Commit-Queue: Maksim Sisov (GMT+3) <msisov@igalia.com>
Reviewed-by: default avatarRobert Kroeger <rjkroege@chromium.org>
Cr-Commit-Position: refs/heads/master@{#814244}
parent 9c10cec9
......@@ -55,6 +55,7 @@ if (ozone_platform_wayland) {
if (ozone_platform_x11) {
ozone_platforms += [ "x11" ]
ozone_platform_deps += [ "platform/x11" ]
ozone_platform_ui_test_support_deps += [ "platform/x11:test_support" ]
}
if (ozone_platform_scenic) {
......
......@@ -17,10 +17,6 @@ OzoneUIControlsTestHelper* PrintErrorAndReturnNullptr() {
}
} // namespace
OzoneUIControlsTestHelper* CreateOzoneUIControlsTestHelperX11() {
return PrintErrorAndReturnNullptr();
}
OzoneUIControlsTestHelper* CreateOzoneUIControlsTestHelperWayland() {
return PrintErrorAndReturnNullptr();
}
......
......@@ -9,7 +9,6 @@ namespace ui {
class OzoneUIControlsTestHelper;
OzoneUIControlsTestHelper* CreateOzoneUIControlsTestHelperX11();
OzoneUIControlsTestHelper* CreateOzoneUIControlsTestHelperWayland();
OzoneUIControlsTestHelper* CreateOzoneUIControlsTestHelperWindows();
OzoneUIControlsTestHelper* CreateOzoneUIControlsTestHelperDrm();
......
......@@ -108,3 +108,17 @@ source_set("x11_unittests") {
"//ui/platform_window/x11:x11",
]
}
source_set("test_support") {
testonly = true
sources = [
"x11_ozone_ui_controls_test_helper.cc",
"x11_ozone_ui_controls_test_helper.h",
]
deps = [
"//ui/base/x",
"//ui/base/x:test_support",
]
}
// Copyright 2020 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 "ui/ozone/platform/x11/x11_ozone_ui_controls_test_helper.h"
namespace ui {
X11OzoneUIControlsTestHelper::X11OzoneUIControlsTestHelper() = default;
X11OzoneUIControlsTestHelper::~X11OzoneUIControlsTestHelper() = default;
unsigned X11OzoneUIControlsTestHelper::ButtonDownMask() const {
return x11_ui_controls_test_helper_.ButtonDownMask();
}
void X11OzoneUIControlsTestHelper::SendKeyPressEvent(
gfx::AcceleratedWidget widget,
ui::KeyboardCode key,
bool control,
bool shift,
bool alt,
bool command,
base::OnceClosure closure) {
x11_ui_controls_test_helper_.SendKeyPressEvent(
widget, key, control, shift, alt, command, std::move(closure));
}
void X11OzoneUIControlsTestHelper::SendMouseMotionNotifyEvent(
gfx::AcceleratedWidget widget,
const gfx::Point& mouse_loc,
const gfx::Point& mouse_root_loc,
base::OnceClosure closure) {
x11_ui_controls_test_helper_.SendMouseMotionNotifyEvent(
widget, mouse_loc, mouse_root_loc, std::move(closure));
}
void X11OzoneUIControlsTestHelper::SendMouseEvent(
gfx::AcceleratedWidget widget,
ui_controls::MouseButton type,
int button_state,
int accelerator_state,
const gfx::Point& mouse_loc,
const gfx::Point& mouse_root_loc,
base::OnceClosure closure) {
x11_ui_controls_test_helper_.SendMouseEvent(
widget, type, button_state, accelerator_state, mouse_loc, mouse_root_loc,
std::move(closure));
}
void X11OzoneUIControlsTestHelper::RunClosureAfterAllPendingUIEvents(
base::OnceClosure closure) {
x11_ui_controls_test_helper_.RunClosureAfterAllPendingUIEvents(
std::move(closure));
}
OzoneUIControlsTestHelper* CreateOzoneUIControlsTestHelperX11() {
return new X11OzoneUIControlsTestHelper();
}
} // namespace ui
// Copyright 2020 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.
#ifndef UI_OZONE_PLATFORM_X11_X11_OZONE_UI_CONTROLS_TEST_HELPER_H_
#define UI_OZONE_PLATFORM_X11_X11_OZONE_UI_CONTROLS_TEST_HELPER_H_
#include "ui/ozone/public/ozone_ui_controls_test_helper.h"
#include "ui/base/x/test/x11_ui_controls_test_helper.h"
namespace ui {
class X11OzoneUIControlsTestHelper : public OzoneUIControlsTestHelper {
public:
X11OzoneUIControlsTestHelper();
X11OzoneUIControlsTestHelper(const X11OzoneUIControlsTestHelper&) = delete;
X11OzoneUIControlsTestHelper& operator=(const X11OzoneUIControlsTestHelper&) =
delete;
~X11OzoneUIControlsTestHelper() override;
unsigned ButtonDownMask() const override;
void SendKeyPressEvent(gfx::AcceleratedWidget widget,
ui::KeyboardCode key,
bool control,
bool shift,
bool alt,
bool command,
base::OnceClosure closure) override;
void SendMouseMotionNotifyEvent(gfx::AcceleratedWidget widget,
const gfx::Point& mouse_loc,
const gfx::Point& mouse_root_loc,
base::OnceClosure closure) override;
void SendMouseEvent(gfx::AcceleratedWidget widget,
ui_controls::MouseButton type,
int button_state,
int accelerator_state,
const gfx::Point& mouse_loc,
const gfx::Point& mouse_root_loc,
base::OnceClosure closure) override;
void RunClosureAfterAllPendingUIEvents(base::OnceClosure closure) override;
private:
X11UIControlsTestHelper x11_ui_controls_test_helper_;
};
OzoneUIControlsTestHelper* CreateOzoneUIControlsTestHelperX11();
} // namespace ui
#endif // UI_OZONE_PLATFORM_X11_X11_OZONE_UI_CONTROLS_TEST_HELPER_H_
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment