am 9c1a21bc: am 8af013a3: am 77eb7290: am 72604e38: am bd914e49: am e78365c9: Try reading every file on /sys
# Via Android Git Automerger (5) and Nick Kralevich (1)
* commit '9c1a21bc73883475b8e739018b53d71fb1c74002':
Try reading every file on /sys
diff --git a/tests/assets/webkit/jswindow.html b/tests/assets/webkit/jswindow.html
index 534a683..7075d6e 100644
--- a/tests/assets/webkit/jswindow.html
+++ b/tests/assets/webkit/jswindow.html
@@ -23,7 +23,6 @@
childWindow = window.open();
childWindow.document.title = "javascript child window";
childWindow.document.write("javascript child window");
- childWindow.focus();
setTimeout(function(){childWindow.close();}, 2000);
}
</script>
diff --git a/tests/tests/graphics/src/android/graphics/cts/AvoidXfermodeTest.java b/tests/tests/graphics/src/android/graphics/cts/AvoidXfermodeTest.java
index d58336d..beb3621 100644
--- a/tests/tests/graphics/src/android/graphics/cts/AvoidXfermodeTest.java
+++ b/tests/tests/graphics/src/android/graphics/cts/AvoidXfermodeTest.java
@@ -62,7 +62,7 @@
assertEquals(Color.GREEN, b.getPixel(BASE_SIZE / 2, BASE_SIZE / 2));
assertEquals(Color.RED, b.getPixel(BASE_SIZE + BASE_SIZE / 2, BASE_SIZE / 2));
- assertEquals(Color.CYAN, b.getPixel(BASE_SIZE / 2, BASE_SIZE + BASE_SIZE / 2));
+ assertEquals(Color.BLUE, b.getPixel(BASE_SIZE / 2, BASE_SIZE + BASE_SIZE / 2));
assertEquals(Color.BLACK, b.getPixel(BASE_SIZE + BASE_SIZE / 2, BASE_SIZE + BASE_SIZE / 2));
}
}
diff --git a/tests/tests/webkit/src/android/webkit/cts/HttpAuthHandlerTest.java b/tests/tests/webkit/src/android/webkit/cts/HttpAuthHandlerTest.java
index 2fcf53c..52e9278 100644
--- a/tests/tests/webkit/src/android/webkit/cts/HttpAuthHandlerTest.java
+++ b/tests/tests/webkit/src/android/webkit/cts/HttpAuthHandlerTest.java
@@ -28,6 +28,11 @@
private static final long TIMEOUT = 10000;
+ private static final String WRONG_USERNAME = "wrong_user";
+ private static final String WRONG_PASSWORD = "wrong_password";
+ private static final String CORRECT_USERNAME = CtsTestServer.AUTH_USER;
+ private static final String CORRECT_PASSWORD = CtsTestServer.AUTH_PASS;
+
private CtsTestServer mWebServer;
private WebViewOnUiThread mOnUiThread;
@@ -50,64 +55,18 @@
super.tearDown();
}
- public void testProceed() throws Exception {
- mWebServer = new CtsTestServer(getActivity());
- String url = mWebServer.getAuthAssetUrl(TestHtmlConstants.HELLO_WORLD_URL);
-
- // wrong credentials
- MyWebViewClient client = new MyWebViewClient(true, "FakeUser", "FakePass");
- mOnUiThread.setWebViewClient(client);
-
- mOnUiThread.loadUrlAndWaitForCompletion(url);
- assertEquals(CtsTestServer.AUTH_REALM, client.realm);
- assertEquals(CtsTestServer.getReasonString(HttpStatus.SC_UNAUTHORIZED), mOnUiThread.getTitle());
- assertTrue(client.useHttpAuthUsernamePassword);
-
- // missing credentials
- client = new MyWebViewClient(true, null, null);
- mOnUiThread.setWebViewClient(client);
-
- mOnUiThread.loadUrlAndWaitForCompletion(url);
- assertEquals(CtsTestServer.AUTH_REALM, client.realm);
- assertEquals(
- CtsTestServer.getReasonString(HttpStatus.SC_UNAUTHORIZED), mOnUiThread.getTitle());
- assertTrue(client.useHttpAuthUsernamePassword);
-
- // correct credentials
- client = new MyWebViewClient(true, CtsTestServer.AUTH_USER, CtsTestServer.AUTH_PASS);
- mOnUiThread.setWebViewClient(client);
-
- mOnUiThread.loadUrlAndWaitForCompletion(url);
- assertEquals(CtsTestServer.AUTH_REALM, client.realm);
- assertEquals(TestHtmlConstants.HELLO_WORLD_TITLE, mOnUiThread.getTitle());
- assertTrue(client.useHttpAuthUsernamePassword);
- }
-
- public void testCancel() throws Exception {
- mWebServer = new CtsTestServer(getActivity());
-
- String url = mWebServer.getAuthAssetUrl(TestHtmlConstants.HELLO_WORLD_URL);
- MyWebViewClient client = new MyWebViewClient(false, null, null);
- mOnUiThread.setWebViewClient(client);
-
- mOnUiThread.loadUrlAndWaitForCompletion(url);
- assertEquals(CtsTestServer.AUTH_REALM, client.realm);
- assertEquals(
- CtsTestServer.getReasonString(HttpStatus.SC_UNAUTHORIZED), mOnUiThread.getTitle());
- }
-
- private class MyWebViewClient extends WaitForLoadedClient {
+ private class ProceedHttpAuthClient extends WaitForLoadedClient {
String realm;
boolean useHttpAuthUsernamePassword;
- private boolean mProceed;
+ private int mMaxAuthAttempts;
private String mUser;
private String mPassword;
private int mAuthCount;
- MyWebViewClient(boolean proceed, String user, String password) {
+ ProceedHttpAuthClient(int maxAuthAttempts, String user, String password) {
super(mOnUiThread);
- mProceed = proceed;
+ mMaxAuthAttempts = maxAuthAttempts;
mUser = user;
mPassword = password;
}
@@ -115,18 +74,113 @@
@Override
public void onReceivedHttpAuthRequest(WebView view,
HttpAuthHandler handler, String host, String realm) {
- ++mAuthCount;
- if (mAuthCount > 1) {
+ if (++mAuthCount > mMaxAuthAttempts) {
handler.cancel();
return;
}
+
this.realm = realm;
this.useHttpAuthUsernamePassword = handler.useHttpAuthUsernamePassword();
- if (mProceed) {
- handler.proceed(mUser, mPassword);
- } else {
- handler.cancel();
- }
+
+ handler.proceed(mUser, mPassword);
}
}
+
+ private class CancelHttpAuthClient extends WaitForLoadedClient {
+ String realm;
+
+ CancelHttpAuthClient() {
+ super(mOnUiThread);
+ }
+
+ @Override
+ public void onReceivedHttpAuthRequest(WebView view,
+ HttpAuthHandler handler, String host, String realm) {
+ this.realm = realm;
+ handler.cancel();
+ }
+ }
+
+ private void incorrectCredentialsAccessDenied(String url) throws Throwable {
+ ProceedHttpAuthClient client = new ProceedHttpAuthClient(1, WRONG_USERNAME, WRONG_PASSWORD);
+ mOnUiThread.setWebViewClient(client);
+
+ // As we're providing incorrect credentials, the page should complete but at
+ // an access denied page.
+ mOnUiThread.loadUrlAndWaitForCompletion(url);
+
+ assertEquals(CtsTestServer.AUTH_REALM, client.realm);
+ assertEquals(CtsTestServer.getReasonString(HttpStatus.SC_UNAUTHORIZED), mOnUiThread.getTitle());
+ }
+
+ private void missingCredentialsAccessDenied(String url) throws Throwable {
+ ProceedHttpAuthClient client = new ProceedHttpAuthClient(1, null, null);
+ mOnUiThread.setWebViewClient(client);
+
+ // As we're providing no credentials, the page should complete but at
+ // an access denied page.
+ mOnUiThread.loadUrlAndWaitForCompletion(url);
+
+ assertEquals(CtsTestServer.AUTH_REALM, client.realm);
+ assertEquals(CtsTestServer.getReasonString(HttpStatus.SC_UNAUTHORIZED), mOnUiThread.getTitle());
+ }
+
+ private void correctCredentialsAccessGranted(String url) throws Throwable {
+ ProceedHttpAuthClient client = new ProceedHttpAuthClient(1, CORRECT_USERNAME, CORRECT_PASSWORD);
+ mOnUiThread.setWebViewClient(client);
+
+ // As we're providing valid credentials, the page should complete and
+ // at the page we requested.
+ mOnUiThread.loadUrlAndWaitForCompletion(url);
+
+ assertEquals(CtsTestServer.AUTH_REALM, client.realm);
+ assertEquals(TestHtmlConstants.HELLO_WORLD_TITLE, mOnUiThread.getTitle());
+ }
+
+ public void testProceed() throws Throwable {
+ mWebServer = new CtsTestServer(getActivity());
+ String url = mWebServer.getAuthAssetUrl(TestHtmlConstants.HELLO_WORLD_URL);
+
+ incorrectCredentialsAccessDenied(url);
+ missingCredentialsAccessDenied(url);
+ correctCredentialsAccessGranted(url);
+ }
+
+ public void testCancel() throws Throwable {
+ mWebServer = new CtsTestServer(getActivity());
+ String url = mWebServer.getAuthAssetUrl(TestHtmlConstants.HELLO_WORLD_URL);
+
+ CancelHttpAuthClient client = new CancelHttpAuthClient();
+ mOnUiThread.setWebViewClient(client);
+
+ mOnUiThread.loadUrlAndWaitForCompletion(url);
+ assertEquals(CtsTestServer.AUTH_REALM, client.realm);
+ assertEquals(CtsTestServer.getReasonString(HttpStatus.SC_UNAUTHORIZED), mOnUiThread.getTitle());
+ }
+
+ public void testUseHttpAuthUsernamePassword() throws Throwable {
+ mWebServer = new CtsTestServer(getActivity());
+ String url = mWebServer.getAuthAssetUrl(TestHtmlConstants.HELLO_WORLD_URL);
+
+ // Try to login once with incorrect credentials. This should cause
+ // useHttpAuthUsernamePassword to be true in the callback, as at that point
+ // we don't yet know that the credentials we will use are invalid.
+ ProceedHttpAuthClient client = new ProceedHttpAuthClient(1, WRONG_USERNAME, WRONG_PASSWORD);
+ mOnUiThread.setWebViewClient(client);
+ mOnUiThread.loadUrlAndWaitForCompletion(url);
+ assertEquals(CtsTestServer.AUTH_REALM, client.realm);
+ assertEquals(CtsTestServer.getReasonString(HttpStatus.SC_UNAUTHORIZED), mOnUiThread.getTitle());
+ assertTrue(client.useHttpAuthUsernamePassword);
+
+ // Try to login twice with invalid credentials. This should cause
+ // useHttpAuthUsernamePassword to return false, as the credentials
+ // we would have stored on the first auth request
+ // are not suitable for use the second time.
+ client = new ProceedHttpAuthClient(2, WRONG_USERNAME, WRONG_PASSWORD);
+ mOnUiThread.setWebViewClient(client);
+ mOnUiThread.loadUrlAndWaitForCompletion(url);
+ assertEquals(CtsTestServer.AUTH_REALM, client.realm);
+ assertEquals(CtsTestServer.getReasonString(HttpStatus.SC_UNAUTHORIZED), mOnUiThread.getTitle());
+ assertFalse(client.useHttpAuthUsernamePassword);
+ }
}
diff --git a/tests/tests/webkit/src/android/webkit/cts/WebChromeClientTest.java b/tests/tests/webkit/src/android/webkit/cts/WebChromeClientTest.java
index 4a536b8..422c8fb 100644
--- a/tests/tests/webkit/src/android/webkit/cts/WebChromeClientTest.java
+++ b/tests/tests/webkit/src/android/webkit/cts/WebChromeClientTest.java
@@ -20,6 +20,7 @@
import android.graphics.Bitmap;
import android.os.Message;
import android.test.ActivityInstrumentationTestCase2;
+import android.view.ViewGroup;
import android.webkit.JsPromptResult;
import android.webkit.JsResult;
import android.webkit.WebIconDatabase;
@@ -27,7 +28,6 @@
import android.webkit.WebView;
import android.webkit.cts.WebViewOnUiThread.WaitForProgressClient;
-
public class WebChromeClientTest extends ActivityInstrumentationTestCase2<WebViewStubActivity> {
private static final long TEST_TIMEOUT = 5000L;
@@ -132,8 +132,8 @@
assertFalse(webChromeClient.hadOnCreateWindow());
- // load a page that opens a child window, requests focus for the child and sets a timeout
- // after which the child will be closed
+ // Load a page that opens a child window and sets a timeout after which the child
+ // will be closed.
mOnUiThread.loadUrlAndWaitForCompletion(mWebServer.
getAssetUrl(TestHtmlConstants.JS_WINDOW_URL));
@@ -143,7 +143,6 @@
return webChromeClient.hadOnCreateWindow();
}
}.run();
- assertFalse(webChromeClient.hadOnRequestFocus());
new PollingCheck(TEST_TIMEOUT) {
@Override
protected boolean check() {
@@ -388,6 +387,8 @@
transport.setWebView(childView);
resultMsg.sendToTarget();
mHadOnCreateWindow = true;
+ getActivity().addContentView(childView, new ViewGroup.LayoutParams(
+ ViewGroup.LayoutParams.FILL_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT));
return true;
}