OLD | NEW |
1 // Copyright 2012 The Chromium Authors. All rights reserved. | 1 // Copyright 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.content.browser; | 5 package org.chromium.content.browser; |
6 | 6 |
7 import android.test.suitebuilder.annotation.LargeTest; | 7 import android.test.suitebuilder.annotation.LargeTest; |
8 | 8 |
9 import org.chromium.base.ThreadUtils; | 9 import org.chromium.base.ThreadUtils; |
10 import org.chromium.base.test.util.Feature; | 10 import org.chromium.base.test.util.Feature; |
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
57 } | 57 } |
58 | 58 |
59 @Override | 59 @Override |
60 protected void setUp() throws Exception { | 60 protected void setUp() throws Exception { |
61 super.setUp(); | 61 super.setUp(); |
62 ContentShellActivity activity = launchContentShellWithUrl(URL); | 62 ContentShellActivity activity = launchContentShellWithUrl(URL); |
63 assertNotNull(activity); | 63 assertNotNull(activity); |
64 waitForActiveShellToBeDoneLoading(); | 64 waitForActiveShellToBeDoneLoading(); |
65 } | 65 } |
66 | 66 |
67 private void waitForInterstitial(final boolean shouldBeShown) throws Interru
ptedException { | 67 private void waitForInterstitial(final boolean shouldBeShown) { |
68 CriteriaHelper.pollUiThread( | 68 CriteriaHelper.pollUiThread( |
69 Criteria.equals(shouldBeShown, new Callable<Boolean>() { | 69 Criteria.equals(shouldBeShown, new Callable<Boolean>() { |
70 @Override | 70 @Override |
71 public Boolean call() { | 71 public Boolean call() { |
72 return getWebContents().isShowingInterstitialPage(); | 72 return getWebContents().isShowingInterstitialPage(); |
73 } | 73 } |
74 })); | 74 })); |
75 } | 75 } |
76 | 76 |
77 /** | 77 /** |
78 * Tests that showing and hiding an interstitial works. | 78 * Tests that showing and hiding an interstitial works. |
79 */ | 79 */ |
80 @LargeTest | 80 @LargeTest |
81 @Feature({"Navigation"}) | 81 @Feature({"Navigation"}) |
82 @RetryOnFailure | 82 @RetryOnFailure |
83 public void testCloseInterstitial() throws InterruptedException, ExecutionEx
ception { | 83 public void testCloseInterstitial() throws ExecutionException { |
84 final String proceedCommand = "PROCEED"; | 84 final String proceedCommand = "PROCEED"; |
85 final String htmlContent = "<html>" | 85 final String htmlContent = "<html>" |
86 + "<head>" | 86 + "<head>" |
87 + " <script>" | 87 + " <script>" |
88 + " function sendCommand(command) {" | 88 + " function sendCommand(command) {" |
89 + " window.domAutomationController.setAutomationId(1);" | 89 + " window.domAutomationController.setAutomationId(1);" |
90 + " window.domAutomationController.send(command);" | 90 + " window.domAutomationController.send(command);" |
91 + " }" | 91 + " }" |
92 + " </script>" | 92 + " </script>" |
93 + "</head>" | 93 + "</head>" |
(...skipping 21 matching lines...) Expand all Loading... |
115 | 115 |
116 waitForInterstitial(true); | 116 waitForInterstitial(true); |
117 assertTrue("WebContentsObserver not notified of interstitial showing", | 117 assertTrue("WebContentsObserver not notified of interstitial showing", |
118 observer.isInterstitialShowing()); | 118 observer.isInterstitialShowing()); |
119 TouchCommon.singleClickView(getContentViewCore().getContainerView(), 10,
10); | 119 TouchCommon.singleClickView(getContentViewCore().getContainerView(), 10,
10); |
120 waitForInterstitial(false); | 120 waitForInterstitial(false); |
121 assertTrue("WebContentsObserver not notified of interstitial hiding", | 121 assertTrue("WebContentsObserver not notified of interstitial hiding", |
122 !observer.isInterstitialShowing()); | 122 !observer.isInterstitialShowing()); |
123 } | 123 } |
124 } | 124 } |
OLD | NEW |