OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 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 | 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.os.Build; | 7 import android.os.Build; |
8 import android.test.suitebuilder.annotation.MediumTest; | 8 import android.test.suitebuilder.annotation.MediumTest; |
9 import android.webkit.GeolocationPermissions; | 9 import android.webkit.GeolocationPermissions; |
10 | 10 |
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
106 | 106 |
107 /** | 107 /** |
108 * Ensure that a call to navigator.getCurrentPosition works in WebView. | 108 * Ensure that a call to navigator.getCurrentPosition works in WebView. |
109 */ | 109 */ |
110 @MediumTest | 110 @MediumTest |
111 @Feature({"AndroidWebView"}) | 111 @Feature({"AndroidWebView"}) |
112 public void testGetPosition() throws Throwable { | 112 public void testGetPosition() throws Throwable { |
113 loadDataSync(mAwContents, mContentsClient.getOnPageFinishedHelper(), | 113 loadDataSync(mAwContents, mContentsClient.getOnPageFinishedHelper(), |
114 RAW_HTML, "text/html", false); | 114 RAW_HTML, "text/html", false); |
115 | 115 |
116 mAwContents.evaluateJavaScriptForTests("initiate_getCurrentPosition();",
null); | 116 mAwContents.evaluateJavaScript("initiate_getCurrentPosition();", null); |
117 | 117 |
118 poll(new Callable<Boolean>() { | 118 poll(new Callable<Boolean>() { |
119 @Override | 119 @Override |
120 public Boolean call() throws Exception { | 120 public Boolean call() throws Exception { |
121 return getPositionCountFromJS() == 1; | 121 return getPositionCountFromJS() == 1; |
122 } | 122 } |
123 }); | 123 }); |
124 | 124 |
125 mAwContents.evaluateJavaScriptForTests("initiate_getCurrentPosition();",
null); | 125 mAwContents.evaluateJavaScript("initiate_getCurrentPosition();", null); |
126 poll(new Callable<Boolean>() { | 126 poll(new Callable<Boolean>() { |
127 @Override | 127 @Override |
128 public Boolean call() throws Exception { | 128 public Boolean call() throws Exception { |
129 return getPositionCountFromJS() == 2; | 129 return getPositionCountFromJS() == 2; |
130 } | 130 } |
131 }); | 131 }); |
132 } | 132 } |
133 | 133 |
134 /** | 134 /** |
135 * Ensure that a call to navigator.watchPosition works in WebView. | 135 * Ensure that a call to navigator.watchPosition works in WebView. |
136 */ | 136 */ |
137 @MediumTest | 137 @MediumTest |
138 @Feature({"AndroidWebView"}) | 138 @Feature({"AndroidWebView"}) |
139 public void testWatchPosition() throws Throwable { | 139 public void testWatchPosition() throws Throwable { |
140 loadDataSync(mAwContents, mContentsClient.getOnPageFinishedHelper(), | 140 loadDataSync(mAwContents, mContentsClient.getOnPageFinishedHelper(), |
141 RAW_HTML, "text/html", false); | 141 RAW_HTML, "text/html", false); |
142 | 142 |
143 mAwContents.evaluateJavaScriptForTests("initiate_watchPosition();", null
); | 143 mAwContents.evaluateJavaScript("initiate_watchPosition();", null); |
144 | 144 |
145 poll(new Callable<Boolean>() { | 145 poll(new Callable<Boolean>() { |
146 @Override | 146 @Override |
147 public Boolean call() throws Exception { | 147 public Boolean call() throws Exception { |
148 return getPositionCountFromJS() > 1; | 148 return getPositionCountFromJS() > 1; |
149 } | 149 } |
150 }); | 150 }); |
151 } | 151 } |
152 | 152 |
153 @MediumTest | 153 @MediumTest |
154 @Feature({"AndroidWebView"}) | 154 @Feature({"AndroidWebView"}) |
155 public void testPauseGeolocationOnPause() throws Throwable { | 155 public void testPauseGeolocationOnPause() throws Throwable { |
156 // Start a watch going. | 156 // Start a watch going. |
157 loadDataSync(mAwContents, mContentsClient.getOnPageFinishedHelper(), | 157 loadDataSync(mAwContents, mContentsClient.getOnPageFinishedHelper(), |
158 RAW_HTML, "text/html", false); | 158 RAW_HTML, "text/html", false); |
159 | 159 |
160 mAwContents.evaluateJavaScriptForTests("initiate_watchPosition();", null
); | 160 mAwContents.evaluateJavaScript("initiate_watchPosition();", null); |
161 | 161 |
162 poll(new Callable<Boolean>() { | 162 poll(new Callable<Boolean>() { |
163 @Override | 163 @Override |
164 public Boolean call() throws Exception { | 164 public Boolean call() throws Exception { |
165 return getPositionCountFromJS() > 1; | 165 return getPositionCountFromJS() > 1; |
166 } | 166 } |
167 }); | 167 }); |
168 | 168 |
169 ensureGeolocationRunning(true); | 169 ensureGeolocationRunning(true); |
170 | 170 |
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
208 @Override | 208 @Override |
209 public void run() { | 209 public void run() { |
210 mAwContents.onPause(); | 210 mAwContents.onPause(); |
211 } | 211 } |
212 }); | 212 }); |
213 | 213 |
214 // Start a watch going. | 214 // Start a watch going. |
215 loadDataSync(mAwContents, mContentsClient.getOnPageFinishedHelper(), | 215 loadDataSync(mAwContents, mContentsClient.getOnPageFinishedHelper(), |
216 RAW_HTML, "text/html", false); | 216 RAW_HTML, "text/html", false); |
217 | 217 |
218 mAwContents.evaluateJavaScriptForTests("initiate_watchPosition();", null
); | 218 mAwContents.evaluateJavaScript("initiate_watchPosition();", null); |
219 | 219 |
220 assertEquals(0, getPositionCountFromJS()); | 220 assertEquals(0, getPositionCountFromJS()); |
221 | 221 |
222 ensureGeolocationRunning(false); | 222 ensureGeolocationRunning(false); |
223 | 223 |
224 getInstrumentation().runOnMainSync(new Runnable() { | 224 getInstrumentation().runOnMainSync(new Runnable() { |
225 @Override | 225 @Override |
226 public void run() { | 226 public void run() { |
227 mAwContents.onResume(); | 227 mAwContents.onResume(); |
228 } | 228 } |
(...skipping 26 matching lines...) Expand all Loading... |
255 @Override | 255 @Override |
256 public void run() { | 256 public void run() { |
257 mAwContents.onResume(); | 257 mAwContents.onResume(); |
258 } | 258 } |
259 }); | 259 }); |
260 | 260 |
261 ensureGeolocationRunning(false); | 261 ensureGeolocationRunning(false); |
262 } | 262 } |
263 | 263 |
264 } | 264 } |
OLD | NEW |