summaryrefslogtreecommitdiff
path: root/chromium/ui/aura/cursor
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/ui/aura/cursor')
-rw-r--r--chromium/ui/aura/cursor/BUILD.gn3
-rw-r--r--chromium/ui/aura/cursor/cursor_loader_unittest.cc49
-rw-r--r--chromium/ui/aura/cursor/cursors_aura.h2
3 files changed, 52 insertions, 2 deletions
diff --git a/chromium/ui/aura/cursor/BUILD.gn b/chromium/ui/aura/cursor/BUILD.gn
index 57683e9616c..41b7004c087 100644
--- a/chromium/ui/aura/cursor/BUILD.gn
+++ b/chromium/ui/aura/cursor/BUILD.gn
@@ -42,8 +42,11 @@ source_set("unittests") {
"//skia",
"//testing/gtest",
"//ui/aura:test_support",
+ "//ui/base",
"//ui/base/cursor",
"//ui/base/cursor/mojom:cursor_type",
+ "//ui/gfx:gfx_skia",
"//ui/gfx/geometry",
]
+ data_deps = [ "//ui/resources:ui_test_pak_data" ]
}
diff --git a/chromium/ui/aura/cursor/cursor_loader_unittest.cc b/chromium/ui/aura/cursor/cursor_loader_unittest.cc
index d939ac5cb83..64529c0033d 100644
--- a/chromium/ui/aura/cursor/cursor_loader_unittest.cc
+++ b/chromium/ui/aura/cursor/cursor_loader_unittest.cc
@@ -4,21 +4,36 @@
#include "ui/aura/cursor/cursor_loader.h"
+#include "base/files/file_path.h"
#include "base/memory/scoped_refptr.h"
+#include "base/path_service.h"
#include "testing/gtest/include/gtest/gtest.h"
+#include "third_party/skia/include/core/SkBitmap.h"
+#include "ui/aura/cursor/cursor_lookup.h"
+#include "ui/aura/cursor/cursors_aura.h"
#include "ui/aura/test/aura_test_base.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/base/cursor/platform_cursor.h"
+#include "ui/base/resource/resource_bundle.h"
+#include "ui/base/ui_base_paths.h"
+#include "ui/gfx/geometry/point.h"
+#include "ui/gfx/skia_util.h"
namespace aura {
namespace {
-using CursorLoaderTest = ::aura::test::AuraTestBase;
+using CursorLoaderTest = test::AuraTestBase;
using ::ui::mojom::CursorType;
+SkBitmap GetTestBitmap() {
+ SkBitmap bitmap;
+ bitmap.allocN32Pixels(10, 10);
+ return bitmap;
+}
+
} // namespace
TEST_F(CursorLoaderTest, InvisibleCursor) {
@@ -26,9 +41,39 @@ TEST_F(CursorLoaderTest, InvisibleCursor) {
ui::Cursor invisible_cursor(CursorType::kNone);
cursor_loader.SetPlatformCursor(&invisible_cursor);
- ASSERT_EQ(
+ EXPECT_EQ(
invisible_cursor.platform(),
ui::CursorFactory::GetInstance()->GetDefaultCursor(CursorType::kNone));
}
+// TODO(https://crbug.com/1270302): although this is testing `GetCursorBitmap`
+// from cursor_lookup.h, that will be replaced by a method of the same name in
+// CursorLoader.
+TEST_F(CursorLoaderTest, GetCursorData) {
+ ui::RegisterPathProvider();
+ base::FilePath ui_test_pak_path =
+ base::PathService::CheckedGet(ui::UI_TEST_PAK);
+ ui::ResourceBundle::InitSharedInstanceWithPakPath(ui_test_pak_path);
+
+ const ui::Cursor invisible_cursor = CursorType::kNone;
+ EXPECT_TRUE(GetCursorBitmap(invisible_cursor).isNull());
+ EXPECT_TRUE(GetCursorHotspot(invisible_cursor).IsOrigin());
+
+ const ui::Cursor pointer_cursor = CursorType::kPointer;
+ EXPECT_FALSE(GetCursorBitmap(pointer_cursor).isNull());
+ EXPECT_TRUE(gfx::BitmapsAreEqual(GetCursorBitmap(pointer_cursor),
+ GetDefaultBitmap(pointer_cursor)));
+ EXPECT_EQ(GetCursorHotspot(pointer_cursor),
+ GetDefaultHotspot(pointer_cursor));
+
+ ui::Cursor custom_cursor(CursorType::kCustom);
+ const SkBitmap kBitmap = GetTestBitmap();
+ constexpr gfx::Point kHotspot = gfx::Point(10, 10);
+ custom_cursor.set_custom_bitmap(kBitmap);
+ custom_cursor.set_custom_hotspot(kHotspot);
+ EXPECT_EQ(GetCursorBitmap(custom_cursor).getGenerationID(),
+ kBitmap.getGenerationID());
+ EXPECT_EQ(GetCursorHotspot(custom_cursor), kHotspot);
+}
+
} // namespace aura
diff --git a/chromium/ui/aura/cursor/cursors_aura.h b/chromium/ui/aura/cursor/cursors_aura.h
index 020a43ae09a..3a13dcdc887 100644
--- a/chromium/ui/aura/cursor/cursors_aura.h
+++ b/chromium/ui/aura/cursor/cursors_aura.h
@@ -32,8 +32,10 @@ bool GetCursorDataFor(ui::CursorSize cursor_size,
int* resource_id,
gfx::Point* point);
+COMPONENT_EXPORT(UI_AURA_CURSOR)
SkBitmap GetDefaultBitmap(const ui::Cursor& cursor);
+COMPONENT_EXPORT(UI_AURA_CURSOR)
gfx::Point GetDefaultHotspot(const ui::Cursor& cursor);
} // namespace aura