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

Side by Side Diff: android_webview/javatests/src/org/chromium/android_webview/test/ContentViewZoomTest.java

Issue 11759023: [Android WebView] Implement WebSettings.{get|set}UseWideViewport (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase and fix tests that were expecting UseWideViewPort=true Created 7 years, 11 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 package org.chromium.android_webview.test; 5 package org.chromium.android_webview.test;
6 6
7 import android.app.Activity; 7 import android.app.Activity;
8 import android.content.pm.ActivityInfo; 8 import android.content.pm.ActivityInfo;
9 import android.test.FlakyTest; 9 import android.test.FlakyTest;
10 import android.test.suitebuilder.annotation.SmallTest; 10 import android.test.suitebuilder.annotation.SmallTest;
(...skipping 175 matching lines...) Expand 10 before | Expand all | Expand 10 after
186 } catch (Throwable t) { 186 } catch (Throwable t) {
187 t.printStackTrace(); 187 t.printStackTrace();
188 fail("Failed to query canZoomIn/Out: " + t.toString()); 188 fail("Failed to query canZoomIn/Out: " + t.toString());
189 return false; 189 return false;
190 } 190 }
191 } 191 }
192 }, TEST_TIMEOUT_MS, CHECK_INTERVAL_MS); 192 }, TEST_TIMEOUT_MS, CHECK_INTERVAL_MS);
193 } 193 }
194 194
195 private void runMagnificationTest(boolean supportZoom) throws Throwable { 195 private void runMagnificationTest(boolean supportZoom) throws Throwable {
196 getContentSettingsOnUiThread(mAwContents).setUseWideViewPort(true);
196 loadDataSync(mAwContents, mContentsClient.getOnPageFinishedHelper(), 197 loadDataSync(mAwContents, mContentsClient.getOnPageFinishedHelper(),
197 getZoomableHtml(), "text/html", false); 198 getZoomableHtml(), "text/html", false);
198 // It takes some time for scaling to settle down. 199 // It takes some time for scaling to settle down.
199 waitUntilCanNotZoomOut(); 200 waitUntilCanNotZoomOut();
200 getContentSettingsOnUiThread(mAwContents).setSupportZoom(supportZoom); 201 getContentSettingsOnUiThread(mAwContents).setSupportZoom(supportZoom);
201 assertTrue("Should be able to zoom in", canZoomInOnUiThread()); 202 assertTrue("Should be able to zoom in", canZoomInOnUiThread());
202 assertFalse("Should not be able to zoom out", canZoomOutOnUiThread()); 203 assertFalse("Should not be able to zoom out", canZoomOutOnUiThread());
203 204
204 while (canZoomInOnUiThread()) { 205 while (canZoomInOnUiThread()) {
205 assertTrue(zoomInOnUiThreadAndWait()); 206 assertTrue(zoomInOnUiThreadAndWait());
(...skipping 25 matching lines...) Expand all
231 */ 232 */
232 @FlakyTest 233 @FlakyTest
233 public void testMagnificationWithZoomSupportOff() throws Throwable { 234 public void testMagnificationWithZoomSupportOff() throws Throwable {
234 runMagnificationTest(false); 235 runMagnificationTest(false);
235 } 236 }
236 237
237 @SmallTest 238 @SmallTest
238 @Feature({"AndroidWebView"}) 239 @Feature({"AndroidWebView"})
239 public void testZoomUsingMultiTouch() throws Throwable { 240 public void testZoomUsingMultiTouch() throws Throwable {
240 ContentSettings webSettings = getContentSettingsOnUiThread(mAwContents); 241 ContentSettings webSettings = getContentSettingsOnUiThread(mAwContents);
242 webSettings.setUseWideViewPort(true);
241 loadDataSync(mAwContents, mContentsClient.getOnPageFinishedHelper(), 243 loadDataSync(mAwContents, mContentsClient.getOnPageFinishedHelper(),
242 getZoomableHtml(), "text/html", false); 244 getZoomableHtml(), "text/html", false);
243 245
244 assertTrue(webSettings.supportZoom()); 246 assertTrue(webSettings.supportZoom());
245 assertFalse(webSettings.getBuiltInZoomControls()); 247 assertFalse(webSettings.getBuiltInZoomControls());
246 assertFalse(isMultiTouchZoomSupportedOnUiThread()); 248 assertFalse(isMultiTouchZoomSupportedOnUiThread());
247 249
248 getContentSettingsOnUiThread(mAwContents).setBuiltInZoomControls(true); 250 getContentSettingsOnUiThread(mAwContents).setBuiltInZoomControls(true);
249 assertTrue(isMultiTouchZoomSupportedOnUiThread()); 251 assertTrue(isMultiTouchZoomSupportedOnUiThread());
250 252
251 getContentSettingsOnUiThread(mAwContents).setSupportZoom(false); 253 getContentSettingsOnUiThread(mAwContents).setSupportZoom(false);
252 assertFalse(isMultiTouchZoomSupportedOnUiThread()); 254 assertFalse(isMultiTouchZoomSupportedOnUiThread());
253 } 255 }
254 256
255 /** 257 /**
256 * @SmallTest 258 * @SmallTest
257 * @Feature({"AndroidWebView"}) 259 * @Feature({"AndroidWebView"})
258 * BUG 153522 260 * BUG 153522
259 */ 261 */
260 @FlakyTest 262 @FlakyTest
261 public void testZoomControls() throws Throwable { 263 public void testZoomControls() throws Throwable {
262 ContentSettings webSettings = getContentSettingsOnUiThread(mAwContents); 264 ContentSettings webSettings = getContentSettingsOnUiThread(mAwContents);
265 webSettings.setUseWideViewPort(true);
263 loadDataSync(mAwContents, mContentsClient.getOnPageFinishedHelper(), 266 loadDataSync(mAwContents, mContentsClient.getOnPageFinishedHelper(),
264 getZoomableHtml(), "text/html", false); 267 getZoomableHtml(), "text/html", false);
265 268
266 assertTrue(webSettings.supportZoom()); 269 assertTrue(webSettings.supportZoom());
267 webSettings.setBuiltInZoomControls(true); 270 webSettings.setBuiltInZoomControls(true);
268 webSettings.setDisplayZoomControls(false); 271 webSettings.setDisplayZoomControls(false);
269 272
270 // With DisplayZoomControls set to false, attempts to display zoom 273 // With DisplayZoomControls set to false, attempts to display zoom
271 // controls must be ignored. 274 // controls must be ignored.
272 assertNull(getZoomControlsOnUiThread()); 275 assertNull(getZoomControlsOnUiThread());
273 invokeZoomPickerOnUiThread(); 276 invokeZoomPickerOnUiThread();
274 assertNull(getZoomControlsOnUiThread()); 277 assertNull(getZoomControlsOnUiThread());
275 278
276 webSettings.setDisplayZoomControls(true); 279 webSettings.setDisplayZoomControls(true);
277 assertNull(getZoomControlsOnUiThread()); 280 assertNull(getZoomControlsOnUiThread());
278 invokeZoomPickerOnUiThread(); 281 invokeZoomPickerOnUiThread();
279 View zoomControls = getZoomControlsOnUiThread(); 282 View zoomControls = getZoomControlsOnUiThread();
280 assertEquals(View.VISIBLE, zoomControls.getVisibility()); 283 assertEquals(View.VISIBLE, zoomControls.getVisibility());
281 } 284 }
282 285
283 @SmallTest 286 @SmallTest
284 @Feature({"AndroidWebView"}) 287 @Feature({"AndroidWebView"})
285 public void testZoomControlsOnNonZoomableContent() throws Throwable { 288 public void testZoomControlsOnNonZoomableContent() throws Throwable {
286 ContentSettings webSettings = getContentSettingsOnUiThread(mAwContents); 289 ContentSettings webSettings = getContentSettingsOnUiThread(mAwContents);
290 webSettings.setUseWideViewPort(true);
287 loadDataSync(mAwContents, mContentsClient.getOnPageFinishedHelper(), 291 loadDataSync(mAwContents, mContentsClient.getOnPageFinishedHelper(),
288 getNonZoomableHtml(), "text/html", false); 292 getNonZoomableHtml(), "text/html", false);
289 293
290 // ContentView must update itself according to the viewport setup. 294 // ContentView must update itself according to the viewport setup.
291 waitUntilCanNotZoom(); 295 waitUntilCanNotZoom();
292 296
293 assertTrue(webSettings.supportZoom()); 297 assertTrue(webSettings.supportZoom());
294 webSettings.setBuiltInZoomControls(true); 298 webSettings.setBuiltInZoomControls(true);
295 webSettings.setDisplayZoomControls(true); 299 webSettings.setDisplayZoomControls(true);
296 assertNull(getZoomControlsOnUiThread()); 300 assertNull(getZoomControlsOnUiThread());
297 invokeZoomPickerOnUiThread(); 301 invokeZoomPickerOnUiThread();
298 View zoomControls = getZoomControlsOnUiThread(); 302 View zoomControls = getZoomControlsOnUiThread();
299 assertEquals(View.GONE, zoomControls.getVisibility()); 303 assertEquals(View.GONE, zoomControls.getVisibility());
300 } 304 }
301 305
302 /** 306 /**
303 * @SmallTest 307 * @SmallTest
304 * @Feature({"AndroidWebView"}) 308 * @Feature({"AndroidWebView"})
305 * BUG 153523 309 * BUG 153523
306 */ 310 */
307 @DisabledTest 311 @DisabledTest
308 public void testZoomControlsOnOrientationChange() throws Throwable { 312 public void testZoomControlsOnOrientationChange() throws Throwable {
309 ContentSettings webSettings = getContentSettingsOnUiThread(mAwContents); 313 ContentSettings webSettings = getContentSettingsOnUiThread(mAwContents);
314 webSettings.setUseWideViewPort(true);
310 loadDataSync(mAwContents, mContentsClient.getOnPageFinishedHelper(), 315 loadDataSync(mAwContents, mContentsClient.getOnPageFinishedHelper(),
311 getZoomableHtml(), "text/html", false); 316 getZoomableHtml(), "text/html", false);
312 317
313 assertTrue(webSettings.supportZoom()); 318 assertTrue(webSettings.supportZoom());
314 webSettings.setBuiltInZoomControls(true); 319 webSettings.setBuiltInZoomControls(true);
315 webSettings.setDisplayZoomControls(true); 320 webSettings.setDisplayZoomControls(true);
316 invokeZoomPickerOnUiThread(); 321 invokeZoomPickerOnUiThread();
317 322
318 // Now force an orientation change, and try to display the zoom picker 323 // Now force an orientation change, and try to display the zoom picker
319 // again. Make sure that we don't crash when the ZoomPicker registers 324 // again. Make sure that we don't crash when the ZoomPicker registers
320 // it's receiver. 325 // it's receiver.
321 326
322 Activity activity = getActivity(); 327 Activity activity = getActivity();
323 int orientation = activity.getRequestedOrientation(); 328 int orientation = activity.getRequestedOrientation();
324 activity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAI T); 329 activity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAI T);
325 activity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCA PE); 330 activity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCA PE);
326 activity.setRequestedOrientation(orientation); 331 activity.setRequestedOrientation(orientation);
327 invokeZoomPickerOnUiThread(); 332 invokeZoomPickerOnUiThread();
328 333
329 // We may crash shortly (as the zoom picker has a short delay in it befo re 334 // We may crash shortly (as the zoom picker has a short delay in it befo re
330 // it tries to register it's BroadcastReceiver), so sleep to verify we d on't. 335 // it tries to register it's BroadcastReceiver), so sleep to verify we d on't.
331 // The delay is encoded in ZoomButtonsController#ZOOM_CONTROLS_TIMEOUT, 336 // The delay is encoded in ZoomButtonsController#ZOOM_CONTROLS_TIMEOUT,
332 // if that changes we may need to update this test. 337 // if that changes we may need to update this test.
333 Thread.sleep(ViewConfiguration.getZoomControlsTimeout()); 338 Thread.sleep(ViewConfiguration.getZoomControlsTimeout());
334 } 339 }
335 } 340 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698