summaryrefslogtreecommitdiff
path: root/chromium/content/common/cursors
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2020-10-12 14:27:29 +0200
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2020-10-13 09:35:20 +0000
commitc30a6232df03e1efbd9f3b226777b07e087a1122 (patch)
treee992f45784689f373bcc38d1b79a239ebe17ee23 /chromium/content/common/cursors
parent7b5b123ac58f58ffde0f4f6e488bcd09aa4decd3 (diff)
downloadqtwebengine-chromium-85-based.tar.gz
BASELINE: Update Chromium to 85.0.4183.14085-based
Change-Id: Iaa42f4680837c57725b1344f108c0196741f6057 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Diffstat (limited to 'chromium/content/common/cursors')
-rw-r--r--chromium/content/common/cursors/DEPS8
-rw-r--r--chromium/content/common/cursors/webcursor.cc6
-rw-r--r--chromium/content/common/cursors/webcursor.h3
-rw-r--r--chromium/content/common/cursors/webcursor_android.cc4
-rw-r--r--chromium/content/common/cursors/webcursor_aurawin.cc14
-rw-r--r--chromium/content/common/cursors/webcursor_aurax11.cc50
-rw-r--r--chromium/content/common/cursors/webcursor_mac.mm10
-rw-r--r--chromium/content/common/cursors/webcursor_ozone.cc28
-rw-r--r--chromium/content/common/cursors/webcursor_unittest.cc5
9 files changed, 26 insertions, 102 deletions
diff --git a/chromium/content/common/cursors/DEPS b/chromium/content/common/cursors/DEPS
index b2f32dda35c..dc180c4a76e 100644
--- a/chromium/content/common/cursors/DEPS
+++ b/chromium/content/common/cursors/DEPS
@@ -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",
- ],
-}
diff --git a/chromium/content/common/cursors/webcursor.cc b/chromium/content/common/cursors/webcursor.cc
index f1ae85d145f..a9d5a6f64fb 100644
--- a/chromium/content/common/cursors/webcursor.cc
+++ b/chromium/content/common/cursors/webcursor.cc
@@ -61,11 +61,11 @@ bool WebCursor::SetCursor(const ui::Cursor& cursor) {
}
bool WebCursor::operator==(const WebCursor& other) const {
- return cursor_ == other.cursor_ &&
+ return
#if defined(USE_AURA) || defined(USE_OZONE)
- rotation_ == other.rotation_ &&
+ rotation_ == other.rotation_ &&
#endif
- IsPlatformDataEqual(other);
+ cursor_ == other.cursor_;
}
bool WebCursor::operator!=(const WebCursor& other) const {
diff --git a/chromium/content/common/cursors/webcursor.h b/chromium/content/common/cursors/webcursor.h
index 6ae0aa5f459..0d51b09ac86 100644
--- a/chromium/content/common/cursors/webcursor.h
+++ b/chromium/content/common/cursors/webcursor.h
@@ -61,9 +61,6 @@ class CONTENT_EXPORT WebCursor {
#endif
private:
- // Returns true if this cursor's platform data matches that of |other|.
- bool IsPlatformDataEqual(const WebCursor& other) const;
-
// Copies all data from |other| to this object.
void CopyAllData(const WebCursor& other);
diff --git a/chromium/content/common/cursors/webcursor_android.cc b/chromium/content/common/cursors/webcursor_android.cc
index 9cf5a2a8e6d..59989ccb0ad 100644
--- a/chromium/content/common/cursors/webcursor_android.cc
+++ b/chromium/content/common/cursors/webcursor_android.cc
@@ -18,10 +18,6 @@ gfx::NativeCursor WebCursor::GetNativeCursor() {
void WebCursor::SetDisplayInfo(const display::Display& display) {}
#endif
-bool WebCursor::IsPlatformDataEqual(const WebCursor& other) const {
- return true;
-}
-
void WebCursor::CleanupPlatformData() {}
void WebCursor::CopyPlatformData(const WebCursor& other) {}
diff --git a/chromium/content/common/cursors/webcursor_aurawin.cc b/chromium/content/common/cursors/webcursor_aurawin.cc
index 03a751fdcb8..567733c90e1 100644
--- a/chromium/content/common/cursors/webcursor_aurawin.cc
+++ b/chromium/content/common/cursors/webcursor_aurawin.cc
@@ -6,29 +6,25 @@
#include <windows.h>
-#include "ui/base/cursor/cursor_lookup.h"
+#include "base/check_op.h"
#include "ui/base/cursor/mojom/cursor_type.mojom-shared.h"
#include "ui/gfx/icon_util.h"
namespace content {
ui::PlatformCursor WebCursor::GetPlatformCursor(const ui::Cursor& cursor) {
- if (cursor_.type() != ui::mojom::CursorType::kCustom)
- return LoadCursor(nullptr, IDC_ARROW);
+ // The other cursor types are set in CursorLoaderWin
+ DCHECK_EQ(cursor.type(), ui::mojom::CursorType::kCustom);
if (platform_cursor_)
return platform_cursor_;
- platform_cursor_ = IconUtil::CreateCursorFromSkBitmap(
- GetCursorBitmap(cursor), GetCursorHotspot(cursor))
+ platform_cursor_ = IconUtil::CreateCursorFromSkBitmap(cursor.custom_bitmap(),
+ cursor.custom_hotspot())
.release();
return platform_cursor_;
}
-bool WebCursor::IsPlatformDataEqual(const WebCursor& other) const {
- return true;
-}
-
void WebCursor::CleanupPlatformData() {
if (platform_cursor_) {
DestroyIcon(platform_cursor_);
diff --git a/chromium/content/common/cursors/webcursor_aurax11.cc b/chromium/content/common/cursors/webcursor_aurax11.cc
deleted file mode 100644
index 2fdcd9f9610..00000000000
--- a/chromium/content/common/cursors/webcursor_aurax11.cc
+++ /dev/null
@@ -1,50 +0,0 @@
-// Copyright (c) 2012 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 "content/common/cursors/webcursor.h"
-
-
-#include "ui/base/cursor/cursor.h"
-#include "ui/base/cursor/cursor_loader_x11.h"
-#include "ui/base/cursor/cursor_lookup.h"
-#include "ui/base/x/x11_util.h"
-#include "ui/gfx/x/x11.h"
-
-namespace content {
-
-ui::PlatformCursor WebCursor::GetPlatformCursor(const ui::Cursor& cursor) {
- if (platform_cursor_)
- return platform_cursor_;
-
- SkBitmap bitmap = GetCursorBitmap(cursor);
-
- XcursorImage* image =
- ui::SkBitmapToXcursorImage(bitmap, GetCursorHotspot(cursor));
- platform_cursor_ = ui::CreateReffedCustomXCursor(image);
- return platform_cursor_;
-}
-
-bool WebCursor::IsPlatformDataEqual(const WebCursor& other) const {
- return true;
-}
-
-void WebCursor::CleanupPlatformData() {
- if (platform_cursor_) {
- ui::UnrefCustomXCursor(platform_cursor_);
- platform_cursor_ = 0;
- }
- custom_cursor_.reset();
-}
-
-void WebCursor::CopyPlatformData(const WebCursor& other) {
- if (platform_cursor_)
- ui::UnrefCustomXCursor(platform_cursor_);
- platform_cursor_ = other.platform_cursor_;
- if (platform_cursor_)
- ui::RefCustomXCursor(platform_cursor_);
-
- device_scale_factor_ = other.device_scale_factor_;
-}
-
-} // namespace content
diff --git a/chromium/content/common/cursors/webcursor_mac.mm b/chromium/content/common/cursors/webcursor_mac.mm
index 06c74d0c4ab..0fd7909e30d 100644
--- a/chromium/content/common/cursors/webcursor_mac.mm
+++ b/chromium/content/common/cursors/webcursor_mac.mm
@@ -232,11 +232,7 @@ gfx::NativeCursor WebCursor::GetNativeCursor() {
return GetCoreCursorWithFallback(kMoveCursor,
IDR_MOVE_CURSOR, 7, 7);
case ui::mojom::CursorType::kVerticalText:
- // IBeamCursorForVerticalLayout is >= 10.7.
- if ([NSCursor respondsToSelector:@selector(IBeamCursorForVerticalLayout)])
- return [NSCursor IBeamCursorForVerticalLayout];
- else
- return LoadCursor(IDR_VERTICALTEXT_CURSOR, 7, 7);
+ return [NSCursor IBeamCursorForVerticalLayout];
case ui::mojom::CursorType::kCell:
return GetCoreCursorWithFallback(kCellCursor,
IDR_CELL_CURSOR, 7, 7);
@@ -279,10 +275,6 @@ gfx::NativeCursor WebCursor::GetNativeCursor() {
return nil;
}
-bool WebCursor::IsPlatformDataEqual(const WebCursor& other) const {
- return true;
-}
-
void WebCursor::CleanupPlatformData() {}
void WebCursor::CopyPlatformData(const WebCursor& other) {}
diff --git a/chromium/content/common/cursors/webcursor_ozone.cc b/chromium/content/common/cursors/webcursor_ozone.cc
index 1f3644bb1e0..1663960eaa4 100644
--- a/chromium/content/common/cursors/webcursor_ozone.cc
+++ b/chromium/content/common/cursors/webcursor_ozone.cc
@@ -6,23 +6,26 @@
#include <algorithm>
+#include "base/check_op.h"
#include "ui/base/cursor/cursor.h"
-#include "ui/base/cursor/cursor_lookup.h"
-#include "ui/base/cursor/cursor_util.h"
-#include "ui/ozone/public/cursor_factory_ozone.h"
+#include "ui/base/cursor/cursor_factory.h"
+#include "ui/base/cursor/mojom/cursor_type.mojom-shared.h"
namespace content {
ui::PlatformCursor WebCursor::GetPlatformCursor(const ui::Cursor& cursor) {
+ // The other cursor types are set in CursorLoaderOzone
+ DCHECK_EQ(cursor.type(), ui::mojom::CursorType::kCustom);
+
if (!platform_cursor_) {
- platform_cursor_ = ui::CursorFactoryOzone::GetInstance()->CreateImageCursor(
- GetCursorBitmap(cursor), GetCursorHotspot(cursor),
- cursor.image_scale_factor());
+ platform_cursor_ = ui::CursorFactory::GetInstance()->CreateImageCursor(
+ cursor.custom_bitmap(), cursor.custom_hotspot());
}
return platform_cursor_;
}
+#if defined(USE_OZONE)
void WebCursor::SetDisplayInfo(const display::Display& display) {
if (rotation_ == display.panel_rotation() &&
device_scale_factor_ == display.device_scale_factor() &&
@@ -51,14 +54,11 @@ float WebCursor::GetCursorScaleFactor(SkBitmap* bitmap) {
static_cast<float>(maximum_cursor_size_.width()) / bitmap->width(),
static_cast<float>(maximum_cursor_size_.height()) / bitmap->height()});
}
-
-bool WebCursor::IsPlatformDataEqual(const WebCursor& other) const {
- return true;
-}
+#endif
void WebCursor::CleanupPlatformData() {
if (platform_cursor_) {
- ui::CursorFactoryOzone::GetInstance()->UnrefImageCursor(platform_cursor_);
+ ui::CursorFactory::GetInstance()->UnrefImageCursor(platform_cursor_);
platform_cursor_ = NULL;
}
custom_cursor_.reset();
@@ -66,13 +66,15 @@ 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_;
+#if defined(USE_OZONE)
maximum_cursor_size_ = other.maximum_cursor_size_;
+#endif
}
} // namespace content
diff --git a/chromium/content/common/cursors/webcursor_unittest.cc b/chromium/content/common/cursors/webcursor_unittest.cc
index 7ccdbcc6ae6..5073af765ae 100644
--- a/chromium/content/common/cursors/webcursor_unittest.cc
+++ b/chromium/content/common/cursors/webcursor_unittest.cc
@@ -9,7 +9,6 @@
#include "testing/gtest/include/gtest/gtest.h"
#include "third_party/skia/include/core/SkBitmap.h"
#include "ui/base/cursor/cursor.h"
-#include "ui/base/cursor/cursor_lookup.h"
#include "ui/base/cursor/mojom/cursor_type.mojom-shared.h"
#if defined(OS_WIN)
@@ -53,7 +52,7 @@ TEST(WebCursorTest, WebCursorCursorConstructorCustom) {
// Test if the custom cursor is correctly cached and updated
// on aura platform.
gfx::NativeCursor native_cursor = webcursor.GetNativeCursor();
- EXPECT_EQ(gfx::Point(5, 10), GetCursorHotspot(native_cursor));
+ EXPECT_EQ(gfx::Point(5, 10), native_cursor.custom_hotspot());
EXPECT_TRUE(webcursor.has_custom_cursor_for_test());
webcursor.SetCursor(cursor);
EXPECT_FALSE(webcursor.has_custom_cursor_for_test());
@@ -71,7 +70,7 @@ TEST(WebCursorTest, WebCursorCursorConstructorCustom) {
// Hotspot should be scaled & rotated. We're using the icon created for 2.0,
// on the display with dsf=1.0, so the host spot should be
// ((32 - 20) / 2, 10 / 2) = (6, 5).
- EXPECT_EQ(gfx::Point(6, 5), GetCursorHotspot(native_cursor));
+ EXPECT_EQ(gfx::Point(6, 5), native_cursor.custom_hotspot());
#endif
#endif
}