Commit 1fb788ce authored by Maksim Sisov's avatar Maksim Sisov Committed by Commit Bot

X11 and Ozone: cleanup //ui for use_x11 && use_ozone build.

Makes sure initialization of tests is correct and also non-Ozone/X11
specific tests are not run when OzonePlatform feature is used.

-----

PS: Please note that this is a temp solution that will help to choose
between ozone and non-ozone X11 build. The switch that will be used
to choose the path is --enable-features=UseOzonePlatform. Once
non-Ozone X11 path is removed (hopefully by Q1 2021 depending on how
th finch trial goes), the wrapper will be removed.

Please also note that it's impossible to build use_x11 && use_ozone
without some hacks in PlatformCursor code. The changes to that are
on their way to upstream.

----

Bug: 1085700
Change-Id: If9f7e04b0c39dfe2782622f225de7d1b901575f2
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2315144
Commit-Queue: Maksim Sisov (GMT+3) <msisov@igalia.com>
Reviewed-by: default avatarScott Violet <sky@chromium.org>
Cr-Commit-Position: refs/heads/master@{#791790}
parent 7a8af736
......@@ -14,6 +14,7 @@
#include "base/test/scoped_feature_list.h"
#include "build/build_config.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "ui/base/ui_base_features.h"
#include "ui/events/event_utils.h"
#include "ui/events/keycodes/dom/dom_code.h"
#include "ui/events/keycodes/dom/keycode_converter.h"
......@@ -43,11 +44,14 @@ TEST(EventTest, NativeEvent) {
MSG native_event = {nullptr, WM_KEYUP, VKEY_A, 0};
KeyEvent keyev(native_event);
EXPECT_TRUE(keyev.HasNativeEvent());
#elif defined(USE_X11)
ScopedXI2Event event;
event.InitKeyEvent(ET_KEY_RELEASED, VKEY_A, EF_NONE);
auto keyev = ui::BuildKeyEventFromXEvent(*event);
EXPECT_FALSE(keyev->HasNativeEvent());
#endif
#if defined(USE_X11)
if (!features::IsUsingOzonePlatform()) {
ScopedXI2Event event;
event.InitKeyEvent(ET_KEY_RELEASED, VKEY_A, EF_NONE);
auto keyev = ui::BuildKeyEventFromXEvent(*event);
EXPECT_FALSE(keyev->HasNativeEvent());
}
#endif
}
......@@ -62,15 +66,17 @@ TEST(EventTest, GetCharacter) {
EXPECT_EQ(13, keyev2.GetCharacter());
#if defined(USE_X11)
// For X11, test the functions with native_event() as well. crbug.com/107837
ScopedXI2Event event;
event.InitKeyEvent(ET_KEY_PRESSED, VKEY_RETURN, EF_CONTROL_DOWN);
auto keyev3 = ui::BuildKeyEventFromXEvent(*event);
EXPECT_EQ(10, keyev3->GetCharacter());
event.InitKeyEvent(ET_KEY_PRESSED, VKEY_RETURN, EF_NONE);
auto keyev4 = ui::BuildKeyEventFromXEvent(*event);
EXPECT_EQ(13, keyev4->GetCharacter());
if (!features::IsUsingOzonePlatform()) {
// For X11, test the functions with native_event() as well. crbug.com/107837
ScopedXI2Event event;
event.InitKeyEvent(ET_KEY_PRESSED, VKEY_RETURN, EF_CONTROL_DOWN);
auto keyev3 = ui::BuildKeyEventFromXEvent(*event);
EXPECT_EQ(10, keyev3->GetCharacter());
event.InitKeyEvent(ET_KEY_PRESSED, VKEY_RETURN, EF_NONE);
auto keyev4 = ui::BuildKeyEventFromXEvent(*event);
EXPECT_EQ(13, keyev4->GetCharacter());
}
#endif
// Check if expected Unicode character was returned for a key combination
......@@ -291,37 +297,39 @@ TEST(EventTest, KeyEventDirectUnicode) {
TEST(EventTest, NormalizeKeyEventFlags) {
#if defined(USE_X11)
// Normalize flags when KeyEvent is created from XEvent.
ScopedXI2Event event;
{
event.InitKeyEvent(ET_KEY_PRESSED, VKEY_SHIFT, EF_SHIFT_DOWN);
auto keyev = ui::BuildKeyEventFromXEvent(*event);
EXPECT_EQ(EF_SHIFT_DOWN, keyev->flags());
}
{
event.InitKeyEvent(ET_KEY_RELEASED, VKEY_SHIFT, EF_SHIFT_DOWN);
auto keyev = ui::BuildKeyEventFromXEvent(*event);
EXPECT_EQ(EF_NONE, keyev->flags());
}
{
event.InitKeyEvent(ET_KEY_PRESSED, VKEY_CONTROL, EF_CONTROL_DOWN);
auto keyev = ui::BuildKeyEventFromXEvent(*event);
EXPECT_EQ(EF_CONTROL_DOWN, keyev->flags());
}
{
event.InitKeyEvent(ET_KEY_RELEASED, VKEY_CONTROL, EF_CONTROL_DOWN);
auto keyev = ui::BuildKeyEventFromXEvent(*event);
EXPECT_EQ(EF_NONE, keyev->flags());
}
{
event.InitKeyEvent(ET_KEY_PRESSED, VKEY_MENU, EF_ALT_DOWN);
auto keyev = ui::BuildKeyEventFromXEvent(*event);
EXPECT_EQ(EF_ALT_DOWN, keyev->flags());
}
{
event.InitKeyEvent(ET_KEY_RELEASED, VKEY_MENU, EF_ALT_DOWN);
auto keyev = ui::BuildKeyEventFromXEvent(*event);
EXPECT_EQ(EF_NONE, keyev->flags());
if (!features::IsUsingOzonePlatform()) {
// Normalize flags when KeyEvent is created from XEvent.
ScopedXI2Event event;
{
event.InitKeyEvent(ET_KEY_PRESSED, VKEY_SHIFT, EF_SHIFT_DOWN);
auto keyev = ui::BuildKeyEventFromXEvent(*event);
EXPECT_EQ(EF_SHIFT_DOWN, keyev->flags());
}
{
event.InitKeyEvent(ET_KEY_RELEASED, VKEY_SHIFT, EF_SHIFT_DOWN);
auto keyev = ui::BuildKeyEventFromXEvent(*event);
EXPECT_EQ(EF_NONE, keyev->flags());
}
{
event.InitKeyEvent(ET_KEY_PRESSED, VKEY_CONTROL, EF_CONTROL_DOWN);
auto keyev = ui::BuildKeyEventFromXEvent(*event);
EXPECT_EQ(EF_CONTROL_DOWN, keyev->flags());
}
{
event.InitKeyEvent(ET_KEY_RELEASED, VKEY_CONTROL, EF_CONTROL_DOWN);
auto keyev = ui::BuildKeyEventFromXEvent(*event);
EXPECT_EQ(EF_NONE, keyev->flags());
}
{
event.InitKeyEvent(ET_KEY_PRESSED, VKEY_MENU, EF_ALT_DOWN);
auto keyev = ui::BuildKeyEventFromXEvent(*event);
EXPECT_EQ(EF_ALT_DOWN, keyev->flags());
}
{
event.InitKeyEvent(ET_KEY_RELEASED, VKEY_MENU, EF_ALT_DOWN);
auto keyev = ui::BuildKeyEventFromXEvent(*event);
EXPECT_EQ(EF_NONE, keyev->flags());
}
}
#endif
......@@ -394,7 +402,7 @@ TEST(EventTest, KeyEventCode) {
EXPECT_EQ(kCodeForSpace, key.GetCodeString());
}
#if defined(USE_X11)
{
if (!features::IsUsingOzonePlatform()) {
// KeyEvent converts from the native keycode (XKB) to the code.
ScopedXI2Event xevent;
xevent.InitKeyEvent(ET_KEY_PRESSED, VKEY_SPACE, kNativeCodeSpace);
......@@ -449,6 +457,8 @@ void AdvanceKeyEventTimestamp(x11::Event* event) {
} // namespace
TEST(EventTest, AutoRepeat) {
if (features::IsUsingOzonePlatform())
return;
const uint16_t kNativeCodeA =
ui::KeycodeConverter::DomCodeToNativeKeycode(DomCode::US_A);
const uint16_t kNativeCodeB =
......@@ -786,6 +796,8 @@ TEST(EventTest, MouseWheelEventLatencyUIComponentExists) {
// and TOUCH_RELEASED histograms are computed properly.
#if defined(USE_X11)
TEST(EventTest, EventLatencyOSTouchHistograms) {
if (features::IsUsingOzonePlatform())
return;
base::HistogramTester histogram_tester;
ScopedXI2Event scoped_xevent;
......@@ -815,7 +827,10 @@ TEST(EventTest, EventLatencyOSMouseWheelHistogram) {
MSG event = {nullptr, WM_MOUSEWHEEL, 0, 0};
MouseWheelEvent mouseWheelEvent(event);
histogram_tester.ExpectTotalCount("Event.Latency.OS.MOUSE_WHEEL", 1);
#elif defined(USE_X11)
#endif
#if defined(USE_X11)
if (features::IsUsingOzonePlatform())
return;
base::HistogramTester histogram_tester;
DeviceDataManagerX11::CreateInstance();
......
......@@ -877,6 +877,8 @@ INSTANTIATE_TEST_SUITE_P(All, MenuControllerTest, testing::Bool());
// Tests that an event targeter which blocks events will be honored by the menu
// event dispatcher.
TEST_F(MenuControllerTest, EventTargeter) {
if (features::IsUsingOzonePlatform())
return;
{
// With the aura::NullWindowTargeter instantiated and assigned we expect
// the menu to not handle the key event.
......@@ -897,6 +899,8 @@ TEST_F(MenuControllerTest, EventTargeter) {
// Tests that touch event ids are released correctly. See crbug.com/439051 for
// details. When the ids aren't managed correctly, we get stuck down touches.
TEST_F(MenuControllerTest, TouchIdsReleasedCorrectly) {
if (features::IsUsingOzonePlatform())
return;
TestEventHandler test_event_handler;
GetRootWindow(owner())->AddPreTargetHandler(&test_event_handler);
......
......@@ -39,6 +39,8 @@ namespace {
bool InitializeVisuals() {
#if defined(USE_X11)
if (features::IsUsingOzonePlatform())
return false;
bool has_compositing_manager = false;
uint8_t depth = 0;
bool using_argb_visual;
......
......@@ -126,6 +126,13 @@ gfx::Size WidgetTest::GetNativeWidgetMinimumContentSize(Widget* widget) {
#if !BUILDFLAG(ENABLE_DESKTOP_AURA) || defined(OS_WIN)
return widget->GetNativeWindow()->delegate()->GetMinimumSize();
#elif defined(USE_X11)
if (features::IsUsingOzonePlatform()) {
// TODO(https://crbug.com/1109114): this is effectively the same as the
// NOTREACHED in the #else section. Figure why that is there and fix for
// Ozone if needed.
NOTREACHED();
return gfx::Size();
}
XSizeHints hints;
long supplied_return; // NOLINT(runtime/int)
XGetWMNormalHints(
......
......@@ -1001,6 +1001,10 @@ TEST_F(DesktopWidgetTest, GetWindowPlacement) {
if (base::mac::IsOS10_10())
return; // Fails when swarmed. http://crbug.com/660582
#endif
#if defined(USE_X11)
if (features::IsUsingOzonePlatform())
return; // TODO(https://crbug.com/1109112): Will be enabled later.
#endif
WidgetAutoclosePtr widget;
widget.reset(CreateTopLevelNativeWidget());
......@@ -3924,6 +3928,8 @@ class CompositingWidgetTest : public DesktopWidgetTest {
should_be_transparent);
#if defined(USE_X11)
if (features::IsUsingOzonePlatform())
return;
if (HasCompositingManager() &&
(widget_type == Widget::InitParams::TYPE_DRAG ||
widget_type == Widget::InitParams::TYPE_WINDOW)) {
......
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