• Maksim Sisov's avatar
    ozone/linux: add ui controls helper interface · 01aa82f1
    Maksim Sisov authored
    This CL adds a helper interface for ui controls that will be used
    by Ozone/Linux (maybe by others as well in the future) when
    interactive_ui_tests are run.
    
    We need a way to send emulated events through platform specific
    methods. For example, XSendEvent in case of X11 and libei library
    in case of Wayland (though, this library is under development and
    we need to figure out short term and long term solution. Probably,
    the short term solution will be injecting ui::Events directly
    into Ozone/Wayland and the long term one is libei).
    
    In this CL, ui_test_support is added for Ozone. views is the only
    component allowed to depend on that. Also, a factory to create
    OzoneUIControlsTestHelper is added. Actually, the factory methods
    are generated the same way as the methods for pixmap factory or
    ozone platform factory. Also, stub is added so that it's clear
    if the platform doesn't support OzoneUIControlsTestHelper or
    doesn't have it implemented.
    
    Please note that in order to generate the factory methods, I had
    to make platform_object.h public. Alternatively, it might be
    moved into a separate source_set so that ozone gn targets that
    need that can depend on that directly.
    
    More details at https://docs.google.com/document/d/1K3zyatrNrlm7XRzkZ2I9tJqVh5dNbT3obcw-JW9SUE4
    
    Actual implementation for Ozone/X11 (at least this one) will be
    added in a follow up cl.
    
    Bug: 1134495
    Change-Id: Ia7753b9f0fc329799d4ada638dcae02bac604405
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2445110
    Commit-Queue: Maksim Sisov (GMT+3) <msisov@igalia.com>
    Reviewed-by: default avatarScott Violet <sky@chromium.org>
    Reviewed-by: default avatarRobert Kroeger <rjkroege@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#814181}
    01aa82f1
interactive_ui_tests_main.cc 5.9 KB