1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 package org.chromium.android_webview.test;
7 import android.app.Activity;
8 import android.view.Gravity;
9 import android.view.View;
10 import android.view.ViewGroup;
11 import android.view.WindowManager;
12 import android.webkit.WebChromeClient;
13 import android.widget.FrameLayout;
15 import static org.chromium.base.test.util.ScalableTimeout.ScaleTimeout;
17 import org.chromium.content.browser.test.util.CallbackHelper;
19 import java.util.concurrent.TimeUnit;
20 import java.util.concurrent.TimeoutException;
23 * This class is a AwContentsClient for full screen video test.
25 public class FullScreenVideoTestAwContentsClient extends TestAwContentsClient {
26 public static final long WAITING_SECONDS = ScaleTimeout(20);
27 private CallbackHelper mOnShowCustomViewCallbackHelper = new CallbackHelper();
28 private CallbackHelper mOnHideCustomViewCallbackHelper = new CallbackHelper();
30 private Activity mActivity;
32 public FullScreenVideoTestAwContentsClient(Activity activity) {
37 public void onShowCustomView(View view, WebChromeClient.CustomViewCallback callback) {
38 mActivity.getWindow().setFlags(
39 WindowManager.LayoutParams.FLAG_FULLSCREEN,
40 WindowManager.LayoutParams.FLAG_FULLSCREEN);
42 mActivity.getWindow().addContentView(view,
43 new FrameLayout.LayoutParams(
44 ViewGroup.LayoutParams.MATCH_PARENT,
45 ViewGroup.LayoutParams.MATCH_PARENT,
47 mOnShowCustomViewCallbackHelper.notifyCalled();
51 public void onHideCustomView() {
52 mActivity.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
53 mOnHideCustomViewCallbackHelper.notifyCalled();
56 public void waitForCustomViewShown() throws TimeoutException, InterruptedException {
57 mOnShowCustomViewCallbackHelper.waitForCallback(0, 1, WAITING_SECONDS, TimeUnit.SECONDS);
60 public void waitForCustomViewHidden() throws InterruptedException, TimeoutException {
61 mOnHideCustomViewCallbackHelper.waitForCallback(0, 1, WAITING_SECONDS, TimeUnit.SECONDS);