| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2010 Google Inc. All rights reserved. | 2 * Copyright (C) 2010 Google Inc. All rights reserved. |
| 3 * | 3 * |
| 4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
| 5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
| 6 * met: | 6 * met: |
| 7 * | 7 * |
| 8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
| 9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
| 10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
| (...skipping 10785 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 10796 WebMouseEvent mouseMoveOverLinkEvent( | 10796 WebMouseEvent mouseMoveOverLinkEvent( |
| 10797 WebInputEvent::MouseMove, | 10797 WebInputEvent::MouseMove, |
| 10798 WebFloatPoint(div1Tag->offsetLeft() + 5, div1Tag->offsetTop() + 5), | 10798 WebFloatPoint(div1Tag->offsetLeft() + 5, div1Tag->offsetTop() + 5), |
| 10799 WebFloatPoint(div1Tag->offsetLeft() + 5, div1Tag->offsetTop() + 5), | 10799 WebFloatPoint(div1Tag->offsetLeft() + 5, div1Tag->offsetTop() + 5), |
| 10800 WebPointerProperties::Button::NoButton, 0, WebInputEvent::NoModifiers, | 10800 WebPointerProperties::Button::NoButton, 0, WebInputEvent::NoModifiers, |
| 10801 TimeTicks::Now().InSeconds()); | 10801 TimeTicks::Now().InSeconds()); |
| 10802 mouseMoveOverLinkEvent.setFrameScale(1); | 10802 mouseMoveOverLinkEvent.setFrameScale(1); |
| 10803 document->frame()->eventHandler().handleMouseMoveEvent( | 10803 document->frame()->eventHandler().handleMouseMoveEvent( |
| 10804 mouseMoveOverLinkEvent, Vector<WebMouseEvent>()); | 10804 mouseMoveOverLinkEvent, Vector<WebMouseEvent>()); |
| 10805 | 10805 |
| 10806 EXPECT_EQ(document->hoverNode(), | 10806 EXPECT_EQ(document->hoverElement(), |
| 10807 document->frame()->chromeClient().lastSetTooltipNodeForTesting()); | 10807 document->frame()->chromeClient().lastSetTooltipNodeForTesting()); |
| 10808 EXPECT_EQ(div1Tag, | 10808 EXPECT_EQ(div1Tag, |
| 10809 document->frame()->chromeClient().lastSetTooltipNodeForTesting()); | 10809 document->frame()->chromeClient().lastSetTooltipNodeForTesting()); |
| 10810 | 10810 |
| 10811 Element* div2Tag = document->getElementById("div2"); | 10811 Element* div2Tag = document->getElementById("div2"); |
| 10812 | 10812 |
| 10813 WebMouseEvent mouseMoveEvent( | 10813 WebMouseEvent mouseMoveEvent( |
| 10814 WebInputEvent::MouseMove, | 10814 WebInputEvent::MouseMove, |
| 10815 WebFloatPoint(div2Tag->offsetLeft() + 5, div2Tag->offsetTop() + 5), | 10815 WebFloatPoint(div2Tag->offsetLeft() + 5, div2Tag->offsetTop() + 5), |
| 10816 WebFloatPoint(div2Tag->offsetLeft() + 5, div2Tag->offsetTop() + 5), | 10816 WebFloatPoint(div2Tag->offsetLeft() + 5, div2Tag->offsetTop() + 5), |
| 10817 WebPointerProperties::Button::NoButton, 0, WebInputEvent::NoModifiers, | 10817 WebPointerProperties::Button::NoButton, 0, WebInputEvent::NoModifiers, |
| 10818 TimeTicks::Now().InSeconds()); | 10818 TimeTicks::Now().InSeconds()); |
| 10819 mouseMoveEvent.setFrameScale(1); | 10819 mouseMoveEvent.setFrameScale(1); |
| 10820 document->frame()->eventHandler().handleMouseMoveEvent( | 10820 document->frame()->eventHandler().handleMouseMoveEvent( |
| 10821 mouseMoveEvent, Vector<WebMouseEvent>()); | 10821 mouseMoveEvent, Vector<WebMouseEvent>()); |
| 10822 | 10822 |
| 10823 EXPECT_EQ(document->hoverNode(), | 10823 EXPECT_EQ(document->hoverElement(), |
| 10824 document->frame()->chromeClient().lastSetTooltipNodeForTesting()); | 10824 document->frame()->chromeClient().lastSetTooltipNodeForTesting()); |
| 10825 EXPECT_EQ(div2Tag, | 10825 EXPECT_EQ(div2Tag, |
| 10826 document->frame()->chromeClient().lastSetTooltipNodeForTesting()); | 10826 document->frame()->chromeClient().lastSetTooltipNodeForTesting()); |
| 10827 } | 10827 } |
| 10828 | 10828 |
| 10829 // Makes sure that mouse hover over an overlay scrollbar doesn't activate | 10829 // Makes sure that mouse hover over an overlay scrollbar doesn't activate |
| 10830 // elements below(except the Element that owns the scrollbar) unless the | 10830 // elements below(except the Element that owns the scrollbar) unless the |
| 10831 // scrollbar is faded out. | 10831 // scrollbar is faded out. |
| 10832 TEST_F(WebFrameTest, MouseOverLinkAndOverlayScrollbar) { | 10832 TEST_F(WebFrameTest, MouseOverLinkAndOverlayScrollbar) { |
| 10833 FrameTestHelpers::WebViewHelper webViewHelper; | 10833 FrameTestHelpers::WebViewHelper webViewHelper; |
| (...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 10891 | 10891 |
| 10892 WebMouseEvent mousePressEvent( | 10892 WebMouseEvent mousePressEvent( |
| 10893 WebInputEvent::MouseDown, WebFloatPoint(18, aTag->offsetTop()), | 10893 WebInputEvent::MouseDown, WebFloatPoint(18, aTag->offsetTop()), |
| 10894 WebFloatPoint(18, aTag->offsetTop()), WebPointerProperties::Button::Left, | 10894 WebFloatPoint(18, aTag->offsetTop()), WebPointerProperties::Button::Left, |
| 10895 0, WebInputEvent::Modifiers::LeftButtonDown, | 10895 0, WebInputEvent::Modifiers::LeftButtonDown, |
| 10896 TimeTicks::Now().InSeconds()); | 10896 TimeTicks::Now().InSeconds()); |
| 10897 mousePressEvent.setFrameScale(1); | 10897 mousePressEvent.setFrameScale(1); |
| 10898 document->frame()->eventHandler().handleMousePressEvent(mousePressEvent); | 10898 document->frame()->eventHandler().handleMousePressEvent(mousePressEvent); |
| 10899 | 10899 |
| 10900 EXPECT_FALSE(document->activeHoverElement()); | 10900 EXPECT_FALSE(document->activeHoverElement()); |
| 10901 EXPECT_FALSE(document->hoverNode()); | 10901 EXPECT_FALSE(document->hoverElement()); |
| 10902 | 10902 |
| 10903 WebMouseEvent mouseReleaseEvent( | 10903 WebMouseEvent mouseReleaseEvent( |
| 10904 WebInputEvent::MouseUp, WebFloatPoint(18, aTag->offsetTop()), | 10904 WebInputEvent::MouseUp, WebFloatPoint(18, aTag->offsetTop()), |
| 10905 WebFloatPoint(18, aTag->offsetTop()), WebPointerProperties::Button::Left, | 10905 WebFloatPoint(18, aTag->offsetTop()), WebPointerProperties::Button::Left, |
| 10906 0, WebInputEvent::Modifiers::LeftButtonDown, | 10906 0, WebInputEvent::Modifiers::LeftButtonDown, |
| 10907 TimeTicks::Now().InSeconds()); | 10907 TimeTicks::Now().InSeconds()); |
| 10908 mouseReleaseEvent.setFrameScale(1); | 10908 mouseReleaseEvent.setFrameScale(1); |
| 10909 document->frame()->eventHandler().handleMouseReleaseEvent(mouseReleaseEvent); | 10909 document->frame()->eventHandler().handleMouseReleaseEvent(mouseReleaseEvent); |
| 10910 | 10910 |
| 10911 // Mouse over disabled overlay scrollbar. Mouse cursor should be hand and has | 10911 // Mouse over disabled overlay scrollbar. Mouse cursor should be hand and has |
| (...skipping 10 matching lines...) Expand all Loading... |
| 10922 document->frame()->eventHandler().handleMouseMoveEvent( | 10922 document->frame()->eventHandler().handleMouseMoveEvent( |
| 10923 mouseMoveEvent, Vector<WebMouseEvent>()); | 10923 mouseMoveEvent, Vector<WebMouseEvent>()); |
| 10924 | 10924 |
| 10925 EXPECT_EQ( | 10925 EXPECT_EQ( |
| 10926 Cursor::Type::Hand, | 10926 Cursor::Type::Hand, |
| 10927 document->frame()->chromeClient().lastSetCursorForTesting().getType()); | 10927 document->frame()->chromeClient().lastSetCursorForTesting().getType()); |
| 10928 | 10928 |
| 10929 document->frame()->eventHandler().handleMousePressEvent(mousePressEvent); | 10929 document->frame()->eventHandler().handleMousePressEvent(mousePressEvent); |
| 10930 | 10930 |
| 10931 EXPECT_TRUE(document->activeHoverElement()); | 10931 EXPECT_TRUE(document->activeHoverElement()); |
| 10932 EXPECT_TRUE(document->hoverNode()); | 10932 EXPECT_TRUE(document->hoverElement()); |
| 10933 | 10933 |
| 10934 document->frame()->eventHandler().handleMouseReleaseEvent(mouseReleaseEvent); | 10934 document->frame()->eventHandler().handleMouseReleaseEvent(mouseReleaseEvent); |
| 10935 } | 10935 } |
| 10936 | 10936 |
| 10937 // Makes sure that mouse hover over an custom scrollbar doesn't change the | 10937 // Makes sure that mouse hover over an custom scrollbar doesn't change the |
| 10938 // activate elements. | 10938 // activate elements. |
| 10939 TEST_F(WebFrameTest, MouseOverCustomScrollbar) { | 10939 TEST_F(WebFrameTest, MouseOverCustomScrollbar) { |
| 10940 registerMockedHttpURLLoad("custom-scrollbar-hover.html"); | 10940 registerMockedHttpURLLoad("custom-scrollbar-hover.html"); |
| 10941 FrameTestHelpers::WebViewHelper webViewHelper; | 10941 FrameTestHelpers::WebViewHelper webViewHelper; |
| 10942 WebViewImpl* webView = webViewHelper.initializeAndLoad( | 10942 WebViewImpl* webView = webViewHelper.initializeAndLoad( |
| (...skipping 17 matching lines...) Expand all Loading... |
| 10960 // Mouse over DIV | 10960 // Mouse over DIV |
| 10961 WebMouseEvent mouseMoveOverDiv( | 10961 WebMouseEvent mouseMoveOverDiv( |
| 10962 WebInputEvent::MouseMove, WebFloatPoint(1, 1), WebFloatPoint(1, 1), | 10962 WebInputEvent::MouseMove, WebFloatPoint(1, 1), WebFloatPoint(1, 1), |
| 10963 WebPointerProperties::Button::NoButton, 0, WebInputEvent::NoModifiers, | 10963 WebPointerProperties::Button::NoButton, 0, WebInputEvent::NoModifiers, |
| 10964 TimeTicks::Now().InSeconds()); | 10964 TimeTicks::Now().InSeconds()); |
| 10965 mouseMoveOverDiv.setFrameScale(1); | 10965 mouseMoveOverDiv.setFrameScale(1); |
| 10966 document->frame()->eventHandler().handleMouseMoveEvent( | 10966 document->frame()->eventHandler().handleMouseMoveEvent( |
| 10967 mouseMoveOverDiv, Vector<WebMouseEvent>()); | 10967 mouseMoveOverDiv, Vector<WebMouseEvent>()); |
| 10968 | 10968 |
| 10969 // DIV :hover | 10969 // DIV :hover |
| 10970 EXPECT_EQ(document->hoverNode(), scrollbarDiv); | 10970 EXPECT_EQ(document->hoverElement(), scrollbarDiv); |
| 10971 | 10971 |
| 10972 // Ensure hittest has DIV and scrollbar | 10972 // Ensure hittest has DIV and scrollbar |
| 10973 hitTestResult = webView->coreHitTestResultAt(WebPoint(175, 1)); | 10973 hitTestResult = webView->coreHitTestResultAt(WebPoint(175, 1)); |
| 10974 | 10974 |
| 10975 EXPECT_TRUE(hitTestResult.innerElement()); | 10975 EXPECT_TRUE(hitTestResult.innerElement()); |
| 10976 EXPECT_TRUE(hitTestResult.scrollbar()); | 10976 EXPECT_TRUE(hitTestResult.scrollbar()); |
| 10977 EXPECT_TRUE(hitTestResult.scrollbar()->isCustomScrollbar()); | 10977 EXPECT_TRUE(hitTestResult.scrollbar()->isCustomScrollbar()); |
| 10978 | 10978 |
| 10979 // Mouse over scrollbar | 10979 // Mouse over scrollbar |
| 10980 WebMouseEvent mouseMoveOverDivAndScrollbar( | 10980 WebMouseEvent mouseMoveOverDivAndScrollbar( |
| 10981 WebInputEvent::MouseMove, WebFloatPoint(175, 1), WebFloatPoint(175, 1), | 10981 WebInputEvent::MouseMove, WebFloatPoint(175, 1), WebFloatPoint(175, 1), |
| 10982 WebPointerProperties::Button::NoButton, 0, WebInputEvent::NoModifiers, | 10982 WebPointerProperties::Button::NoButton, 0, WebInputEvent::NoModifiers, |
| 10983 TimeTicks::Now().InSeconds()); | 10983 TimeTicks::Now().InSeconds()); |
| 10984 mouseMoveOverDivAndScrollbar.setFrameScale(1); | 10984 mouseMoveOverDivAndScrollbar.setFrameScale(1); |
| 10985 document->frame()->eventHandler().handleMouseMoveEvent( | 10985 document->frame()->eventHandler().handleMouseMoveEvent( |
| 10986 mouseMoveOverDivAndScrollbar, Vector<WebMouseEvent>()); | 10986 mouseMoveOverDivAndScrollbar, Vector<WebMouseEvent>()); |
| 10987 | 10987 |
| 10988 // Custom not change the DIV :hover | 10988 // Custom not change the DIV :hover |
| 10989 EXPECT_EQ(document->hoverNode(), scrollbarDiv); | 10989 EXPECT_EQ(document->hoverElement(), scrollbarDiv); |
| 10990 EXPECT_EQ(hitTestResult.scrollbar()->hoveredPart(), ScrollbarPart::ThumbPart); | 10990 EXPECT_EQ(hitTestResult.scrollbar()->hoveredPart(), ScrollbarPart::ThumbPart); |
| 10991 } | 10991 } |
| 10992 | 10992 |
| 10993 // Makes sure that mouse hover over a scrollbar also hover the element owns the | 10993 // Makes sure that mouse hover over a scrollbar also hover the element owns the |
| 10994 // scrollbar. | 10994 // scrollbar. |
| 10995 TEST_F(WebFrameTest, MouseOverScrollbarAndParentElement) { | 10995 TEST_F(WebFrameTest, MouseOverScrollbarAndParentElement) { |
| 10996 registerMockedHttpURLLoad("scrollbar-and-element-hover.html"); | 10996 registerMockedHttpURLLoad("scrollbar-and-element-hover.html"); |
| 10997 FrameTestHelpers::WebViewHelper webViewHelper; | 10997 FrameTestHelpers::WebViewHelper webViewHelper; |
| 10998 RuntimeEnabledFeatures::setOverlayScrollbarsEnabled(false); | 10998 RuntimeEnabledFeatures::setOverlayScrollbarsEnabled(false); |
| 10999 WebViewImpl* webView = webViewHelper.initializeAndLoad( | 10999 WebViewImpl* webView = webViewHelper.initializeAndLoad( |
| (...skipping 26 matching lines...) Expand all Loading... |
| 11026 // Mouse over DIV. | 11026 // Mouse over DIV. |
| 11027 WebMouseEvent mouseMoveOverDiv( | 11027 WebMouseEvent mouseMoveOverDiv( |
| 11028 WebInputEvent::MouseMove, WebFloatPoint(1, 1), WebFloatPoint(1, 1), | 11028 WebInputEvent::MouseMove, WebFloatPoint(1, 1), WebFloatPoint(1, 1), |
| 11029 WebPointerProperties::Button::NoButton, 0, WebInputEvent::NoModifiers, | 11029 WebPointerProperties::Button::NoButton, 0, WebInputEvent::NoModifiers, |
| 11030 TimeTicks::Now().InSeconds()); | 11030 TimeTicks::Now().InSeconds()); |
| 11031 mouseMoveOverDiv.setFrameScale(1); | 11031 mouseMoveOverDiv.setFrameScale(1); |
| 11032 document->frame()->eventHandler().handleMouseMoveEvent( | 11032 document->frame()->eventHandler().handleMouseMoveEvent( |
| 11033 mouseMoveOverDiv, Vector<WebMouseEvent>()); | 11033 mouseMoveOverDiv, Vector<WebMouseEvent>()); |
| 11034 | 11034 |
| 11035 // DIV :hover. | 11035 // DIV :hover. |
| 11036 EXPECT_EQ(document->hoverNode(), parentDiv); | 11036 EXPECT_EQ(document->hoverElement(), parentDiv); |
| 11037 | 11037 |
| 11038 // Ensure hittest has DIV and scrollbar. | 11038 // Ensure hittest has DIV and scrollbar. |
| 11039 hitTestResult = webView->coreHitTestResultAt(WebPoint(175, 5)); | 11039 hitTestResult = webView->coreHitTestResultAt(WebPoint(175, 5)); |
| 11040 | 11040 |
| 11041 EXPECT_TRUE(hitTestResult.innerElement()); | 11041 EXPECT_TRUE(hitTestResult.innerElement()); |
| 11042 EXPECT_TRUE(hitTestResult.scrollbar()); | 11042 EXPECT_TRUE(hitTestResult.scrollbar()); |
| 11043 EXPECT_FALSE(hitTestResult.scrollbar()->isCustomScrollbar()); | 11043 EXPECT_FALSE(hitTestResult.scrollbar()->isCustomScrollbar()); |
| 11044 EXPECT_TRUE(hitTestResult.scrollbar()->enabled()); | 11044 EXPECT_TRUE(hitTestResult.scrollbar()->enabled()); |
| 11045 | 11045 |
| 11046 // Mouse over scrollbar. | 11046 // Mouse over scrollbar. |
| 11047 WebMouseEvent mouseMoveOverDivAndScrollbar( | 11047 WebMouseEvent mouseMoveOverDivAndScrollbar( |
| 11048 WebInputEvent::MouseMove, WebFloatPoint(175, 5), WebFloatPoint(175, 5), | 11048 WebInputEvent::MouseMove, WebFloatPoint(175, 5), WebFloatPoint(175, 5), |
| 11049 WebPointerProperties::Button::NoButton, 0, WebInputEvent::NoModifiers, | 11049 WebPointerProperties::Button::NoButton, 0, WebInputEvent::NoModifiers, |
| 11050 TimeTicks::Now().InSeconds()); | 11050 TimeTicks::Now().InSeconds()); |
| 11051 mouseMoveOverDivAndScrollbar.setFrameScale(1); | 11051 mouseMoveOverDivAndScrollbar.setFrameScale(1); |
| 11052 document->frame()->eventHandler().handleMouseMoveEvent( | 11052 document->frame()->eventHandler().handleMouseMoveEvent( |
| 11053 mouseMoveOverDivAndScrollbar, Vector<WebMouseEvent>()); | 11053 mouseMoveOverDivAndScrollbar, Vector<WebMouseEvent>()); |
| 11054 | 11054 |
| 11055 // Not change the DIV :hover. | 11055 // Not change the DIV :hover. |
| 11056 EXPECT_EQ(document->hoverNode(), parentDiv); | 11056 EXPECT_EQ(document->hoverElement(), parentDiv); |
| 11057 | 11057 |
| 11058 // Disable the Scrollbar by remove the childDiv. | 11058 // Disable the Scrollbar by remove the childDiv. |
| 11059 childDiv->remove(); | 11059 childDiv->remove(); |
| 11060 webView->updateAllLifecyclePhases(); | 11060 webView->updateAllLifecyclePhases(); |
| 11061 | 11061 |
| 11062 // Ensure hittest has DIV and no scrollbar. | 11062 // Ensure hittest has DIV and no scrollbar. |
| 11063 hitTestResult = webView->coreHitTestResultAt(WebPoint(175, 5)); | 11063 hitTestResult = webView->coreHitTestResultAt(WebPoint(175, 5)); |
| 11064 | 11064 |
| 11065 EXPECT_TRUE(hitTestResult.innerElement()); | 11065 EXPECT_TRUE(hitTestResult.innerElement()); |
| 11066 EXPECT_TRUE(hitTestResult.scrollbar()); | 11066 EXPECT_TRUE(hitTestResult.scrollbar()); |
| 11067 EXPECT_FALSE(hitTestResult.scrollbar()->enabled()); | 11067 EXPECT_FALSE(hitTestResult.scrollbar()->enabled()); |
| 11068 EXPECT_LT(hitTestResult.innerElement()->clientWidth(), 180); | 11068 EXPECT_LT(hitTestResult.innerElement()->clientWidth(), 180); |
| 11069 | 11069 |
| 11070 // Mouse over disabled scrollbar. | 11070 // Mouse over disabled scrollbar. |
| 11071 document->frame()->eventHandler().handleMouseMoveEvent( | 11071 document->frame()->eventHandler().handleMouseMoveEvent( |
| 11072 mouseMoveOverDivAndScrollbar, Vector<WebMouseEvent>()); | 11072 mouseMoveOverDivAndScrollbar, Vector<WebMouseEvent>()); |
| 11073 | 11073 |
| 11074 // Not change the DIV :hover. | 11074 // Not change the DIV :hover. |
| 11075 EXPECT_EQ(document->hoverNode(), parentDiv); | 11075 EXPECT_EQ(document->hoverElement(), parentDiv); |
| 11076 } | 11076 } |
| 11077 | 11077 |
| 11078 TEST_F(WebFrameTest, MouseReleaseUpdatesScrollbarHoveredPart) { | 11078 TEST_F(WebFrameTest, MouseReleaseUpdatesScrollbarHoveredPart) { |
| 11079 registerMockedHttpURLLoad("custom-scrollbar-hover.html"); | 11079 registerMockedHttpURLLoad("custom-scrollbar-hover.html"); |
| 11080 FrameTestHelpers::WebViewHelper webViewHelper; | 11080 FrameTestHelpers::WebViewHelper webViewHelper; |
| 11081 WebViewImpl* webView = webViewHelper.initializeAndLoad( | 11081 WebViewImpl* webView = webViewHelper.initializeAndLoad( |
| 11082 m_baseURL + "custom-scrollbar-hover.html"); | 11082 m_baseURL + "custom-scrollbar-hover.html"); |
| 11083 | 11083 |
| 11084 webViewHelper.resize(WebSize(200, 200)); | 11084 webViewHelper.resize(WebSize(200, 200)); |
| 11085 | 11085 |
| (...skipping 359 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 11445 EXPECT_FALSE(testSelectAll("<textarea></textarea>")); | 11445 EXPECT_FALSE(testSelectAll("<textarea></textarea>")); |
| 11446 EXPECT_TRUE(testSelectAll("<textarea>nonempty</textarea>")); | 11446 EXPECT_TRUE(testSelectAll("<textarea>nonempty</textarea>")); |
| 11447 EXPECT_FALSE(testSelectAll("<input>")); | 11447 EXPECT_FALSE(testSelectAll("<input>")); |
| 11448 EXPECT_TRUE(testSelectAll("<input value='nonempty'>")); | 11448 EXPECT_TRUE(testSelectAll("<input value='nonempty'>")); |
| 11449 // TODO(amaralp): Empty contenteditable should not have select all enabled. | 11449 // TODO(amaralp): Empty contenteditable should not have select all enabled. |
| 11450 EXPECT_TRUE(testSelectAll("<div contenteditable></div>")); | 11450 EXPECT_TRUE(testSelectAll("<div contenteditable></div>")); |
| 11451 EXPECT_TRUE(testSelectAll("<div contenteditable>nonempty</div>")); | 11451 EXPECT_TRUE(testSelectAll("<div contenteditable>nonempty</div>")); |
| 11452 } | 11452 } |
| 11453 | 11453 |
| 11454 } // namespace blink | 11454 } // namespace blink |
| OLD | NEW |