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