Merge branch 'froyo' into froyo-release
diff --git a/src/com/android/browser/TitleBar.java b/src/com/android/browser/TitleBar.java
index b377a71..2c25534 100644
--- a/src/com/android/browser/TitleBar.java
+++ b/src/com/android/browser/TitleBar.java
@@ -117,6 +117,11 @@
mVoiceSearchIntent = new Intent(RecognizerIntent.ACTION_WEB_SEARCH);
mVoiceSearchIntent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL,
RecognizerIntent.LANGUAGE_MODEL_WEB_SEARCH);
+ // This extra tells voice search not to send the application id in its
+ // results intent - http://b/2546173
+ //
+ // TODO: Make a constant for this extra.
+ mVoiceSearchIntent.putExtra("android.speech.extras.SEND_APPLICATION_ID_EXTRA", false);
PackageManager pm = context.getPackageManager();
ResolveInfo ri = pm.resolveActivity(mVoiceSearchIntent,
PackageManager.MATCH_DEFAULT_ONLY);
diff --git a/tests/AndroidManifest.xml b/tests/AndroidManifest.xml
index 51715a9..cb1ffc7 100644
--- a/tests/AndroidManifest.xml
+++ b/tests/AndroidManifest.xml
@@ -34,4 +34,9 @@
android:targetPackage="com.android.browser"
android:label="Tests for Browser."/>
+ <instrumentation android:name="com.android.browser.BrowserLaunchPerformance"
+ android:targetPackage="com.android.browser"
+ android:label="Browser Launch Performance">
+ </instrumentation>
+
</manifest>
diff --git a/tests/assets/bindings_test.html b/tests/assets/bindings_test.html
index 93dbff1..c20ccec 100755
--- a/tests/assets/bindings_test.html
+++ b/tests/assets/bindings_test.html
@@ -163,6 +163,10 @@
return true;
}
+function testParameterTypeMismatch() {
+ return JNIBindingsTest.testParameterTypeMismatch("dog");
+}
+
function appendLog(msg) {
var log = document.getElementById("status");
log.innerHTML += "<br/>" + msg;
@@ -221,6 +225,12 @@
appendLog("getIfaceProperties failed!");
}
+ if (testParameterTypeMismatch()) {
+ appendLog("testParameterTypeMismatch passed!");
+ } else {
+ appendLog("testParameterTypeMismatch failed!");
+ }
+
JNIBindingsTest.testComplete();
}
</script>
diff --git a/tests/src/com/android/browser/BrowserLaunchPerformance.java b/tests/src/com/android/browser/BrowserLaunchPerformance.java
new file mode 100644
index 0000000..c5d4279
--- /dev/null
+++ b/tests/src/com/android/browser/BrowserLaunchPerformance.java
@@ -0,0 +1,26 @@
+package com.android.browser;
+
+import android.app.Activity;
+import android.os.Bundle;
+import android.test.LaunchPerformanceBase;
+
+public class BrowserLaunchPerformance extends LaunchPerformanceBase {
+
+ @Override
+ public void onCreate(Bundle arguments) {
+ super.onCreate(arguments);
+
+ mIntent.setClassName(getTargetContext(), "com.android.browser.BrowserActivity");
+ start();
+ }
+
+ /**
+ * Calls LaunchApp and finish.
+ */
+ @Override
+ public void onStart() {
+ super.onStart();
+ LaunchApp();
+ finish(Activity.RESULT_OK, mResults);
+ }
+}
diff --git a/tests/src/com/android/browser/JNIBindingsTest.java b/tests/src/com/android/browser/JNIBindingsTest.java
index d2220f6..bfa3ac1 100644
--- a/tests/src/com/android/browser/JNIBindingsTest.java
+++ b/tests/src/com/android/browser/JNIBindingsTest.java
@@ -139,6 +139,7 @@
public boolean testObjectArray(String[] stringArray, Object[] emptyArray,
Object[] objectArray) {
String[] expectedStringArray = {"Hello", "World", "!"};
+ String expectedStringArrayClassName = "[Ljava.lang.String;";
Object[] expectedObjectArray = {};
try {
@@ -150,10 +151,13 @@
assertNull(objectArray);
assertEquals(Arrays.toString(expectedStringArray), Arrays.toString(stringArray));
+ assertEquals(expectedStringArrayClassName, stringArray.getClass().getName());
// EMULATE_JSC_BINDINGS
// assertEquals(Arrays.toString(expectedObjectArray), Arrays.toString(emptyArray));
+ // assertEquals(expectedObjectArrayClassName, emptyArray.getClass().getName());
// assertEquals(Arrays.toString(expectedObjectArray), Arrays.toString(objectArray));
+ // assertEquals(expectedStringObjectClassName, objectArray.getClass().getName());
} catch (AssertionFailedError e) {
printAssertionFailed(e);
@@ -177,6 +181,7 @@
String expectedStringParam = "Hello World";
int[] expectedIntArray = {1,2,3};
String[] expectedStringArrayParam = {"foo", "bar", "baz"};
+ String expectedStringArrayClassName = "[Ljava.lang.String;";
try {
assertEquals(expectedBoolParam, boolParam);
@@ -194,6 +199,7 @@
assertEquals(Arrays.toString(expectedIntArray), Arrays.toString(intArrayParam));
assertEquals(Arrays.toString(expectedStringArrayParam),
Arrays.toString(stringArrayParam));
+ assertEquals(expectedStringArrayClassName, stringArrayParam.getClass().getName());
assertNull(objectParam);
} catch (AssertionFailedError e) {
printAssertionFailed(e);
@@ -238,6 +244,18 @@
return true;
}
+ public boolean testParameterTypeMismatch(String[] stringArrayParam) {
+ // The JS test will pass a string, not an array to this test.
+ try {
+ assertNull(stringArrayParam);
+ } catch (AssertionFailedError e) {
+ printAssertionFailed(e);
+ return false;
+ }
+
+ return true;
+ }
+
public boolean returnBool() { return true; }
public byte returnByte() { return 1; }
public char returnChar() { return 'b'; }
diff --git a/tests/src/com/android/browser/JNIBindingsTestApp.java b/tests/src/com/android/browser/JNIBindingsTestApp.java
index cb38cbc..e01aca2 100644
--- a/tests/src/com/android/browser/JNIBindingsTestApp.java
+++ b/tests/src/com/android/browser/JNIBindingsTestApp.java
@@ -53,7 +53,8 @@
"testObjectMembers passed!\n" +
"testJSPrimitivesToStringsInJava passed!\n" +
"testJavaReturnTypes passed!\n" +
- "getIfaceProperties passed!\n";
+ "getIfaceProperties passed!\n" +
+ "testParameterTypeMismatch passed!\n";
private class GetWebKitDataThread extends Thread {