OLD | NEW |
---|---|
1 /* | 1 /* |
2 * Copyright (C) 2011, 2012 Google Inc. All rights reserved. | 2 * Copyright (C) 2011, 2012 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 22 matching lines...) Expand all Loading... | |
33 #include "bindings/core/v8/V8Document.h" | 33 #include "bindings/core/v8/V8Document.h" |
34 #include "core/dom/Document.h" | 34 #include "core/dom/Document.h" |
35 #include "core/dom/Element.h" | 35 #include "core/dom/Element.h" |
36 #include "core/editing/FrameSelection.h" | 36 #include "core/editing/FrameSelection.h" |
37 #include "core/editing/InputMethodController.h" | 37 #include "core/editing/InputMethodController.h" |
38 #include "core/editing/markers/DocumentMarkerController.h" | 38 #include "core/editing/markers/DocumentMarkerController.h" |
39 #include "core/frame/EventHandlerRegistry.h" | 39 #include "core/frame/EventHandlerRegistry.h" |
40 #include "core/frame/FrameHost.h" | 40 #include "core/frame/FrameHost.h" |
41 #include "core/frame/FrameView.h" | 41 #include "core/frame/FrameView.h" |
42 #include "core/frame/LocalFrame.h" | 42 #include "core/frame/LocalFrame.h" |
43 #include "core/frame/PageScaleConstraints.h" | |
44 #include "core/frame/PageScaleConstraintsSet.h" | |
43 #include "core/frame/Settings.h" | 45 #include "core/frame/Settings.h" |
44 #include "core/frame/VisualViewport.h" | 46 #include "core/frame/VisualViewport.h" |
45 #include "core/html/HTMLDocument.h" | 47 #include "core/html/HTMLDocument.h" |
46 #include "core/html/HTMLIFrameElement.h" | 48 #include "core/html/HTMLIFrameElement.h" |
47 #include "core/html/HTMLInputElement.h" | 49 #include "core/html/HTMLInputElement.h" |
48 #include "core/html/HTMLTextAreaElement.h" | 50 #include "core/html/HTMLTextAreaElement.h" |
49 #include "core/layout/LayoutView.h" | 51 #include "core/layout/LayoutView.h" |
50 #include "core/loader/DocumentLoader.h" | 52 #include "core/loader/DocumentLoader.h" |
51 #include "core/loader/FrameLoadRequest.h" | 53 #include "core/loader/FrameLoadRequest.h" |
52 #include "core/page/Page.h" | 54 #include "core/page/Page.h" |
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
103 #include "public/web/mac/WebSubstringUtil.h" | 105 #include "public/web/mac/WebSubstringUtil.h" |
104 #endif | 106 #endif |
105 | 107 |
106 using blink::FrameTestHelpers::loadFrame; | 108 using blink::FrameTestHelpers::loadFrame; |
107 using blink::URLTestHelpers::toKURL; | 109 using blink::URLTestHelpers::toKURL; |
108 using blink::URLTestHelpers::registerMockedURLLoad; | 110 using blink::URLTestHelpers::registerMockedURLLoad; |
109 using blink::testing::runPendingTasks; | 111 using blink::testing::runPendingTasks; |
110 | 112 |
111 namespace blink { | 113 namespace blink { |
112 | 114 |
115 #define EXPECT_POINT_EQ(expected, actual) \ | |
116 do { \ | |
117 EXPECT_DOUBLE_EQ((expected).x(), (actual).x()); \ | |
118 EXPECT_DOUBLE_EQ((expected).y(), (actual).y()); \ | |
119 } while (false) | |
120 | |
121 #define EXPECT_SIZE_EQ(expected, actual) \ | |
122 do { \ | |
123 EXPECT_DOUBLE_EQ((expected).width(), (actual).width()); \ | |
124 EXPECT_DOUBLE_EQ((expected).height(), (actual).height()); \ | |
125 } while (false) | |
126 | |
127 #define EXPECT_SCROLL_AND_SCALE(expectedScrollPosition, expectedVisualPosition, expectedScale, frameView, visualViewport) \ | |
128 do { \ | |
129 EXPECT_POINT_EQ(expectedScrollPosition, frameView->scrollPositionDouble( )); \ | |
130 EXPECT_POINT_EQ(expectedScrollPosition, frameView->scrollAnimator().curr entPosition()); \ | |
131 EXPECT_POINT_EQ(expectedVisualPosition, visualViewport->scrollPositionDo uble()); \ | |
132 EXPECT_POINT_EQ(expectedVisualPosition, visualViewport->scrollAnimator() .currentPosition()); \ | |
133 EXPECT_EQ(expectedScale, visualViewport->scale()); \ | |
134 } while (false) | |
135 | |
113 enum HorizontalScrollbarState { | 136 enum HorizontalScrollbarState { |
114 NoHorizontalScrollbar, | 137 NoHorizontalScrollbar, |
115 VisibleHorizontalScrollbar, | 138 VisibleHorizontalScrollbar, |
116 }; | 139 }; |
117 | 140 |
118 enum VerticalScrollbarState { | 141 enum VerticalScrollbarState { |
119 NoVerticalScrollbar, | 142 NoVerticalScrollbar, |
120 VisibleVerticalScrollbar, | 143 VisibleVerticalScrollbar, |
121 }; | 144 }; |
122 | 145 |
(...skipping 937 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1060 webView->setInitialFocus(false); | 1083 webView->setInitialFocus(false); |
1061 frame->setEditableSelectionOffsets(4, 10); | 1084 frame->setEditableSelectionOffsets(4, 10); |
1062 EXPECT_TRUE(webView->isSelectionAnchorFirst()); | 1085 EXPECT_TRUE(webView->isSelectionAnchorFirst()); |
1063 WebRect anchor; | 1086 WebRect anchor; |
1064 WebRect focus; | 1087 WebRect focus; |
1065 webView->selectionBounds(anchor, focus); | 1088 webView->selectionBounds(anchor, focus); |
1066 frame->selectRange(WebPoint(focus.x, focus.y), WebPoint(anchor.x, anchor.y)) ; | 1089 frame->selectRange(WebPoint(focus.x, focus.y), WebPoint(anchor.x, anchor.y)) ; |
1067 EXPECT_FALSE(webView->isSelectionAnchorFirst()); | 1090 EXPECT_FALSE(webView->isSelectionAnchorFirst()); |
1068 } | 1091 } |
1069 | 1092 |
1093 TEST_F(WebViewTest, DeviceEmulationOverridesMoveAndZoomViewports) | |
1094 { | |
1095 URLTestHelpers::registerMockedURLFromBaseURL(WebString::fromUTF8(m_baseURL.c _str()), WebString::fromUTF8("200-by-300.html")); | |
1096 WebViewImpl* webViewImpl = m_webViewHelper.initializeAndLoad(m_baseURL + "20 0-by-300.html"); | |
1097 webViewImpl->resize(WebSize(100, 150)); | |
1098 webViewImpl->resizeVisualViewport(WebSize(50, 75)); | |
1099 | |
1100 FrameView* frameView = webViewImpl->mainFrameImpl()->frame()->view(); | |
1101 VisualViewport* visualViewport = &webViewImpl->page()->frameHost().visualVie wport(); | |
1102 WebDeviceEmulationParams params; | |
1103 | |
1104 EXPECT_SCROLL_AND_SCALE(DoublePoint(0, 0), DoublePoint(0, 0), 1.0, frameView , visualViewport); | |
1105 | |
1106 // Scroll position override moves layout viewport. | |
1107 params.scrollPosition = WebPoint(100, 100); | |
1108 params.visualViewportPosition = WebFloatPoint(-1, -1); | |
1109 params.visualViewportScale = 0; | |
1110 webViewImpl->enableDeviceEmulation(params); | |
1111 EXPECT_FALSE(frameView->layoutPending()); | |
1112 EXPECT_FALSE(frameView->needsLayout()); | |
1113 EXPECT_SCROLL_AND_SCALE(DoublePoint(100, 100), DoublePoint(0, 0), 1.0, frame View, visualViewport); | |
1114 | |
1115 params.scrollPosition = WebPoint(50, 50); | |
1116 webViewImpl->enableDeviceEmulation(params); | |
1117 EXPECT_SCROLL_AND_SCALE(DoublePoint(50, 50), DoublePoint(0, 0), 1.0, frameVi ew, visualViewport); | |
1118 | |
1119 webViewImpl->disableDeviceEmulation(); | |
1120 EXPECT_SCROLL_AND_SCALE(DoublePoint(0, 0), DoublePoint(0, 0), 1.0, frameView , visualViewport); | |
1121 | |
1122 // Visual viewport scroll position override moves visual viewport. | |
1123 params.scrollPosition = WebPoint(-1, -1); | |
1124 params.visualViewportPosition = WebFloatPoint(50, 50); | |
1125 params.visualViewportScale = 0; | |
1126 webViewImpl->enableDeviceEmulation(params); | |
1127 EXPECT_FALSE(frameView->layoutPending()); | |
1128 EXPECT_FALSE(frameView->needsLayout()); | |
1129 EXPECT_SCROLL_AND_SCALE(DoublePoint(0, 0), DoublePoint(50, 50), 1.0, frameVi ew, visualViewport); | |
1130 | |
1131 params.visualViewportPosition = WebFloatPoint(25, 25); | |
1132 webViewImpl->enableDeviceEmulation(params); | |
1133 EXPECT_SCROLL_AND_SCALE(DoublePoint(0, 0), DoublePoint(25, 25), 1.0, frameVi ew, visualViewport); | |
1134 | |
1135 webViewImpl->disableDeviceEmulation(); | |
1136 EXPECT_SCROLL_AND_SCALE(DoublePoint(0, 0), DoublePoint(0, 0), 1.0, frameView , visualViewport); | |
1137 | |
1138 // Page scale override zooms into page. | |
1139 params.scrollPosition = WebPoint(-1, -1); | |
1140 params.visualViewportPosition = WebFloatPoint(-1, -1); | |
1141 params.visualViewportScale = 2; | |
1142 webViewImpl->enableDeviceEmulation(params); | |
1143 // Scale override is enforced via constraints, which require a layout. | |
1144 EXPECT_TRUE(frameView->layoutPending()); | |
1145 EXPECT_TRUE(frameView->needsLayout()); | |
1146 frameView->layout(); | |
bokan
2016/07/11 13:52:10
I would use webViewImpl->updateAllLifecyclePhases,
Eric Seckler
2016/07/11 16:37:13
Done.
| |
1147 EXPECT_SCROLL_AND_SCALE(DoublePoint(0, 0), DoublePoint(0, 0), 2.0, frameView , visualViewport); | |
1148 | |
1149 params.visualViewportScale = 1.5; | |
1150 webViewImpl->enableDeviceEmulation(params); | |
1151 EXPECT_TRUE(frameView->layoutPending()); | |
1152 EXPECT_TRUE(frameView->needsLayout()); | |
1153 frameView->layout(); | |
1154 EXPECT_SCROLL_AND_SCALE(DoublePoint(0, 0), DoublePoint(0, 0), 1.5, frameView , visualViewport); | |
1155 | |
1156 webViewImpl->disableDeviceEmulation(); | |
1157 EXPECT_SCROLL_AND_SCALE(DoublePoint(0, 0), DoublePoint(0, 0), 1.0, frameView , visualViewport); | |
bokan
2016/07/11 13:52:10
Should we also expect needsLayout/layoutPending he
Eric Seckler
2016/07/11 16:37:13
Theoretically yes, but disableDeviceEmulation() pe
| |
1158 | |
1159 // Combined override of all factors repositions and scales viewports. | |
1160 params.scrollPosition = WebPoint(100, 100); | |
1161 params.visualViewportPosition = WebFloatPoint(50, 50); | |
1162 params.visualViewportScale = 2; | |
1163 webViewImpl->enableDeviceEmulation(params); | |
1164 EXPECT_TRUE(frameView->layoutPending()); | |
1165 EXPECT_TRUE(frameView->needsLayout()); | |
1166 frameView->layout(); | |
1167 EXPECT_SCROLL_AND_SCALE(DoublePoint(100, 100), DoublePoint(50, 50), 2.0, fra meView, visualViewport); | |
1168 | |
1169 params.scrollPosition = WebPoint(50, 50); | |
1170 params.visualViewportPosition = WebFloatPoint(25, 25); | |
1171 params.visualViewportScale = 1.5; | |
1172 webViewImpl->enableDeviceEmulation(params); | |
1173 EXPECT_TRUE(frameView->layoutPending()); | |
1174 EXPECT_TRUE(frameView->needsLayout()); | |
1175 frameView->layout(); | |
1176 EXPECT_SCROLL_AND_SCALE(DoublePoint(50, 50), DoublePoint(25, 25), 1.5, frame View, visualViewport); | |
1177 | |
1178 webViewImpl->disableDeviceEmulation(); | |
1179 EXPECT_SCROLL_AND_SCALE(DoublePoint(0, 0), DoublePoint(0, 0), 1.0, frameView , visualViewport); | |
1180 } | |
1181 | |
1182 TEST_F(WebViewTest, DeviceEmulationOverridesFixScaleAndScrollPositions) | |
1183 { | |
1184 URLTestHelpers::registerMockedURLFromBaseURL(WebString::fromUTF8(m_baseURL.c _str()), WebString::fromUTF8("200-by-300.html")); | |
1185 WebViewImpl* webViewImpl = m_webViewHelper.initializeAndLoad(m_baseURL + "20 0-by-300.html"); | |
1186 webViewImpl->resize(WebSize(100, 150)); | |
1187 webViewImpl->resizeVisualViewport(WebSize(50, 75)); | |
1188 | |
1189 // We don't want to have to service animations for the test. | |
1190 webViewImpl->settings()->setEnableScrollAnimator(false); | |
1191 | |
1192 FrameView* frameView = webViewImpl->mainFrameImpl()->frame()->view(); | |
1193 VisualViewport* visualViewport = &webViewImpl->page()->frameHost().visualVie wport(); | |
1194 ScrollableArea* rootScroller = frameView->getScrollableArea(); | |
1195 WebDeviceEmulationParams params; | |
1196 | |
1197 EXPECT_SCROLL_AND_SCALE(DoublePoint(0, 0), DoublePoint(0, 0), 1.0, frameView , visualViewport); | |
1198 | |
1199 // Empty overrides allow scrolling and zooming. | |
1200 params.scrollPosition = WebPoint(-1, -1); | |
1201 params.visualViewportPosition = WebFloatPoint(-1, -1); | |
1202 params.visualViewportScale = 0; | |
1203 webViewImpl->enableDeviceEmulation(params); | |
1204 EXPECT_SCROLL_AND_SCALE(DoublePoint(0, 0), DoublePoint(0, 0), 1.0, frameView , visualViewport); | |
1205 | |
1206 frameView->setScrollPosition(DoublePoint(100, 100), ProgrammaticScroll, Scro llBehaviorInstant); | |
1207 EXPECT_SCROLL_AND_SCALE(DoublePoint(100, 100), DoublePoint(0, 0), 1.0, frame View, visualViewport); | |
1208 visualViewport->setScrollPosition(DoublePoint(50, 50), ProgrammaticScroll, S crollBehaviorInstant); | |
1209 EXPECT_SCROLL_AND_SCALE(DoublePoint(100, 100), DoublePoint(50, 50), 1.0, fra meView, visualViewport); | |
1210 EXPECT_TRUE(rootScroller->userScroll(ScrollByPixel, FloatSize(-50, -50)).did Scroll()); | |
1211 EXPECT_SCROLL_AND_SCALE(DoublePoint(100, 100), DoublePoint(0, 0), 1.0, frame View, visualViewport); | |
1212 EXPECT_TRUE(rootScroller->userScroll(ScrollByPixel, FloatSize(-50, -50)).did Scroll()); | |
1213 EXPECT_SCROLL_AND_SCALE(DoublePoint(50, 50), DoublePoint(0, 0), 1.0, frameVi ew, visualViewport); | |
1214 webViewImpl->setPageScaleFactor(2.0); | |
1215 EXPECT_SCROLL_AND_SCALE(DoublePoint(50, 50), DoublePoint(0, 0), 2.0, frameVi ew, visualViewport); | |
1216 | |
1217 webViewImpl->disableDeviceEmulation(); | |
1218 EXPECT_SCROLL_AND_SCALE(DoublePoint(0, 0), DoublePoint(0, 0), 1.0, frameView , visualViewport); | |
1219 | |
1220 // Override of scroll position fixes layout viewport, but not visual one. | |
1221 params.scrollPosition = WebPoint(50, 50); | |
1222 params.visualViewportPosition = WebFloatPoint(-1, -1); | |
1223 params.visualViewportScale = 0; | |
1224 webViewImpl->enableDeviceEmulation(params); | |
1225 EXPECT_SCROLL_AND_SCALE(DoublePoint(50, 50), DoublePoint(0, 0), 1.0, frameVi ew, visualViewport); | |
1226 | |
1227 frameView->setScrollPosition(DoublePoint(100, 100), ProgrammaticScroll, Scro llBehaviorInstant); | |
1228 EXPECT_SCROLL_AND_SCALE(DoublePoint(50, 50), DoublePoint(0, 0), 1.0, frameVi ew, visualViewport); | |
1229 visualViewport->setScrollPosition(DoublePoint(50, 50), ProgrammaticScroll, S crollBehaviorInstant); | |
1230 EXPECT_SCROLL_AND_SCALE(DoublePoint(50, 50), DoublePoint(50, 50), 1.0, frame View, visualViewport); | |
1231 EXPECT_TRUE(rootScroller->userScroll(ScrollByPixel, FloatSize(-50, -50)).did Scroll()); | |
1232 EXPECT_SCROLL_AND_SCALE(DoublePoint(50, 50), DoublePoint(0, 0), 1.0, frameVi ew, visualViewport); | |
1233 EXPECT_FALSE(rootScroller->userScroll(ScrollByPixel, FloatSize(-50, -50)).di dScroll()); | |
1234 EXPECT_SCROLL_AND_SCALE(DoublePoint(50, 50), DoublePoint(0, 0), 1.0, frameVi ew, visualViewport); | |
1235 EXPECT_TRUE(rootScroller->userScroll(ScrollByPixel, FloatSize(1000, 1000)).d idScroll()); | |
1236 EXPECT_SCROLL_AND_SCALE(DoublePoint(50, 50), DoublePoint(50, 75), 1.0, frame View, visualViewport); | |
1237 webViewImpl->setPageScaleFactor(2.0); | |
1238 EXPECT_SCROLL_AND_SCALE(DoublePoint(50, 50), DoublePoint(50, 75), 2.0, frame View, visualViewport); | |
1239 | |
1240 webViewImpl->disableDeviceEmulation(); | |
1241 EXPECT_SCROLL_AND_SCALE(DoublePoint(0, 0), DoublePoint(0, 0), 1.0, frameView , visualViewport); | |
1242 | |
1243 // Override of visual position fixes visual viewport, but not layout one. | |
1244 params.scrollPosition = WebPoint(-1, -1); | |
1245 params.visualViewportPosition = WebFloatPoint(25, 25); | |
1246 params.visualViewportScale = 0; | |
1247 webViewImpl->enableDeviceEmulation(params); | |
1248 EXPECT_SCROLL_AND_SCALE(DoublePoint(0, 0), DoublePoint(25, 25), 1.0, frameVi ew, visualViewport); | |
1249 | |
1250 frameView->setScrollPosition(DoublePoint(100, 100), ProgrammaticScroll, Scro llBehaviorInstant); | |
1251 EXPECT_SCROLL_AND_SCALE(DoublePoint(100, 100), DoublePoint(25, 25), 1.0, fra meView, visualViewport); | |
1252 visualViewport->setScrollPosition(DoublePoint(50, 50), ProgrammaticScroll, S crollBehaviorInstant); | |
1253 EXPECT_SCROLL_AND_SCALE(DoublePoint(100, 100), DoublePoint(25, 25), 1.0, fra meView, visualViewport); | |
1254 EXPECT_TRUE(rootScroller->userScroll(ScrollByPixel, FloatSize(-100, -100)).d idScroll()); | |
1255 EXPECT_SCROLL_AND_SCALE(DoublePoint(0, 0), DoublePoint(25, 25), 1.0, frameVi ew, visualViewport); | |
1256 EXPECT_FALSE(rootScroller->userScroll(ScrollByPixel, FloatSize(-50, -50)).di dScroll()); | |
1257 EXPECT_SCROLL_AND_SCALE(DoublePoint(0, 0), DoublePoint(25, 25), 1.0, frameVi ew, visualViewport); | |
1258 EXPECT_TRUE(rootScroller->userScroll(ScrollByPixel, FloatSize(1000, 1000)).d idScroll()); | |
1259 EXPECT_SCROLL_AND_SCALE(DoublePoint(100, 150), DoublePoint(25, 25), 1.0, fra meView, visualViewport); | |
1260 webViewImpl->setPageScaleFactor(2.0); | |
1261 EXPECT_SCROLL_AND_SCALE(DoublePoint(100, 150), DoublePoint(25, 25), 2.0, fra meView, visualViewport); | |
1262 | |
1263 webViewImpl->disableDeviceEmulation(); | |
1264 EXPECT_SCROLL_AND_SCALE(DoublePoint(0, 0), DoublePoint(0, 0), 1.0, frameView , visualViewport); | |
1265 | |
1266 // Scroll position: override of one coordinate doesn't fix other one. | |
1267 params.scrollPosition = WebPoint(-1, 50); | |
1268 params.visualViewportPosition = WebFloatPoint(-1, -1); | |
1269 params.visualViewportScale = 0; | |
1270 webViewImpl->enableDeviceEmulation(params); | |
1271 EXPECT_SCROLL_AND_SCALE(DoublePoint(0, 50), DoublePoint(0, 0), 1.0, frameVie w, visualViewport); | |
1272 | |
1273 frameView->setScrollPosition(DoublePoint(100, 100), ProgrammaticScroll, Scro llBehaviorInstant); | |
1274 EXPECT_SCROLL_AND_SCALE(DoublePoint(100, 50), DoublePoint(0, 0), 1.0, frameV iew, visualViewport); | |
1275 EXPECT_TRUE(rootScroller->userScroll(ScrollByPixel, FloatSize(-100, -100)).d idScroll()); | |
1276 EXPECT_SCROLL_AND_SCALE(DoublePoint(0, 50), DoublePoint(0, 0), 1.0, frameVie w, visualViewport); | |
1277 | |
1278 params.scrollPosition = WebPoint(50, -1); | |
1279 webViewImpl->enableDeviceEmulation(params); | |
1280 EXPECT_SCROLL_AND_SCALE(DoublePoint(50, 50), DoublePoint(0, 0), 1.0, frameVi ew, visualViewport); | |
1281 frameView->setScrollPosition(DoublePoint(100, 100), ProgrammaticScroll, Scro llBehaviorInstant); | |
1282 EXPECT_SCROLL_AND_SCALE(DoublePoint(50, 100), DoublePoint(0, 0), 1.0, frameV iew, visualViewport); | |
1283 EXPECT_TRUE(rootScroller->userScroll(ScrollByPixel, FloatSize(-100, -100)).d idScroll()); | |
1284 EXPECT_SCROLL_AND_SCALE(DoublePoint(50, 0), DoublePoint(0, 0), 1.0, frameVie w, visualViewport); | |
1285 | |
1286 webViewImpl->disableDeviceEmulation(); | |
1287 EXPECT_SCROLL_AND_SCALE(DoublePoint(0, 0), DoublePoint(0, 0), 1.0, frameView , visualViewport); | |
1288 | |
1289 // Visual position: override of one coordinate doesn't fix other one. | |
1290 params.scrollPosition = WebPoint(-1, -1); | |
1291 params.visualViewportPosition = WebFloatPoint(-1, 25); | |
1292 params.visualViewportScale = 0; | |
1293 webViewImpl->enableDeviceEmulation(params); | |
1294 EXPECT_SCROLL_AND_SCALE(DoublePoint(0, 0), DoublePoint(0, 25), 1.0, frameVie w, visualViewport); | |
1295 | |
1296 visualViewport->setScrollPosition(DoublePoint(50, 50), ProgrammaticScroll, S crollBehaviorInstant); | |
1297 EXPECT_SCROLL_AND_SCALE(DoublePoint(0, 0), DoublePoint(50, 25), 1.0, frameVi ew, visualViewport); | |
1298 EXPECT_TRUE(rootScroller->userScroll(ScrollByPixel, FloatSize(-50, -50)).did Scroll()); | |
1299 EXPECT_SCROLL_AND_SCALE(DoublePoint(0, 0), DoublePoint(0, 25), 1.0, frameVie w, visualViewport); | |
1300 | |
1301 params.visualViewportPosition = WebFloatPoint(25, -1); | |
1302 webViewImpl->enableDeviceEmulation(params); | |
1303 EXPECT_SCROLL_AND_SCALE(DoublePoint(0, 0), DoublePoint(25, 25), 1.0, frameVi ew, visualViewport); | |
1304 visualViewport->setScrollPosition(DoublePoint(50, 50), ProgrammaticScroll, S crollBehaviorInstant); | |
1305 EXPECT_SCROLL_AND_SCALE(DoublePoint(0, 0), DoublePoint(25, 50), 1.0, frameVi ew, visualViewport); | |
1306 EXPECT_TRUE(rootScroller->userScroll(ScrollByPixel, FloatSize(-50, -50)).did Scroll()); | |
1307 EXPECT_SCROLL_AND_SCALE(DoublePoint(0, 0), DoublePoint(25, 0), 1.0, frameVie w, visualViewport); | |
1308 | |
1309 webViewImpl->disableDeviceEmulation(); | |
1310 EXPECT_SCROLL_AND_SCALE(DoublePoint(0, 0), DoublePoint(0, 0), 1.0, frameView , visualViewport); | |
1311 | |
1312 // Scale change is ignored when scale is overridden, but scrolls work. | |
1313 params.scrollPosition = WebPoint(-1, -1); | |
1314 params.visualViewportPosition = WebFloatPoint(-1, -1); | |
1315 params.visualViewportScale = 1.5; | |
1316 webViewImpl->enableDeviceEmulation(params); | |
1317 frameView->layout(); | |
1318 EXPECT_SCROLL_AND_SCALE(DoublePoint(0, 0), DoublePoint(0, 0), 1.5, frameView , visualViewport); | |
1319 | |
1320 frameView->setScrollPosition(DoublePoint(100, 100), ProgrammaticScroll, Scro llBehaviorInstant); | |
1321 EXPECT_SCROLL_AND_SCALE(DoublePoint(100, 100), DoublePoint(0, 0), 1.5, frame View, visualViewport); | |
1322 visualViewport->setScrollPosition(DoublePoint(50, 50), ProgrammaticScroll, S crollBehaviorInstant); | |
1323 EXPECT_SCROLL_AND_SCALE(DoublePoint(100, 100), DoublePoint(50, 50), 1.5, fra meView, visualViewport); | |
1324 EXPECT_TRUE(rootScroller->userScroll(ScrollByPixel, FloatSize(-50, -50)).did Scroll()); | |
1325 EXPECT_SCROLL_AND_SCALE(DoublePoint(100, 100), DoublePoint(0, 0), 1.5, frame View, visualViewport); | |
1326 EXPECT_TRUE(rootScroller->userScroll(ScrollByPixel, FloatSize(-50, -50)).did Scroll()); | |
1327 EXPECT_SCROLL_AND_SCALE(DoublePoint(50, 50), DoublePoint(0, 0), 1.5, frameVi ew, visualViewport); | |
1328 webViewImpl->setPageScaleFactor(2.0); | |
1329 EXPECT_SCROLL_AND_SCALE(DoublePoint(50, 50), DoublePoint(0, 0), 1.5, frameVi ew, visualViewport); | |
1330 | |
1331 webViewImpl->disableDeviceEmulation(); | |
1332 EXPECT_SCROLL_AND_SCALE(DoublePoint(0, 0), DoublePoint(0, 0), 1.0, frameView , visualViewport); | |
1333 | |
1334 // Scrolling is ignored when both scroll positions are fixed, but not zoom. | |
1335 params.scrollPosition = WebPoint(50, 50); | |
1336 params.visualViewportPosition = WebFloatPoint(25, 25); | |
1337 params.visualViewportScale = 0; | |
1338 webViewImpl->enableDeviceEmulation(params); | |
1339 EXPECT_SCROLL_AND_SCALE(DoublePoint(50, 50), DoublePoint(25, 25), 1.0, frame View, visualViewport); | |
1340 | |
1341 frameView->setScrollPosition(DoublePoint(100, 100), ProgrammaticScroll, Scro llBehaviorInstant); | |
1342 EXPECT_SCROLL_AND_SCALE(DoublePoint(50, 50), DoublePoint(25, 25), 1.0, frame View, visualViewport); | |
1343 visualViewport->setScrollPosition(DoublePoint(50, 50), ProgrammaticScroll, S crollBehaviorInstant); | |
1344 EXPECT_SCROLL_AND_SCALE(DoublePoint(50, 50), DoublePoint(25, 25), 1.0, frame View, visualViewport); | |
1345 EXPECT_FALSE(rootScroller->userScroll(ScrollByPixel, FloatSize(-50, -50)).di dScroll()); | |
1346 EXPECT_SCROLL_AND_SCALE(DoublePoint(50, 50), DoublePoint(25, 25), 1.0, frame View, visualViewport); | |
1347 EXPECT_FALSE(rootScroller->userScroll(ScrollByPixel, FloatSize(1000, 1000)). didScroll()); | |
1348 EXPECT_SCROLL_AND_SCALE(DoublePoint(50, 50), DoublePoint(25, 25), 1.0, frame View, visualViewport); | |
1349 webViewImpl->setPageScaleFactor(2.0); | |
1350 EXPECT_SCROLL_AND_SCALE(DoublePoint(50, 50), DoublePoint(25, 25), 2.0, frame View, visualViewport); | |
1351 | |
1352 webViewImpl->disableDeviceEmulation(); | |
1353 EXPECT_SCROLL_AND_SCALE(DoublePoint(0, 0), DoublePoint(0, 0), 1.0, frameView , visualViewport); | |
1354 | |
1355 // Both scrolling and scale changes are ignored when they are all fixed. | |
1356 params.scrollPosition = WebPoint(50, 50); | |
1357 params.visualViewportPosition = WebFloatPoint(25, 25); | |
1358 params.visualViewportScale = 1.5; | |
1359 webViewImpl->enableDeviceEmulation(params); | |
1360 frameView->layout(); | |
1361 EXPECT_SCROLL_AND_SCALE(DoublePoint(50, 50), DoublePoint(25, 25), 1.5, frame View, visualViewport); | |
1362 | |
1363 frameView->setScrollPosition(DoublePoint(100, 100), ProgrammaticScroll, Scro llBehaviorInstant); | |
1364 EXPECT_SCROLL_AND_SCALE(DoublePoint(50, 50), DoublePoint(25, 25), 1.5, frame View, visualViewport); | |
1365 visualViewport->setScrollPosition(DoublePoint(50, 50), ProgrammaticScroll, S crollBehaviorInstant); | |
1366 EXPECT_SCROLL_AND_SCALE(DoublePoint(50, 50), DoublePoint(25, 25), 1.5, frame View, visualViewport); | |
1367 EXPECT_FALSE(rootScroller->userScroll(ScrollByPixel, FloatSize(-50, -50)).di dScroll()); | |
1368 EXPECT_SCROLL_AND_SCALE(DoublePoint(50, 50), DoublePoint(25, 25), 1.5, frame View, visualViewport); | |
1369 EXPECT_FALSE(rootScroller->userScroll(ScrollByPixel, FloatSize(1000, 1000)). didScroll()); | |
1370 EXPECT_SCROLL_AND_SCALE(DoublePoint(50, 50), DoublePoint(25, 25), 1.5, frame View, visualViewport); | |
1371 webViewImpl->setPageScaleFactor(2.0); | |
1372 EXPECT_SCROLL_AND_SCALE(DoublePoint(50, 50), DoublePoint(25, 25), 1.5, frame View, visualViewport); | |
1373 | |
1374 webViewImpl->disableDeviceEmulation(); | |
1375 EXPECT_SCROLL_AND_SCALE(DoublePoint(0, 0), DoublePoint(0, 0), 1.0, frameView , visualViewport); | |
1376 } | |
1377 | |
1378 TEST_F(WebViewTest, DeviceEmulationScrollOverridesAreClamped) | |
1379 { | |
1380 URLTestHelpers::registerMockedURLFromBaseURL(WebString::fromUTF8(m_baseURL.c _str()), WebString::fromUTF8("200-by-300.html")); | |
1381 WebViewImpl* webViewImpl = m_webViewHelper.initializeAndLoad(m_baseURL + "20 0-by-300.html"); | |
1382 webViewImpl->resize(WebSize(100, 150)); | |
1383 webViewImpl->resizeVisualViewport(WebSize(50, 75)); | |
1384 | |
1385 FrameView* frameView = webViewImpl->mainFrameImpl()->frame()->view(); | |
1386 VisualViewport* visualViewport = &webViewImpl->page()->frameHost().visualVie wport(); | |
1387 WebDeviceEmulationParams params; | |
1388 | |
1389 EXPECT_SCROLL_AND_SCALE(DoublePoint(0, 0), DoublePoint(0, 0), 1.0, frameView , visualViewport); | |
1390 | |
1391 // Scroll position override is clamped to maximum. | |
1392 params.scrollPosition = WebPoint(1000, 1000); | |
1393 params.visualViewportPosition = WebFloatPoint(-1, -1); | |
1394 params.visualViewportScale = 0; | |
1395 webViewImpl->enableDeviceEmulation(params); | |
1396 EXPECT_SCROLL_AND_SCALE(DoublePoint(100, 150), DoublePoint(0, 0), 1.0, frame View, visualViewport); | |
1397 | |
1398 webViewImpl->disableDeviceEmulation(); | |
1399 EXPECT_SCROLL_AND_SCALE(DoublePoint(0, 0), DoublePoint(0, 0), 1.0, frameView , visualViewport); | |
1400 | |
1401 // Viewport scroll position override is clamped to maximum. | |
1402 params.scrollPosition = WebPoint(-1, -1); | |
1403 params.visualViewportPosition = WebFloatPoint(1000, 1000); | |
1404 params.visualViewportScale = 0; | |
1405 webViewImpl->enableDeviceEmulation(params); | |
1406 EXPECT_SCROLL_AND_SCALE(DoublePoint(0, 0), DoublePoint(50, 75), 1.0, frameVi ew, visualViewport); | |
1407 | |
1408 webViewImpl->disableDeviceEmulation(); | |
1409 EXPECT_SCROLL_AND_SCALE(DoublePoint(0, 0), DoublePoint(0, 0), 1.0, frameView , visualViewport); | |
1410 } | |
1411 | |
1412 TEST_F(WebViewTest, DeviceEmulationDisablesAndRestoresThreadedScrolling) | |
1413 { | |
1414 URLTestHelpers::registerMockedURLFromBaseURL(WebString::fromUTF8(m_baseURL.c _str()), WebString::fromUTF8("200-by-300.html")); | |
1415 WebViewImpl* webViewImpl = m_webViewHelper.initializeAndLoad(m_baseURL + "20 0-by-300.html"); | |
1416 webViewImpl->resize(WebSize(100, 150)); | |
1417 webViewImpl->resizeVisualViewport(WebSize(50, 75)); | |
1418 | |
1419 FrameView* frameView = webViewImpl->mainFrameImpl()->frame()->view(); | |
1420 VisualViewport* visualViewport = &webViewImpl->page()->frameHost().visualVie wport(); | |
1421 WebDeviceEmulationParams params; | |
1422 | |
1423 EXPECT_TRUE(webViewImpl->page()->settings().threadedScrollingEnabled()); | |
1424 | |
1425 // Setting scroll override disables threaded scrolling and sets main thread | |
1426 // scrolling reasons. | |
1427 params.scrollPosition = WebPoint(0, 0); | |
1428 params.visualViewportPosition = WebFloatPoint(0, 0); | |
1429 webViewImpl->enableDeviceEmulation(params); | |
1430 EXPECT_FALSE(webViewImpl->page()->settings().threadedScrollingEnabled()); | |
1431 webViewImpl->updateAllLifecyclePhases(); | |
1432 EXPECT_TRUE(frameView->layerForScrolling()->platformLayer()->shouldScrollOnM ainThread()); | |
1433 EXPECT_TRUE(visualViewport->layerForScrolling()->platformLayer()->shouldScro llOnMainThread()); | |
1434 | |
1435 // Clearing override restores original setting. | |
1436 webViewImpl->disableDeviceEmulation(); | |
1437 EXPECT_TRUE(webViewImpl->page()->settings().threadedScrollingEnabled()); | |
1438 webViewImpl->updateAllLifecyclePhases(); | |
1439 EXPECT_FALSE(frameView->layerForScrolling()->platformLayer()->shouldScrollOn MainThread()); | |
1440 EXPECT_FALSE(visualViewport->layerForScrolling()->platformLayer()->shouldScr ollOnMainThread()); | |
1441 | |
1442 // Updating scroll override does not override stored default. | |
1443 params.scrollPosition = WebPoint(0, 0); | |
1444 params.visualViewportPosition = WebFloatPoint(0, 0); | |
1445 webViewImpl->enableDeviceEmulation(params); | |
1446 params.scrollPosition = WebPoint(100, 100); | |
1447 webViewImpl->enableDeviceEmulation(params); | |
1448 EXPECT_FALSE(webViewImpl->page()->settings().threadedScrollingEnabled()); | |
1449 webViewImpl->updateAllLifecyclePhases(); | |
1450 EXPECT_TRUE(frameView->layerForScrolling()->platformLayer()->shouldScrollOnM ainThread()); | |
1451 EXPECT_TRUE(visualViewport->layerForScrolling()->platformLayer()->shouldScro llOnMainThread()); | |
1452 | |
1453 webViewImpl->disableDeviceEmulation(); | |
1454 EXPECT_TRUE(webViewImpl->page()->settings().threadedScrollingEnabled()); | |
1455 webViewImpl->updateAllLifecyclePhases(); | |
1456 EXPECT_FALSE(frameView->layerForScrolling()->platformLayer()->shouldScrollOn MainThread()); | |
1457 EXPECT_FALSE(visualViewport->layerForScrolling()->platformLayer()->shouldScr ollOnMainThread()); | |
1458 } | |
1459 | |
1460 TEST_F(WebViewTest, DeviceEmulationScaleOverrideDoesNotAffectMainFrameSize) | |
1461 { | |
1462 URLTestHelpers::registerMockedURLFromBaseURL(WebString::fromUTF8(m_baseURL.c _str()), WebString::fromUTF8("200-by-300.html")); | |
1463 WebViewImpl* webViewImpl = m_webViewHelper.initializeAndLoad(m_baseURL + "20 0-by-300.html"); | |
1464 webViewImpl->resize(WebSize(100, 150)); | |
1465 webViewImpl->resizeVisualViewport(WebSize(50, 75)); | |
1466 | |
1467 FrameView* frameView = webViewImpl->mainFrameImpl()->frame()->view(); | |
1468 VisualViewport* visualViewport = &webViewImpl->page()->frameHost().visualVie wport(); | |
1469 WebDeviceEmulationParams params; | |
1470 | |
1471 EXPECT_SCROLL_AND_SCALE(DoublePoint(0, 0), DoublePoint(0, 0), 1.0, frameView , visualViewport); | |
1472 | |
1473 // Main frame size is normally calculated by dividing by minimum scale. | |
1474 // Since scale override changes minimum scale, we need to ensure that the | |
1475 // calculated main frame size does not change. | |
1476 IntSize expectedSize = webViewImpl->mainFrameSize(); | |
1477 params.visualViewportScale = 2.0; | |
1478 webViewImpl->enableDeviceEmulation(params); | |
1479 frameView->layout(); | |
1480 EXPECT_SCROLL_AND_SCALE(DoublePoint(0, 0), DoublePoint(0, 0), 2.0, frameView , visualViewport); | |
1481 EXPECT_SIZE_EQ(expectedSize, webViewImpl->mainFrameSize()); | |
1482 | |
1483 webViewImpl->disableDeviceEmulation(); | |
1484 EXPECT_SCROLL_AND_SCALE(DoublePoint(0, 0), DoublePoint(0, 0), 1.0, frameView , visualViewport); | |
1485 EXPECT_SIZE_EQ(expectedSize, webViewImpl->mainFrameSize()); | |
1486 | |
1487 // Same behavior for non-default minimum scale. | |
1488 webViewImpl->setDefaultPageScaleLimits(0.25, 5.0); | |
1489 frameView->layout(); | |
1490 EXPECT_SCROLL_AND_SCALE(DoublePoint(0, 0), DoublePoint(0, 0), 0.25, frameVie w, visualViewport); | |
1491 expectedSize = webViewImpl->mainFrameSize(); | |
1492 params.visualViewportScale = 2.0; | |
1493 webViewImpl->enableDeviceEmulation(params); | |
1494 frameView->layout(); | |
1495 EXPECT_SCROLL_AND_SCALE(DoublePoint(0, 0), DoublePoint(0, 0), 2.0, frameView , visualViewport); | |
1496 EXPECT_SIZE_EQ(expectedSize, webViewImpl->mainFrameSize()); | |
bokan
2016/07/11 13:52:10
Maybe add a resize while the override is in place
Eric Seckler
2016/07/11 16:37:13
Done.
| |
1497 | |
1498 webViewImpl->disableDeviceEmulation(); | |
1499 EXPECT_SCROLL_AND_SCALE(DoublePoint(0, 0), DoublePoint(0, 0), 0.25, frameVie w, visualViewport); | |
1500 EXPECT_SIZE_EQ(expectedSize, webViewImpl->mainFrameSize()); | |
1501 } | |
1502 | |
1503 TEST_F(WebViewTest, DeviceEmulationScaleOverrideSetsAndRestoresPageScaleConstrai nts) | |
1504 { | |
1505 URLTestHelpers::registerMockedURLFromBaseURL(WebString::fromUTF8(m_baseURL.c _str()), WebString::fromUTF8("200-by-300.html")); | |
1506 WebViewImpl* webViewImpl = m_webViewHelper.initializeAndLoad(m_baseURL + "20 0-by-300.html"); | |
1507 webViewImpl->resize(WebSize(100, 150)); | |
1508 webViewImpl->resizeVisualViewport(WebSize(50, 75)); | |
1509 | |
1510 FrameView* frameView = webViewImpl->mainFrameImpl()->frame()->view(); | |
1511 VisualViewport* visualViewport = &webViewImpl->page()->frameHost().visualVie wport(); | |
1512 WebDeviceEmulationParams params; | |
1513 | |
1514 EXPECT_SCROLL_AND_SCALE(DoublePoint(0, 0), DoublePoint(0, 0), 1.0, frameView , visualViewport); | |
1515 PageScaleConstraints originalConstraints(1.0, 0.5, 2.0); | |
1516 webViewImpl->page()->frameHost().setUserAgentPageScaleConstraints(originalCo nstraints); | |
1517 frameView->layout(); | |
1518 EXPECT_EQ(originalConstraints.initialScale, webViewImpl->pageScaleConstraint sSet().userAgentConstraints().initialScale); | |
1519 EXPECT_EQ(originalConstraints.minimumScale, webViewImpl->pageScaleConstraint sSet().userAgentConstraints().minimumScale); | |
1520 EXPECT_EQ(originalConstraints.maximumScale, webViewImpl->pageScaleConstraint sSet().userAgentConstraints().maximumScale); | |
1521 | |
1522 // Setting and clearing scale override restores original user-agent page | |
1523 // scale constraints setting. | |
1524 params.visualViewportScale = 3.0; | |
1525 webViewImpl->enableDeviceEmulation(params); | |
1526 frameView->layout(); | |
1527 EXPECT_SCROLL_AND_SCALE(DoublePoint(0, 0), DoublePoint(0, 0), 3.0, frameView , visualViewport); | |
1528 EXPECT_EQ(3.0, webViewImpl->pageScaleConstraintsSet().userAgentConstraints() .initialScale); | |
1529 EXPECT_EQ(3.0, webViewImpl->pageScaleConstraintsSet().userAgentConstraints() .minimumScale); | |
1530 EXPECT_EQ(3.0, webViewImpl->pageScaleConstraintsSet().userAgentConstraints() .maximumScale); | |
1531 | |
1532 params.visualViewportScale = 0; | |
1533 webViewImpl->enableDeviceEmulation(params); | |
1534 frameView->layout(); | |
1535 EXPECT_SCROLL_AND_SCALE(DoublePoint(0, 0), DoublePoint(0, 0), 2.0, frameView , visualViewport); | |
1536 EXPECT_EQ(originalConstraints.initialScale, webViewImpl->pageScaleConstraint sSet().userAgentConstraints().initialScale); | |
1537 EXPECT_EQ(originalConstraints.minimumScale, webViewImpl->pageScaleConstraint sSet().userAgentConstraints().minimumScale); | |
1538 EXPECT_EQ(originalConstraints.maximumScale, webViewImpl->pageScaleConstraint sSet().userAgentConstraints().maximumScale); | |
1539 | |
1540 // Same behavior for disabling emulation after scale override. | |
1541 params.visualViewportScale = 3.0; | |
1542 webViewImpl->enableDeviceEmulation(params); | |
1543 frameView->layout(); | |
1544 EXPECT_SCROLL_AND_SCALE(DoublePoint(0, 0), DoublePoint(0, 0), 3.0, frameView , visualViewport); | |
1545 EXPECT_EQ(3.0, webViewImpl->pageScaleConstraintsSet().userAgentConstraints() .initialScale); | |
1546 EXPECT_EQ(3.0, webViewImpl->pageScaleConstraintsSet().userAgentConstraints() .minimumScale); | |
1547 EXPECT_EQ(3.0, webViewImpl->pageScaleConstraintsSet().userAgentConstraints() .maximumScale); | |
1548 | |
1549 webViewImpl->disableDeviceEmulation(); | |
1550 EXPECT_SCROLL_AND_SCALE(DoublePoint(0, 0), DoublePoint(0, 0), 1.0, frameView , visualViewport); | |
1551 EXPECT_EQ(originalConstraints.initialScale, webViewImpl->pageScaleConstraint sSet().userAgentConstraints().initialScale); | |
1552 EXPECT_EQ(originalConstraints.minimumScale, webViewImpl->pageScaleConstraint sSet().userAgentConstraints().minimumScale); | |
1553 EXPECT_EQ(originalConstraints.maximumScale, webViewImpl->pageScaleConstraint sSet().userAgentConstraints().maximumScale); | |
1554 } | |
1555 | |
1070 TEST_F(WebViewTest, ExitingDeviceEmulationResetsPageScale) | 1556 TEST_F(WebViewTest, ExitingDeviceEmulationResetsPageScale) |
1071 { | 1557 { |
1072 URLTestHelpers::registerMockedURLFromBaseURL(WebString::fromUTF8(m_baseURL.c _str()), WebString::fromUTF8("200-by-300.html")); | 1558 URLTestHelpers::registerMockedURLFromBaseURL(WebString::fromUTF8(m_baseURL.c _str()), WebString::fromUTF8("200-by-300.html")); |
1073 WebViewImpl* webViewImpl = m_webViewHelper.initializeAndLoad(m_baseURL + "20 0-by-300.html"); | 1559 WebViewImpl* webViewImpl = m_webViewHelper.initializeAndLoad(m_baseURL + "20 0-by-300.html"); |
1074 webViewImpl->resize(WebSize(200, 300)); | 1560 webViewImpl->resize(WebSize(200, 300)); |
1075 | 1561 |
1076 float pageScaleExpected = webViewImpl->pageScaleFactor(); | 1562 float pageScaleExpected = webViewImpl->pageScaleFactor(); |
1077 | 1563 |
1078 WebDeviceEmulationParams params; | 1564 WebDeviceEmulationParams params; |
1079 params.screenPosition = WebDeviceEmulationParams::Desktop; | 1565 params.screenPosition = WebDeviceEmulationParams::Desktop; |
(...skipping 2052 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
3132 frame->setAutofillClient(&client); | 3618 frame->setAutofillClient(&client); |
3133 webView->setInitialFocus(false); | 3619 webView->setInitialFocus(false); |
3134 | 3620 |
3135 EXPECT_TRUE(webView->confirmComposition(WebString::fromUTF8(std::string("hel lo").c_str()))); | 3621 EXPECT_TRUE(webView->confirmComposition(WebString::fromUTF8(std::string("hel lo").c_str()))); |
3136 EXPECT_EQ(1, client.textChangesFromUserGesture()); | 3622 EXPECT_EQ(1, client.textChangesFromUserGesture()); |
3137 EXPECT_FALSE(UserGestureIndicator::processingUserGesture()); | 3623 EXPECT_FALSE(UserGestureIndicator::processingUserGesture()); |
3138 frame->setAutofillClient(0); | 3624 frame->setAutofillClient(0); |
3139 } | 3625 } |
3140 | 3626 |
3141 } // namespace blink | 3627 } // namespace blink |
OLD | NEW |