Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1342)

Unified Diff: third_party/WebKit/Source/web/tests/WebFrameTest.cpp

Issue 2922193002: Change hover element to HTML element when over root scrollbar (Closed)
Patch Set: rebaseline layout test Created 3 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/web/tests/WebFrameTest.cpp
diff --git a/third_party/WebKit/Source/web/tests/WebFrameTest.cpp b/third_party/WebKit/Source/web/tests/WebFrameTest.cpp
index e0419bfb758468818ca8bf3241289d7cf6bc27a3..816769ccfd565c55338a066f357d2aab385f68ee 100644
--- a/third_party/WebKit/Source/web/tests/WebFrameTest.cpp
+++ b/third_party/WebKit/Source/web/tests/WebFrameTest.cpp
@@ -11281,7 +11281,7 @@ TEST_F(WebFrameTest, MouseOverLinkAndOverlayScrollbar) {
web_view->CoreHitTestResultAt(WebPoint(18, a_tag->OffsetTop()));
EXPECT_FALSE(hit_test_result.URLElement());
- EXPECT_FALSE(hit_test_result.InnerElement());
+ EXPECT_TRUE(hit_test_result.InnerElement());
EXPECT_TRUE(hit_test_result.GetScrollbar());
EXPECT_FALSE(hit_test_result.GetScrollbar()->IsCustomScrollbar());
@@ -11326,8 +11326,8 @@ TEST_F(WebFrameTest, MouseOverLinkAndOverlayScrollbar) {
document->GetFrame()->GetEventHandler().HandleMousePressEvent(
mouse_press_event);
- EXPECT_FALSE(document->ActiveHoverElement());
- EXPECT_FALSE(document->HoverElement());
+ EXPECT_TRUE(document->ActiveHoverElement());
+ EXPECT_TRUE(document->HoverElement());
WebMouseEvent mouse_release_event(
WebInputEvent::kMouseUp, WebFloatPoint(18, a_tag->OffsetTop()),
@@ -11463,7 +11463,7 @@ TEST_F(WebFrameTest, MouseOverScrollbarAndIFrame) {
// Ensure hittest has scrollbar.
hit_test_result = web_view->CoreHitTestResultAt(WebPoint(195, 5));
- EXPECT_FALSE(hit_test_result.InnerElement());
+ EXPECT_TRUE(hit_test_result.InnerElement());
EXPECT_TRUE(hit_test_result.GetScrollbar());
EXPECT_TRUE(hit_test_result.GetScrollbar()->Enabled());
@@ -11587,6 +11587,41 @@ TEST_F(WebFrameTest, MouseOverScrollbarAndParentElement) {
EXPECT_EQ(document->HoverElement(), parent_div);
}
+// Makes sure that mouse over a root scrollbar also hover the html element.
+TEST_F(WebFrameTest, MouseOverRootScrollbar) {
+ RegisterMockedHttpURLLoad("hover-root-scrollbar.html");
+ FrameTestHelpers::WebViewHelper web_view_helper;
+ WebViewBase* web_view = web_view_helper.InitializeAndLoad(
+ base_url_ + "hover-root-scrollbar.html");
+
+ web_view_helper.Resize(WebSize(200, 200));
+
+ web_view->UpdateAllLifecyclePhases();
+
+ Document* document =
+ ToLocalFrame(web_view->GetPage()->MainFrame())->GetDocument();
+
+ // Ensure hittest has <html> element and scrollbar.
+ HitTestResult hit_test_result =
+ web_view->CoreHitTestResultAt(WebPoint(195, 5));
+
+ EXPECT_TRUE(hit_test_result.InnerElement());
+ EXPECT_EQ(hit_test_result.InnerElement(), document->documentElement());
+ EXPECT_TRUE(hit_test_result.GetScrollbar());
+
+ // Mouse over scrollbar.
+ WebMouseEvent mouse_move_over_div_and_scrollbar(
+ WebInputEvent::kMouseMove, WebFloatPoint(195, 5), WebFloatPoint(195, 5),
+ WebPointerProperties::Button::kNoButton, 0, WebInputEvent::kNoModifiers,
+ TimeTicks::Now().InSeconds());
+ mouse_move_over_div_and_scrollbar.SetFrameScale(1);
+ document->GetFrame()->GetEventHandler().HandleMouseMoveEvent(
+ mouse_move_over_div_and_scrollbar, Vector<WebMouseEvent>());
+
+ // Hover <html element.
+ EXPECT_EQ(document->HoverElement(), document->documentElement());
+}
+
TEST_F(WebFrameTest, MouseReleaseUpdatesScrollbarHoveredPart) {
RegisterMockedHttpURLLoad("custom-scrollbar-hover.html");
FrameTestHelpers::WebViewHelper web_view_helper;

Powered by Google App Engine
This is Rietveld 408576698