| Index: services/ui/ws/platform_display_default.cc
|
| diff --git a/services/ui/ws/platform_display_default.cc b/services/ui/ws/platform_display_default.cc
|
| index 6b2340880882179bce3f48e9c3caf74e71668a5f..a761ec1548761246b9aa484e38f9860327f5f11a 100644
|
| --- a/services/ui/ws/platform_display_default.cc
|
| +++ b/services/ui/ws/platform_display_default.cc
|
| @@ -4,6 +4,8 @@
|
|
|
| #include "services/ui/ws/platform_display_default.h"
|
|
|
| +#include <utility>
|
| +
|
| #include "base/memory/ptr_util.h"
|
| #include "gpu/ipc/client/gpu_channel_host.h"
|
| #include "services/ui/display/screen_manager.h"
|
| @@ -31,14 +33,12 @@ namespace ws {
|
|
|
| PlatformDisplayDefault::PlatformDisplayDefault(
|
| ServerWindow* root_window,
|
| - const display::ViewportMetrics& metrics)
|
| + const display::ViewportMetrics& metrics,
|
| + std::unique_ptr<ImageCursors> image_cursors)
|
| : root_window_(root_window),
|
| -#if !defined(OS_ANDROID)
|
| - image_cursors_(new ImageCursors),
|
| -#endif
|
| + image_cursors_(std::move(image_cursors)),
|
| metrics_(metrics),
|
| - widget_(gfx::kNullAcceleratedWidget) {
|
| -}
|
| + widget_(gfx::kNullAcceleratedWidget) {}
|
|
|
| PlatformDisplayDefault::~PlatformDisplayDefault() {
|
| // Don't notify the delegate from the destructor.
|
| @@ -76,10 +76,10 @@ void PlatformDisplayDefault::Init(PlatformDisplayDelegate* delegate) {
|
| #endif
|
|
|
| platform_window_->Show();
|
| -#if !defined(OS_ANDROID)
|
| - image_cursors_->SetDisplay(delegate_->GetDisplay(),
|
| - metrics_.device_scale_factor);
|
| -#endif
|
| + if (image_cursors_) {
|
| + image_cursors_->SetDisplay(delegate_->GetDisplay(),
|
| + metrics_.device_scale_factor);
|
| + }
|
| }
|
|
|
| void PlatformDisplayDefault::SetViewportSize(const gfx::Size& size) {
|
| @@ -99,7 +99,9 @@ void PlatformDisplayDefault::ReleaseCapture() {
|
| }
|
|
|
| void PlatformDisplayDefault::SetCursorById(mojom::CursorType cursor_id) {
|
| -#if !defined(OS_ANDROID)
|
| + if (!image_cursors_)
|
| + return;
|
| +
|
| // TODO(erg): This still isn't sufficient, and will only use native cursors
|
| // that chrome would use, not custom image cursors. For that, we should
|
| // delegate to the window manager to load images from resource packs.
|
| @@ -108,7 +110,6 @@ void PlatformDisplayDefault::SetCursorById(mojom::CursorType cursor_id) {
|
| ui::Cursor cursor(static_cast<int32_t>(cursor_id));
|
| image_cursors_->SetPlatformCursor(&cursor);
|
| platform_window_->SetCursor(cursor.platform());
|
| -#endif
|
| }
|
|
|
| void PlatformDisplayDefault::UpdateTextInputState(
|
| @@ -193,32 +194,6 @@ void PlatformDisplayDefault::DispatchEvent(ui::Event* event) {
|
| } else {
|
| SendEventToSink(event);
|
| }
|
| -
|
| -#if defined(USE_X11) || defined(USE_OZONE)
|
| - // We want to emulate the WM_CHAR generation behaviour of Windows.
|
| - //
|
| - // On Linux, we've previously inserted characters by having
|
| - // InputMethodAuraLinux take all key down events and send a character event
|
| - // to the TextInputClient. This causes a mismatch in code that has to be
|
| - // shared between Windows and Linux, including blink code. Now that we're
|
| - // trying to have one way of doing things, we need to standardize on and
|
| - // emulate Windows character events.
|
| - //
|
| - // This is equivalent to what we're doing in the current Linux port, but
|
| - // done once instead of done multiple times in different places.
|
| - if (event->type() == ui::ET_KEY_PRESSED) {
|
| - ui::KeyEvent* key_press_event = event->AsKeyEvent();
|
| - ui::KeyEvent char_event(key_press_event->GetCharacter(),
|
| - key_press_event->key_code(),
|
| - key_press_event->flags());
|
| - // We don't check that GetCharacter() is equal because changing a key event
|
| - // with an accelerator to a character event can change the character, for
|
| - // example, from 'M' to '^M'.
|
| - DCHECK_EQ(key_press_event->key_code(), char_event.key_code());
|
| - DCHECK_EQ(key_press_event->flags(), char_event.flags());
|
| - SendEventToSink(&char_event);
|
| - }
|
| -#endif
|
| }
|
|
|
| void PlatformDisplayDefault::OnCloseRequest() {
|
|
|