Move CursorFactoryOzone to ui/base/cursor/
This CL moves cursor_factory_ozone.* to ui/base/cursor/cursor_factory.* to serve as a superclass for all platform cursor factories. Bug: 1029142, 1040499 Change-Id: I94370bfe98efd3af4c6596e2de652370d011ea7e Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2188395 Commit-Queue: Henrique Ferreiro <hferreiro@igalia.com> Reviewed-by: Scott Violet <sky@chromium.org> Cr-Commit-Position: refs/heads/master@{#771267}
This commit is contained in:

committed by
Commit Bot

parent
3ee579a610
commit
aaa2a62606
chrome/browser/vr/testapp
components/exo
content/common
docs
ui
@ -32,6 +32,7 @@ executable("vr_testapp") {
|
||||
"//components/security_state/core",
|
||||
"//components/tracing:startup_tracing",
|
||||
"//components/vector_icons:vector_icons",
|
||||
"//ui/base/cursor:cursor_base",
|
||||
"//ui/display/types",
|
||||
"//ui/events",
|
||||
"//ui/events:dom_keycode_converter",
|
||||
|
@ -18,6 +18,7 @@
|
||||
#include "chrome/browser/vr/testapp/gl_renderer.h"
|
||||
#include "chrome/browser/vr/testapp/vr_test_context.h"
|
||||
#include "third_party/skia/include/core/SkBitmap.h"
|
||||
#include "ui/base/cursor/cursor_factory.h"
|
||||
#include "ui/display/types/display_snapshot.h"
|
||||
#include "ui/display/types/native_display_delegate.h"
|
||||
#include "ui/display/types/native_display_observer.h"
|
||||
@ -28,7 +29,6 @@
|
||||
#include "ui/gfx/geometry/rect.h"
|
||||
#include "ui/gl/gl_surface.h"
|
||||
#include "ui/gl/init/gl_factory.h"
|
||||
#include "ui/ozone/public/cursor_factory_ozone.h"
|
||||
#include "ui/ozone/public/ozone_gpu_test_helper.h"
|
||||
#include "ui/ozone/public/ozone_platform.h"
|
||||
#include "ui/platform_window/platform_window.h"
|
||||
@ -110,8 +110,8 @@ class AppWindow : public ui::PlatformWindowDelegate {
|
||||
|
||||
// Supply an empty cursor to override and hide the default system pointer.
|
||||
platform_window_->SetCursor(
|
||||
ui::CursorFactoryOzone::GetInstance()->CreateImageCursor(SkBitmap(),
|
||||
{0, 0}, 0));
|
||||
ui::CursorFactory::GetInstance()->CreateImageCursor(SkBitmap(), {0, 0},
|
||||
0));
|
||||
}
|
||||
~AppWindow() override {}
|
||||
|
||||
|
@ -41,7 +41,7 @@
|
||||
#endif
|
||||
|
||||
#if defined(USE_OZONE)
|
||||
#include "ui/ozone/public/cursor_factory_ozone.h"
|
||||
#include "ui/base/cursor/cursor_factory.h"
|
||||
#endif
|
||||
|
||||
namespace exo {
|
||||
@ -684,8 +684,8 @@ void Pointer::UpdateCursor() {
|
||||
// TODO(reveman): Add interface for creating cursors from GpuMemoryBuffers
|
||||
// and use that here instead of the current bitmap API.
|
||||
// https://crbug.com/686600
|
||||
platform_cursor = ui::CursorFactoryOzone::GetInstance()->CreateImageCursor(
|
||||
bitmap, hotspot, 0);
|
||||
platform_cursor =
|
||||
ui::CursorFactory::GetInstance()->CreateImageCursor(bitmap, hotspot, 0);
|
||||
#elif defined(USE_X11)
|
||||
XcursorImage* image = ui::SkBitmapToXcursorImage(&bitmap, hotspot);
|
||||
platform_cursor = ui::CreateReffedCustomXCursor(image);
|
||||
@ -694,7 +694,7 @@ void Pointer::UpdateCursor() {
|
||||
cursor_.set_custom_bitmap(bitmap);
|
||||
cursor_.set_custom_hotspot(hotspot);
|
||||
#if defined(USE_OZONE)
|
||||
ui::CursorFactoryOzone::GetInstance()->UnrefImageCursor(platform_cursor);
|
||||
ui::CursorFactory::GetInstance()->UnrefImageCursor(platform_cursor);
|
||||
#elif defined(USE_X11)
|
||||
ui::UnrefCustomXCursor(platform_cursor);
|
||||
#endif
|
||||
|
@ -345,9 +345,7 @@ source_set("common") {
|
||||
deps += [ "//ppapi/proxy:ipc_sources" ]
|
||||
}
|
||||
|
||||
if (use_ozone) {
|
||||
deps += [ "//ui/ozone" ]
|
||||
} else {
|
||||
if (!use_ozone) {
|
||||
sources -= [ "cursors/webcursor_ozone.cc" ]
|
||||
}
|
||||
|
||||
|
@ -1,11 +1,3 @@
|
||||
include_rules = [
|
||||
"+third_party/blink/public/platform",
|
||||
]
|
||||
|
||||
specific_include_rules = {
|
||||
# TODO(crbug.com/734668): Dependencies on ozone should be removed, as content
|
||||
# embedded in mus won't be able to talk to the native ozone.
|
||||
"webcursor_ozone.cc": [
|
||||
"+ui/ozone/public/cursor_factory_ozone.h",
|
||||
],
|
||||
}
|
||||
|
@ -8,8 +8,8 @@
|
||||
|
||||
#include "base/check_op.h"
|
||||
#include "ui/base/cursor/cursor.h"
|
||||
#include "ui/base/cursor/cursor_factory.h"
|
||||
#include "ui/base/cursor/mojom/cursor_type.mojom-shared.h"
|
||||
#include "ui/ozone/public/cursor_factory_ozone.h"
|
||||
|
||||
namespace content {
|
||||
|
||||
@ -18,7 +18,7 @@ ui::PlatformCursor WebCursor::GetPlatformCursor(const ui::Cursor& cursor) {
|
||||
DCHECK_EQ(cursor.type(), ui::mojom::CursorType::kCustom);
|
||||
|
||||
if (!platform_cursor_) {
|
||||
platform_cursor_ = ui::CursorFactoryOzone::GetInstance()->CreateImageCursor(
|
||||
platform_cursor_ = ui::CursorFactory::GetInstance()->CreateImageCursor(
|
||||
cursor.custom_bitmap(), cursor.custom_hotspot(),
|
||||
cursor.image_scale_factor());
|
||||
}
|
||||
@ -61,7 +61,7 @@ bool WebCursor::IsPlatformDataEqual(const WebCursor& other) const {
|
||||
|
||||
void WebCursor::CleanupPlatformData() {
|
||||
if (platform_cursor_) {
|
||||
ui::CursorFactoryOzone::GetInstance()->UnrefImageCursor(platform_cursor_);
|
||||
ui::CursorFactory::GetInstance()->UnrefImageCursor(platform_cursor_);
|
||||
platform_cursor_ = NULL;
|
||||
}
|
||||
custom_cursor_.reset();
|
||||
@ -69,10 +69,10 @@ void WebCursor::CleanupPlatformData() {
|
||||
|
||||
void WebCursor::CopyPlatformData(const WebCursor& other) {
|
||||
if (platform_cursor_)
|
||||
ui::CursorFactoryOzone::GetInstance()->UnrefImageCursor(platform_cursor_);
|
||||
ui::CursorFactory::GetInstance()->UnrefImageCursor(platform_cursor_);
|
||||
platform_cursor_ = other.platform_cursor_;
|
||||
if (platform_cursor_)
|
||||
ui::CursorFactoryOzone::GetInstance()->RefImageCursor(platform_cursor_);
|
||||
ui::CursorFactory::GetInstance()->RefImageCursor(platform_cursor_);
|
||||
|
||||
device_scale_factor_ = other.device_scale_factor_;
|
||||
maximum_cursor_size_ = other.maximum_cursor_size_;
|
||||
|
@ -56,7 +56,6 @@ Ozone moves platform-specific code behind the following interfaces:
|
||||
access to IPC between the browser & GPU processes. Some platforms need this
|
||||
to provide additional services in the GPU process such as display
|
||||
configuration.
|
||||
* `CursorFactoryOzone` is used to load & set platform cursors.
|
||||
* `OverlayManagerOzone` is used to manage overlays.
|
||||
* `InputController` allows to control input devices such as keyboard, mouse or
|
||||
touchpad.
|
||||
@ -91,7 +90,7 @@ Users of the Ozone abstraction need to do the following, at minimum:
|
||||
invoke `PlatformWindowDelegate::DispatchEvent` to dispatch each event.
|
||||
* Write a subclass of `SurfaceFactoryOzone` that handles allocating accelerated
|
||||
surfaces. I'll call this `SurfaceFactoryOzoneImpl`.
|
||||
* Write a subclass of `CursorFactoryOzone` to manage cursors, or use the
|
||||
* Write a subclass of `CursorFactory` to manage cursors, or use the
|
||||
`BitmapCursorFactoryOzone` implementation if only bitmap cursors need to be
|
||||
supported.
|
||||
* Write a subclass of `OverlayManagerOzone` or just use `StubOverlayManager` if
|
||||
|
@ -8,34 +8,29 @@ import("//build/config/ui.gni")
|
||||
# bringing all of //ui/base/cursor.
|
||||
component("cursor_base") {
|
||||
output_name = "ui_base_cursor_base"
|
||||
|
||||
sources = [
|
||||
"cursor.cc",
|
||||
"cursor.h",
|
||||
"cursor_factory.cc",
|
||||
"cursor_factory.h",
|
||||
"cursor_size.h",
|
||||
]
|
||||
|
||||
defines = [ "IS_UI_BASE_CURSOR_BASE_IMPL" ]
|
||||
|
||||
public_deps = [
|
||||
"//base",
|
||||
"//skia",
|
||||
"//ui/base/cursor/mojom:cursor_type",
|
||||
"//ui/gfx/geometry",
|
||||
]
|
||||
|
||||
deps = [ "//ui/gfx:geometry_skia" ]
|
||||
|
||||
if (use_x11 && use_aura) {
|
||||
if (use_x11) {
|
||||
sources += [ "cursor_x11.cc" ]
|
||||
|
||||
deps += [ "//ui/base/x" ]
|
||||
}
|
||||
|
||||
if (use_ozone) {
|
||||
sources += [ "cursor_ozone.cc" ]
|
||||
|
||||
deps += [ "//ui/ozone:ozone_base" ]
|
||||
}
|
||||
|
||||
if (is_win) {
|
||||
@ -109,8 +104,8 @@ if (use_aura) {
|
||||
"ozone/bitmap_cursor_factory_ozone.h",
|
||||
]
|
||||
public_deps += [
|
||||
"//skia",
|
||||
"//ui/gfx/geometry",
|
||||
"//ui/ozone:ozone_base",
|
||||
]
|
||||
}
|
||||
}
|
||||
|
@ -1,3 +0,0 @@
|
||||
include_rules = [
|
||||
"+ui/ozone/public",
|
||||
]
|
63
ui/base/cursor/cursor_factory.cc
Normal file
63
ui/base/cursor/cursor_factory.cc
Normal file
@ -0,0 +1,63 @@
|
||||
// Copyright 2014 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/base/cursor/cursor_factory.h"
|
||||
|
||||
#include "base/check.h"
|
||||
#include "base/check_op.h"
|
||||
#include "base/notreached.h"
|
||||
|
||||
namespace ui {
|
||||
|
||||
namespace {
|
||||
|
||||
CursorFactory* g_instance = nullptr;
|
||||
|
||||
} // namespace
|
||||
|
||||
CursorFactory::CursorFactory() {
|
||||
DCHECK(!g_instance) << "There should only be a single CursorFactory.";
|
||||
g_instance = this;
|
||||
}
|
||||
|
||||
CursorFactory::~CursorFactory() {
|
||||
DCHECK_EQ(g_instance, this);
|
||||
g_instance = nullptr;
|
||||
}
|
||||
|
||||
CursorFactory* CursorFactory::GetInstance() {
|
||||
DCHECK(g_instance);
|
||||
return g_instance;
|
||||
}
|
||||
|
||||
PlatformCursor CursorFactory::GetDefaultCursor(mojom::CursorType type) {
|
||||
NOTIMPLEMENTED();
|
||||
return 0;
|
||||
}
|
||||
|
||||
PlatformCursor CursorFactory::CreateImageCursor(const SkBitmap& bitmap,
|
||||
const gfx::Point& hotspot,
|
||||
float bitmap_dpi) {
|
||||
NOTIMPLEMENTED();
|
||||
return 0;
|
||||
}
|
||||
|
||||
PlatformCursor CursorFactory::CreateAnimatedCursor(
|
||||
const std::vector<SkBitmap>& bitmaps,
|
||||
const gfx::Point& hotspot,
|
||||
int frame_delay_ms,
|
||||
float bitmap_dpi) {
|
||||
NOTIMPLEMENTED();
|
||||
return 0;
|
||||
}
|
||||
|
||||
void CursorFactory::RefImageCursor(PlatformCursor cursor) {
|
||||
NOTIMPLEMENTED();
|
||||
}
|
||||
|
||||
void CursorFactory::UnrefImageCursor(PlatformCursor cursor) {
|
||||
NOTIMPLEMENTED();
|
||||
}
|
||||
|
||||
} // namespace ui
|
@ -2,14 +2,16 @@
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
|
||||
#ifndef UI_OZONE_PUBLIC_CURSOR_FACTORY_OZONE_H_
|
||||
#define UI_OZONE_PUBLIC_CURSOR_FACTORY_OZONE_H_
|
||||
#ifndef UI_BASE_CURSOR_CURSOR_FACTORY_H_
|
||||
#define UI_BASE_CURSOR_CURSOR_FACTORY_H_
|
||||
|
||||
#include <vector>
|
||||
|
||||
#include "base/component_export.h"
|
||||
#include "ui/base/cursor/cursor.h"
|
||||
#include "ui/base/cursor/mojom/cursor_type.mojom-forward.h"
|
||||
#include "ui/gfx/native_widget_types.h"
|
||||
|
||||
class SkBitmap;
|
||||
|
||||
namespace gfx {
|
||||
class Point;
|
||||
@ -17,15 +19,13 @@ class Point;
|
||||
|
||||
namespace ui {
|
||||
|
||||
typedef void* PlatformCursor;
|
||||
|
||||
class COMPONENT_EXPORT(OZONE_BASE) CursorFactoryOzone {
|
||||
class COMPONENT_EXPORT(UI_BASE_CURSOR_BASE) CursorFactory {
|
||||
public:
|
||||
CursorFactoryOzone();
|
||||
virtual ~CursorFactoryOzone();
|
||||
CursorFactory();
|
||||
virtual ~CursorFactory();
|
||||
|
||||
// Returns the thread-local instance.
|
||||
static CursorFactoryOzone* GetInstance();
|
||||
static CursorFactory* GetInstance();
|
||||
|
||||
// Return the default cursor of the specified type. The types are listed in
|
||||
// ui/base/cursor/cursor.h. Default cursors are managed by the implementation
|
||||
@ -58,4 +58,4 @@ class COMPONENT_EXPORT(OZONE_BASE) CursorFactoryOzone {
|
||||
|
||||
} // namespace ui
|
||||
|
||||
#endif // UI_OZONE_PUBLIC_CURSOR_FACTORY_OZONE_H_
|
||||
#endif // UI_BASE_CURSOR_CURSOR_FACTORY_H_
|
@ -6,14 +6,14 @@
|
||||
|
||||
#include <vector>
|
||||
|
||||
#include "ui/base/cursor/cursor_factory.h"
|
||||
#include "ui/base/cursor/cursor_util.h"
|
||||
#include "ui/base/cursor/mojom/cursor_type.mojom-shared.h"
|
||||
#include "ui/ozone/public/cursor_factory_ozone.h"
|
||||
|
||||
namespace ui {
|
||||
|
||||
CursorLoaderOzone::CursorLoaderOzone() {
|
||||
factory_ = CursorFactoryOzone::GetInstance();
|
||||
factory_ = CursorFactory::GetInstance();
|
||||
}
|
||||
|
||||
CursorLoaderOzone::~CursorLoaderOzone() {
|
||||
|
@ -14,13 +14,10 @@
|
||||
#include "ui/base/cursor/mojom/cursor_type.mojom-forward.h"
|
||||
|
||||
namespace ui {
|
||||
|
||||
class CursorFactoryOzone;
|
||||
class CursorFactory;
|
||||
|
||||
class COMPONENT_EXPORT(UI_BASE_CURSOR) CursorLoaderOzone : public CursorLoader {
|
||||
public:
|
||||
// CursorLoaderOzone will use CursorFactoryOzone corresponding to the thread
|
||||
// it was constructed on.
|
||||
CursorLoaderOzone();
|
||||
~CursorLoaderOzone() override;
|
||||
|
||||
@ -38,7 +35,7 @@ class COMPONENT_EXPORT(UI_BASE_CURSOR) CursorLoaderOzone : public CursorLoader {
|
||||
private:
|
||||
// Pointers are owned by ResourceBundle and must not be freed here.
|
||||
std::map<mojom::CursorType, PlatformCursor> image_cursors_;
|
||||
CursorFactoryOzone* factory_ = nullptr;
|
||||
CursorFactory* factory_ = nullptr;
|
||||
|
||||
DISALLOW_COPY_AND_ASSIGN(CursorLoaderOzone);
|
||||
};
|
||||
|
@ -4,18 +4,18 @@
|
||||
|
||||
#include "ui/base/cursor/cursor.h"
|
||||
|
||||
#include "ui/ozone/public/cursor_factory_ozone.h"
|
||||
#include "ui/base/cursor/cursor_factory.h"
|
||||
|
||||
namespace ui {
|
||||
|
||||
void Cursor::RefCustomCursor() {
|
||||
if (platform_cursor_)
|
||||
CursorFactoryOzone::GetInstance()->RefImageCursor(platform_cursor_);
|
||||
CursorFactory::GetInstance()->RefImageCursor(platform_cursor_);
|
||||
}
|
||||
|
||||
void Cursor::UnrefCustomCursor() {
|
||||
if (platform_cursor_)
|
||||
CursorFactoryOzone::GetInstance()->UnrefImageCursor(platform_cursor_);
|
||||
CursorFactory::GetInstance()->UnrefImageCursor(platform_cursor_);
|
||||
}
|
||||
|
||||
} // namespace ui
|
||||
|
@ -13,9 +13,9 @@
|
||||
#include "base/memory/ref_counted.h"
|
||||
#include "third_party/skia/include/core/SkBitmap.h"
|
||||
#include "ui/base/cursor/cursor.h"
|
||||
#include "ui/base/cursor/cursor_factory.h"
|
||||
#include "ui/base/cursor/mojom/cursor_type.mojom-forward.h"
|
||||
#include "ui/gfx/geometry/point.h"
|
||||
#include "ui/ozone/public/cursor_factory_ozone.h"
|
||||
|
||||
namespace ui {
|
||||
|
||||
@ -46,7 +46,7 @@ class COMPONENT_EXPORT(UI_BASE_CURSOR) BitmapCursorOzone
|
||||
DISALLOW_COPY_AND_ASSIGN(BitmapCursorOzone);
|
||||
};
|
||||
|
||||
// CursorFactoryOzone implementation for bitmapped cursors.
|
||||
// CursorFactory implementation for bitmapped cursors.
|
||||
//
|
||||
// This is a base class for platforms where PlatformCursor is an SkBitmap
|
||||
// combined with a gfx::Point for the hotspot.
|
||||
@ -54,7 +54,7 @@ class COMPONENT_EXPORT(UI_BASE_CURSOR) BitmapCursorOzone
|
||||
// Subclasses need only implement SetBitmapCursor() as everything else is
|
||||
// implemented here.
|
||||
class COMPONENT_EXPORT(UI_BASE_CURSOR) BitmapCursorFactoryOzone
|
||||
: public CursorFactoryOzone {
|
||||
: public CursorFactory {
|
||||
public:
|
||||
BitmapCursorFactoryOzone();
|
||||
~BitmapCursorFactoryOzone() override;
|
||||
|
@ -66,8 +66,6 @@ constructor_list_cc_file = "$target_gen_dir/constructor_list.cc"
|
||||
|
||||
jumbo_component("ozone_base") {
|
||||
sources = [
|
||||
"public/cursor_factory_ozone.cc",
|
||||
"public/cursor_factory_ozone.h",
|
||||
"public/gl_ozone.h",
|
||||
"public/gpu_platform_support_host.cc",
|
||||
"public/gpu_platform_support_host.h",
|
||||
@ -105,7 +103,6 @@ jumbo_component("ozone_base") {
|
||||
"//ipc",
|
||||
"//skia",
|
||||
"//ui/base/clipboard:clipboard_types",
|
||||
"//ui/base/cursor/mojom:cursor_type",
|
||||
"//ui/display",
|
||||
"//ui/display/types",
|
||||
"//ui/display/util",
|
||||
@ -128,7 +125,6 @@ jumbo_component("ozone_base") {
|
||||
visibility += [
|
||||
# Everyone should depend on //ui/ozone instead except a handful of
|
||||
# things that would otherwise create a cycle.
|
||||
"//ui/base/cursor:*",
|
||||
"//ui/events/ozone/*",
|
||||
"//ui/ozone/common/*",
|
||||
"//ui/ozone/public/mojom",
|
||||
|
@ -43,6 +43,7 @@ source_set("cast") {
|
||||
"//chromecast:chromecast_buildflags",
|
||||
"//chromecast/base:base",
|
||||
"//chromecast/graphics:libcast_graphics_1.0",
|
||||
"//ui/base/cursor:cursor_base",
|
||||
"//ui/base/ime",
|
||||
"//ui/events/ozone",
|
||||
"//ui/events/ozone/evdev",
|
||||
|
@ -14,6 +14,7 @@
|
||||
#include "chromecast/chromecast_buildflags.h"
|
||||
#include "chromecast/public/cast_egl_platform.h"
|
||||
#include "chromecast/public/cast_egl_platform_shlib.h"
|
||||
#include "ui/base/cursor/cursor_factory.h"
|
||||
#include "ui/base/ime/input_method_minimal.h"
|
||||
#include "ui/display/types/native_display_delegate.h"
|
||||
#include "ui/events/ozone/device/device_manager.h"
|
||||
@ -24,7 +25,6 @@
|
||||
#include "ui/ozone/platform/cast/overlay_manager_cast.h"
|
||||
#include "ui/ozone/platform/cast/platform_window_cast.h"
|
||||
#include "ui/ozone/platform/cast/surface_factory_cast.h"
|
||||
#include "ui/ozone/public/cursor_factory_ozone.h"
|
||||
#include "ui/ozone/public/gpu_platform_support_host.h"
|
||||
#include "ui/ozone/public/input_controller.h"
|
||||
#include "ui/ozone/public/ozone_platform.h"
|
||||
@ -83,9 +83,7 @@ class OzonePlatformCast : public OzonePlatform {
|
||||
OverlayManagerOzone* GetOverlayManager() override {
|
||||
return overlay_manager_.get();
|
||||
}
|
||||
CursorFactoryOzone* GetCursorFactoryOzone() override {
|
||||
return cursor_factory_.get();
|
||||
}
|
||||
CursorFactory* GetCursorFactory() override { return cursor_factory_.get(); }
|
||||
InputController* GetInputController() override {
|
||||
return event_factory_ozone_->input_controller();
|
||||
}
|
||||
@ -123,7 +121,7 @@ class OzonePlatformCast : public OzonePlatform {
|
||||
|
||||
void InitializeUI(const InitParams& params) override {
|
||||
device_manager_ = CreateDeviceManager();
|
||||
cursor_factory_ = std::make_unique<CursorFactoryOzone>();
|
||||
cursor_factory_ = std::make_unique<CursorFactory>();
|
||||
gpu_platform_support_host_.reset(CreateStubGpuPlatformSupportHost());
|
||||
|
||||
// Enable dummy software rendering support if GPU process disabled
|
||||
@ -157,7 +155,7 @@ class OzonePlatformCast : public OzonePlatform {
|
||||
std::unique_ptr<DeviceManager> device_manager_;
|
||||
std::unique_ptr<CastEglPlatform> egl_platform_;
|
||||
std::unique_ptr<SurfaceFactoryCast> surface_factory_;
|
||||
std::unique_ptr<CursorFactoryOzone> cursor_factory_;
|
||||
std::unique_ptr<CursorFactory> cursor_factory_;
|
||||
std::unique_ptr<GpuPlatformSupportHost> gpu_platform_support_host_;
|
||||
std::unique_ptr<OverlayManagerOzone> overlay_manager_;
|
||||
std::unique_ptr<EventFactoryEvdev> event_factory_ozone_;
|
||||
|
@ -128,6 +128,7 @@ source_set("gbm") {
|
||||
"//third_party/minigbm",
|
||||
"//ui/base",
|
||||
"//ui/base/cursor",
|
||||
"//ui/base/cursor:cursor_base",
|
||||
"//ui/base/ime",
|
||||
"//ui/display",
|
||||
"//ui/display/types",
|
||||
|
@ -21,6 +21,7 @@
|
||||
#include "mojo/public/cpp/bindings/pending_receiver.h"
|
||||
#include "mojo/public/cpp/bindings/pending_remote.h"
|
||||
#include "ui/base/buildflags.h"
|
||||
#include "ui/base/cursor/cursor_factory.h"
|
||||
#include "ui/base/cursor/ozone/bitmap_cursor_factory_ozone.h"
|
||||
#include "ui/events/ozone/device/device_manager.h"
|
||||
#include "ui/events/ozone/evdev/event_factory_evdev.h"
|
||||
@ -43,7 +44,6 @@
|
||||
#include "ui/ozone/platform/drm/host/drm_window_host.h"
|
||||
#include "ui/ozone/platform/drm/host/drm_window_host_manager.h"
|
||||
#include "ui/ozone/platform/drm/host/host_drm_device.h"
|
||||
#include "ui/ozone/public/cursor_factory_ozone.h"
|
||||
#include "ui/ozone/public/gpu_platform_support_host.h"
|
||||
#include "ui/ozone/public/mojom/drm_device.mojom.h"
|
||||
#include "ui/ozone/public/ozone_platform.h"
|
||||
@ -80,9 +80,7 @@ class OzonePlatformGbm : public OzonePlatform {
|
||||
OverlayManagerOzone* GetOverlayManager() override {
|
||||
return overlay_manager_.get();
|
||||
}
|
||||
CursorFactoryOzone* GetCursorFactoryOzone() override {
|
||||
return cursor_factory_ozone_.get();
|
||||
}
|
||||
CursorFactory* GetCursorFactory() override { return cursor_factory_.get(); }
|
||||
InputController* GetInputController() override {
|
||||
return event_factory_ozone_->input_controller();
|
||||
}
|
||||
@ -202,7 +200,7 @@ class OzonePlatformGbm : public OzonePlatform {
|
||||
display_manager_ = std::make_unique<DrmDisplayHostManager>(
|
||||
adapter, device_manager_.get(), &host_properties_,
|
||||
event_factory_ozone_->input_controller());
|
||||
cursor_factory_ozone_ = std::make_unique<BitmapCursorFactoryOzone>();
|
||||
cursor_factory_ = std::make_unique<BitmapCursorFactoryOzone>();
|
||||
|
||||
host_drm_device_->SetDisplayManager(display_manager_.get());
|
||||
}
|
||||
@ -307,7 +305,7 @@ class OzonePlatformGbm : public OzonePlatform {
|
||||
scoped_refptr<HostDrmDevice> host_drm_device_;
|
||||
base::PlatformThreadRef host_thread_;
|
||||
std::unique_ptr<DeviceManager> device_manager_;
|
||||
std::unique_ptr<BitmapCursorFactoryOzone> cursor_factory_ozone_;
|
||||
std::unique_ptr<CursorFactory> cursor_factory_;
|
||||
std::unique_ptr<DrmWindowHostManager> window_manager_;
|
||||
std::unique_ptr<DrmCursor> cursor_;
|
||||
std::unique_ptr<EventFactoryEvdev> event_factory_ozone_;
|
||||
|
@ -27,6 +27,7 @@ source_set("headless") {
|
||||
"//skia",
|
||||
"//ui/base",
|
||||
"//ui/base/cursor",
|
||||
"//ui/base/cursor:cursor_base",
|
||||
"//ui/base/ime",
|
||||
"//ui/events",
|
||||
"//ui/events/ozone/layout",
|
||||
|
@ -10,6 +10,7 @@
|
||||
#include "base/files/file_path.h"
|
||||
#include "base/macros.h"
|
||||
#include "build/build_config.h"
|
||||
#include "ui/base/cursor/cursor_factory.h"
|
||||
#include "ui/base/cursor/ozone/bitmap_cursor_factory_ozone.h"
|
||||
#include "ui/base/ime/input_method_minimal.h"
|
||||
#include "ui/display/types/native_display_delegate.h"
|
||||
@ -21,7 +22,6 @@
|
||||
#include "ui/ozone/platform/headless/headless_surface_factory.h"
|
||||
#include "ui/ozone/platform/headless/headless_window.h"
|
||||
#include "ui/ozone/platform/headless/headless_window_manager.h"
|
||||
#include "ui/ozone/public/cursor_factory_ozone.h"
|
||||
#include "ui/ozone/public/gpu_platform_support_host.h"
|
||||
#include "ui/ozone/public/input_controller.h"
|
||||
#include "ui/ozone/public/ozone_platform.h"
|
||||
@ -63,9 +63,7 @@ class OzonePlatformHeadless : public OzonePlatform {
|
||||
OverlayManagerOzone* GetOverlayManager() override {
|
||||
return overlay_manager_.get();
|
||||
}
|
||||
CursorFactoryOzone* GetCursorFactoryOzone() override {
|
||||
return cursor_factory_ozone_.get();
|
||||
}
|
||||
CursorFactory* GetCursorFactory() override { return cursor_factory_.get(); }
|
||||
InputController* GetInputController() override {
|
||||
return input_controller_.get();
|
||||
}
|
||||
@ -110,7 +108,7 @@ class OzonePlatformHeadless : public OzonePlatform {
|
||||
|
||||
overlay_manager_ = std::make_unique<StubOverlayManager>();
|
||||
input_controller_ = CreateStubInputController();
|
||||
cursor_factory_ozone_ = std::make_unique<BitmapCursorFactoryOzone>();
|
||||
cursor_factory_ = std::make_unique<BitmapCursorFactoryOzone>();
|
||||
gpu_platform_support_host_.reset(CreateStubGpuPlatformSupportHost());
|
||||
}
|
||||
|
||||
@ -124,7 +122,7 @@ class OzonePlatformHeadless : public OzonePlatform {
|
||||
std::unique_ptr<HeadlessWindowManager> window_manager_;
|
||||
std::unique_ptr<HeadlessSurfaceFactory> surface_factory_;
|
||||
std::unique_ptr<PlatformEventSource> platform_event_source_;
|
||||
std::unique_ptr<CursorFactoryOzone> cursor_factory_ozone_;
|
||||
std::unique_ptr<CursorFactory> cursor_factory_;
|
||||
std::unique_ptr<InputController> input_controller_;
|
||||
std::unique_ptr<GpuPlatformSupportHost> gpu_platform_support_host_;
|
||||
std::unique_ptr<OverlayManagerOzone> overlay_manager_;
|
||||
|
@ -56,6 +56,7 @@ source_set("scenic") {
|
||||
"//third_party/fuchsia-sdk/sdk/pkg/sys_cpp",
|
||||
"//ui/base",
|
||||
"//ui/base/cursor",
|
||||
"//ui/base/cursor:cursor_base",
|
||||
"//ui/base/ime/fuchsia",
|
||||
"//ui/display/fake",
|
||||
"//ui/events:dom_keycode_converter",
|
||||
|
@ -15,6 +15,7 @@
|
||||
#include "base/message_loop/message_pump_type.h"
|
||||
#include "base/notreached.h"
|
||||
#include "mojo/public/cpp/bindings/pending_remote.h"
|
||||
#include "ui/base/cursor/cursor_factory.h"
|
||||
#include "ui/base/cursor/ozone/bitmap_cursor_factory_ozone.h"
|
||||
#include "ui/base/ime/fuchsia/input_method_fuchsia.h"
|
||||
#include "ui/display/fake/fake_display_delegate.h"
|
||||
@ -30,7 +31,6 @@
|
||||
#include "ui/ozone/platform/scenic/scenic_window_manager.h"
|
||||
#include "ui/ozone/platform/scenic/sysmem_buffer_collection.h"
|
||||
#include "ui/ozone/platform_selection.h"
|
||||
#include "ui/ozone/public/cursor_factory_ozone.h"
|
||||
#include "ui/ozone/public/gpu_platform_support_host.h"
|
||||
#include "ui/ozone/public/input_controller.h"
|
||||
#include "ui/ozone/public/mojom/scenic_gpu_service.mojom.h"
|
||||
@ -77,9 +77,7 @@ class OzonePlatformScenic
|
||||
return overlay_manager_.get();
|
||||
}
|
||||
|
||||
CursorFactoryOzone* GetCursorFactoryOzone() override {
|
||||
return cursor_factory_ozone_.get();
|
||||
}
|
||||
CursorFactory* GetCursorFactory() override { return cursor_factory_.get(); }
|
||||
|
||||
InputController* GetInputController() override {
|
||||
return input_controller_.get();
|
||||
@ -137,7 +135,7 @@ class OzonePlatformScenic
|
||||
window_manager_ = std::make_unique<ScenicWindowManager>();
|
||||
overlay_manager_ = std::make_unique<StubOverlayManager>();
|
||||
input_controller_ = CreateStubInputController();
|
||||
cursor_factory_ozone_ = std::make_unique<BitmapCursorFactoryOzone>();
|
||||
cursor_factory_ = std::make_unique<BitmapCursorFactoryOzone>();
|
||||
|
||||
scenic_gpu_host_ = std::make_unique<ScenicGpuHost>(window_manager_.get());
|
||||
|
||||
@ -208,7 +206,7 @@ class OzonePlatformScenic
|
||||
|
||||
std::unique_ptr<KeyboardLayoutEngine> keyboard_layout_engine_;
|
||||
std::unique_ptr<PlatformEventSource> platform_event_source_;
|
||||
std::unique_ptr<CursorFactoryOzone> cursor_factory_ozone_;
|
||||
std::unique_ptr<CursorFactory> cursor_factory_;
|
||||
std::unique_ptr<InputController> input_controller_;
|
||||
std::unique_ptr<OverlayManagerOzone> overlay_manager_;
|
||||
std::unique_ptr<ScenicGpuHost> scenic_gpu_host_;
|
||||
|
@ -152,6 +152,7 @@ source_set("wayland") {
|
||||
"//ui/base",
|
||||
"//ui/base:buildflags",
|
||||
"//ui/base/cursor",
|
||||
"//ui/base/cursor:cursor_base",
|
||||
"//ui/base/ime/linux",
|
||||
"//ui/events",
|
||||
"//ui/events:dom_keycode_converter",
|
||||
|
@ -14,6 +14,7 @@
|
||||
#include "base/message_loop/message_pump_type.h"
|
||||
#include "base/threading/sequenced_task_runner_handle.h"
|
||||
#include "ui/base/buildflags.h"
|
||||
#include "ui/base/cursor/cursor_factory.h"
|
||||
#include "ui/base/cursor/ozone/bitmap_cursor_factory_ozone.h"
|
||||
#include "ui/base/ime/linux/input_method_auralinux.h"
|
||||
#include "ui/events/ozone/layout/keyboard_layout_engine_manager.h"
|
||||
@ -98,9 +99,7 @@ class OzonePlatformWayland : public OzonePlatform {
|
||||
return overlay_manager_.get();
|
||||
}
|
||||
|
||||
CursorFactoryOzone* GetCursorFactoryOzone() override {
|
||||
return cursor_factory_.get();
|
||||
}
|
||||
CursorFactory* GetCursorFactory() override { return cursor_factory_.get(); }
|
||||
|
||||
InputController* GetInputController() override {
|
||||
return input_controller_.get();
|
||||
@ -249,7 +248,7 @@ class OzonePlatformWayland : public OzonePlatform {
|
||||
std::unique_ptr<KeyboardLayoutEngine> keyboard_layout_engine_;
|
||||
std::unique_ptr<WaylandConnection> connection_;
|
||||
std::unique_ptr<WaylandSurfaceFactory> surface_factory_;
|
||||
std::unique_ptr<BitmapCursorFactoryOzone> cursor_factory_;
|
||||
std::unique_ptr<CursorFactory> cursor_factory_;
|
||||
std::unique_ptr<StubOverlayManager> overlay_manager_;
|
||||
std::unique_ptr<InputController> input_controller_;
|
||||
std::unique_ptr<GpuPlatformSupportHost> gpu_platform_support_host_;
|
||||
|
@ -25,6 +25,7 @@ source_set("windows") {
|
||||
"//skia",
|
||||
"//ui/base",
|
||||
"//ui/base/cursor",
|
||||
"//ui/base/cursor:cursor_base",
|
||||
"//ui/display/fake",
|
||||
"//ui/events",
|
||||
"//ui/events/ozone/layout",
|
||||
|
@ -10,6 +10,7 @@
|
||||
#include "base/files/file_path.h"
|
||||
#include "base/macros.h"
|
||||
#include "base/memory/ptr_util.h"
|
||||
#include "ui/base/cursor/cursor_factory.h"
|
||||
#include "ui/base/cursor/ozone/bitmap_cursor_factory_ozone.h"
|
||||
#include "ui/display/fake/fake_display_delegate.h"
|
||||
#include "ui/events/ozone/layout/keyboard_layout_engine_manager.h"
|
||||
@ -20,7 +21,6 @@
|
||||
#include "ui/ozone/platform/windows/windows_surface_factory.h"
|
||||
#include "ui/ozone/platform/windows/windows_window.h"
|
||||
#include "ui/ozone/platform/windows/windows_window_manager.h"
|
||||
#include "ui/ozone/public/cursor_factory_ozone.h"
|
||||
#include "ui/ozone/public/gpu_platform_support_host.h"
|
||||
#include "ui/ozone/public/input_controller.h"
|
||||
#include "ui/ozone/public/ozone_platform.h"
|
||||
@ -56,9 +56,7 @@ class OzonePlatformWindows : public OzonePlatform {
|
||||
OverlayManagerOzone* GetOverlayManager() override {
|
||||
return overlay_manager_.get();
|
||||
}
|
||||
CursorFactoryOzone* GetCursorFactoryOzone() override {
|
||||
return cursor_factory_ozone_.get();
|
||||
}
|
||||
CursorFactory* GetCursorFactory() override { return cursor_factory_.get(); }
|
||||
InputController* GetInputController() override {
|
||||
return input_controller_.get();
|
||||
}
|
||||
@ -96,7 +94,7 @@ class OzonePlatformWindows : public OzonePlatform {
|
||||
|
||||
overlay_manager_ = std::make_unique<StubOverlayManager>();
|
||||
input_controller_ = CreateStubInputController();
|
||||
cursor_factory_ozone_ = std::make_unique<BitmapCursorFactoryOzone>();
|
||||
cursor_factory_ = std::make_unique<BitmapCursorFactory>();
|
||||
gpu_platform_support_host_.reset(CreateStubGpuPlatformSupportHost());
|
||||
}
|
||||
|
||||
@ -110,7 +108,7 @@ class OzonePlatformWindows : public OzonePlatform {
|
||||
std::unique_ptr<WindowsWindowManager> window_manager_;
|
||||
std::unique_ptr<WindowsSurfaceFactory> surface_factory_;
|
||||
std::unique_ptr<PlatformEventSource> platform_event_source_;
|
||||
std::unique_ptr<CursorFactoryOzone> cursor_factory_ozone_;
|
||||
std::unique_ptr<CursorFactory> cursor_factory_;
|
||||
std::unique_ptr<InputController> input_controller_;
|
||||
std::unique_ptr<GpuPlatformSupportHost> gpu_platform_support_host_;
|
||||
std::unique_ptr<OverlayManagerOzone> overlay_manager_;
|
||||
|
@ -34,7 +34,10 @@ source_set("x11") {
|
||||
"x11_surface_factory.h",
|
||||
]
|
||||
|
||||
public_deps = [ "//ui/base/cursor/mojom:cursor_type" ]
|
||||
public_deps = [
|
||||
"//ui/base/cursor:cursor_base",
|
||||
"//ui/base/cursor/mojom:cursor_type",
|
||||
]
|
||||
|
||||
deps = [
|
||||
"//base",
|
||||
|
@ -11,6 +11,7 @@
|
||||
#include "base/strings/utf_string_conversions.h"
|
||||
#include "build/build_config.h"
|
||||
#include "ui/base/buildflags.h"
|
||||
#include "ui/base/cursor/cursor_factory.h"
|
||||
#include "ui/base/dragdrop/os_exchange_data_provider_factory.h"
|
||||
#include "ui/base/dragdrop/os_exchange_data_provider_factory_ozone.h"
|
||||
#include "ui/base/ime/linux/linux_input_method_context_factory.h"
|
||||
@ -88,9 +89,7 @@ class OzonePlatformX11 : public OzonePlatform,
|
||||
return overlay_manager_.get();
|
||||
}
|
||||
|
||||
CursorFactoryOzone* GetCursorFactoryOzone() override {
|
||||
return cursor_factory_ozone_.get();
|
||||
}
|
||||
CursorFactory* GetCursorFactory() override { return cursor_factory_.get(); }
|
||||
|
||||
std::unique_ptr<SystemInputInjector> CreateSystemInputInjector() override {
|
||||
return nullptr;
|
||||
@ -167,7 +166,7 @@ class OzonePlatformX11 : public OzonePlatform,
|
||||
overlay_manager_ = std::make_unique<StubOverlayManager>();
|
||||
input_controller_ = CreateStubInputController();
|
||||
clipboard_ = std::make_unique<X11ClipboardOzone>();
|
||||
cursor_factory_ozone_ = std::make_unique<X11CursorFactoryOzone>();
|
||||
cursor_factory_ = std::make_unique<X11CursorFactoryOzone>();
|
||||
gpu_platform_support_host_.reset(CreateStubGpuPlatformSupportHost());
|
||||
|
||||
#if BUILDFLAG(USE_XKBCOMMON)
|
||||
@ -238,7 +237,7 @@ class OzonePlatformX11 : public OzonePlatform,
|
||||
std::unique_ptr<OverlayManagerOzone> overlay_manager_;
|
||||
std::unique_ptr<InputController> input_controller_;
|
||||
std::unique_ptr<X11ClipboardOzone> clipboard_;
|
||||
std::unique_ptr<X11CursorFactoryOzone> cursor_factory_ozone_;
|
||||
std::unique_ptr<CursorFactory> cursor_factory_;
|
||||
std::unique_ptr<GpuPlatformSupportHost> gpu_platform_support_host_;
|
||||
|
||||
// Objects in the GPU process.
|
||||
|
@ -11,15 +11,15 @@
|
||||
|
||||
#include "base/macros.h"
|
||||
#include "ui/base/cursor/cursor.h"
|
||||
#include "ui/base/cursor/cursor_factory.h"
|
||||
#include "ui/base/cursor/mojom/cursor_type.mojom-forward.h"
|
||||
#include "ui/gfx/x/x11.h"
|
||||
#include "ui/ozone/platform/x11/x11_cursor_ozone.h"
|
||||
#include "ui/ozone/public/cursor_factory_ozone.h"
|
||||
|
||||
namespace ui {
|
||||
|
||||
// CursorFactoryOzone implementation for X11 cursors.
|
||||
class X11CursorFactoryOzone : public CursorFactoryOzone {
|
||||
class X11CursorFactoryOzone : public CursorFactory {
|
||||
public:
|
||||
X11CursorFactoryOzone();
|
||||
~X11CursorFactoryOzone() override;
|
||||
|
@ -1,63 +0,0 @@
|
||||
// Copyright 2014 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/public/cursor_factory_ozone.h"
|
||||
|
||||
#include "base/check_op.h"
|
||||
#include "base/notreached.h"
|
||||
|
||||
namespace ui {
|
||||
|
||||
namespace {
|
||||
|
||||
CursorFactoryOzone* g_instance = nullptr;
|
||||
|
||||
} // namespace
|
||||
|
||||
CursorFactoryOzone::CursorFactoryOzone() {
|
||||
DCHECK(!g_instance)
|
||||
<< "There should only be a single CursorFactoryOzone per thread.";
|
||||
g_instance = this;
|
||||
}
|
||||
|
||||
CursorFactoryOzone::~CursorFactoryOzone() {
|
||||
DCHECK_EQ(g_instance, this);
|
||||
g_instance = nullptr;
|
||||
}
|
||||
|
||||
CursorFactoryOzone* CursorFactoryOzone::GetInstance() {
|
||||
DCHECK(g_instance);
|
||||
return g_instance;
|
||||
}
|
||||
|
||||
PlatformCursor CursorFactoryOzone::GetDefaultCursor(mojom::CursorType type) {
|
||||
NOTIMPLEMENTED();
|
||||
return NULL;
|
||||
}
|
||||
|
||||
PlatformCursor CursorFactoryOzone::CreateImageCursor(const SkBitmap& bitmap,
|
||||
const gfx::Point& hotspot,
|
||||
float bitmap_dpi) {
|
||||
NOTIMPLEMENTED();
|
||||
return NULL;
|
||||
}
|
||||
|
||||
PlatformCursor CursorFactoryOzone::CreateAnimatedCursor(
|
||||
const std::vector<SkBitmap>& bitmaps,
|
||||
const gfx::Point& hotspot,
|
||||
int frame_delay_ms,
|
||||
float bitmap_dpi) {
|
||||
NOTIMPLEMENTED();
|
||||
return NULL;
|
||||
}
|
||||
|
||||
void CursorFactoryOzone::RefImageCursor(PlatformCursor cursor) {
|
||||
NOTIMPLEMENTED();
|
||||
}
|
||||
|
||||
void CursorFactoryOzone::UnrefImageCursor(PlatformCursor cursor) {
|
||||
NOTIMPLEMENTED();
|
||||
}
|
||||
|
||||
} // namespace ui
|
@ -23,8 +23,7 @@ class NativeDisplayDelegate;
|
||||
}
|
||||
|
||||
namespace ui {
|
||||
|
||||
class CursorFactoryOzone;
|
||||
class CursorFactory;
|
||||
class InputController;
|
||||
class GpuPlatformSupportHost;
|
||||
class OverlayManagerOzone;
|
||||
@ -129,7 +128,7 @@ class COMPONENT_EXPORT(OZONE) OzonePlatform {
|
||||
// inject these objects themselves. Ownership is retained by OzonePlatform.
|
||||
virtual ui::SurfaceFactoryOzone* GetSurfaceFactoryOzone() = 0;
|
||||
virtual ui::OverlayManagerOzone* GetOverlayManager() = 0;
|
||||
virtual ui::CursorFactoryOzone* GetCursorFactoryOzone() = 0;
|
||||
virtual ui::CursorFactory* GetCursorFactory() = 0;
|
||||
virtual ui::InputController* GetInputController() = 0;
|
||||
virtual ui::GpuPlatformSupportHost* GetGpuPlatformSupportHost() = 0;
|
||||
virtual std::unique_ptr<SystemInputInjector> CreateSystemInputInjector() = 0;
|
||||
|
Reference in New Issue
Block a user