diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2020-10-12 14:27:29 +0200 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2020-10-13 09:35:20 +0000 |
commit | c30a6232df03e1efbd9f3b226777b07e087a1122 (patch) | |
tree | e992f45784689f373bcc38d1b79a239ebe17ee23 /chromium/content/common/cursors | |
parent | 7b5b123ac58f58ffde0f4f6e488bcd09aa4decd3 (diff) | |
download | qtwebengine-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/DEPS | 8 | ||||
-rw-r--r-- | chromium/content/common/cursors/webcursor.cc | 6 | ||||
-rw-r--r-- | chromium/content/common/cursors/webcursor.h | 3 | ||||
-rw-r--r-- | chromium/content/common/cursors/webcursor_android.cc | 4 | ||||
-rw-r--r-- | chromium/content/common/cursors/webcursor_aurawin.cc | 14 | ||||
-rw-r--r-- | chromium/content/common/cursors/webcursor_aurax11.cc | 50 | ||||
-rw-r--r-- | chromium/content/common/cursors/webcursor_mac.mm | 10 | ||||
-rw-r--r-- | chromium/content/common/cursors/webcursor_ozone.cc | 28 | ||||
-rw-r--r-- | chromium/content/common/cursors/webcursor_unittest.cc | 5 |
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 } |