summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSteve Block <steveblock@google.com>2010-10-13 18:44:31 +0100
committerSteve Block <steveblock@google.com>2010-10-14 12:43:44 +0100
commit5f37cc4308438bcac45d06d07d77a56911620046 (patch)
tree91b6e7a8c1ea931feebc3058fbd566543daa006e
parentff4031bcb5c387900acf63b46211ba00fa52d417 (diff)
downloadframeworks_base-5f37cc4308438bcac45d06d07d77a56911620046.zip
frameworks_base-5f37cc4308438bcac45d06d07d77a56911620046.tar.gz
frameworks_base-5f37cc4308438bcac45d06d07d77a56911620046.tar.bz2
Implement LayoutTestController.overridePreference('WebKitUsesPageCachePreferenceKey')
This is required for tests that test PageCache behaviour, eg - fast/dom/DeviceMotion/no-page-cache.html - fast/dom/DeviceOrientation/no-page-cache.html - fast/dom/Geolocation/no-page-cache.html Change-Id: Ie5862f6c86718142c949be81a85358ca6fac628a
-rw-r--r--tests/DumpRenderTree/src/com/android/dumprendertree/TestShellActivity.java13
-rw-r--r--tests/DumpRenderTree2/src/com/android/dumprendertree2/LayoutTestsExecutor.java16
2 files changed, 22 insertions, 7 deletions
diff --git a/tests/DumpRenderTree/src/com/android/dumprendertree/TestShellActivity.java b/tests/DumpRenderTree/src/com/android/dumprendertree/TestShellActivity.java
index 19815fd..643dbf5 100644
--- a/tests/DumpRenderTree/src/com/android/dumprendertree/TestShellActivity.java
+++ b/tests/DumpRenderTree/src/com/android/dumprendertree/TestShellActivity.java
@@ -66,7 +66,9 @@ public class TestShellActivity extends Activity implements LayoutTestController
static enum DumpDataType {DUMP_AS_TEXT, EXT_REPR, NO_OP}
// String constants for use with layoutTestController.overridePreferences
- private final String WEBKIT_OFFLINE_WEB_APPLICATION_CACHE_ENABLED = "WebKitOfflineWebApplicationCacheEnabled";
+ private final String WEBKIT_OFFLINE_WEB_APPLICATION_CACHE_ENABLED =
+ "WebKitOfflineWebApplicationCacheEnabled";
+ private final String WEBKIT_USES_PAGE_CACHE_PREFERENCE_KEY = "WebKitUsesPageCachePreferenceKey";
public class AsyncHandler extends Handler {
@Override
@@ -524,8 +526,14 @@ public class TestShellActivity extends Activity implements LayoutTestController
// called the layoutTestController method. Currently, we just use the
// WebView for the main frame. EventSender suffers from the same
// problem.
- if (key.equals(WEBKIT_OFFLINE_WEB_APPLICATION_CACHE_ENABLED)) {
+ if (WEBKIT_OFFLINE_WEB_APPLICATION_CACHE_ENABLED.equals(key)) {
mWebView.getSettings().setAppCacheEnabled(value);
+ } else if (WEBKIT_USES_PAGE_CACHE_PREFERENCE_KEY.equals(key)) {
+ // Cache the maximum possible number of pages.
+ mWebView.getSettings().setPageCacheCapacity(Integer.MAX_VALUE);
+ } else {
+ Log.w(LOGTAG, "LayoutTestController.overridePreference(): " +
+ "Unsupported preference '" + key + "'");
}
}
@@ -879,6 +887,7 @@ public class TestShellActivity extends Activity implements LayoutTestController
settings.setDomStorageEnabled(true);
settings.setWorkersEnabled(false);
settings.setXSSAuditorEnabled(false);
+ settings.setPageCacheCapacity(0);
}
private WebView mWebView;
diff --git a/tests/DumpRenderTree2/src/com/android/dumprendertree2/LayoutTestsExecutor.java b/tests/DumpRenderTree2/src/com/android/dumprendertree2/LayoutTestsExecutor.java
index 97d7cca..af8f6ea 100644
--- a/tests/DumpRenderTree2/src/com/android/dumprendertree2/LayoutTestsExecutor.java
+++ b/tests/DumpRenderTree2/src/com/android/dumprendertree2/LayoutTestsExecutor.java
@@ -394,6 +394,7 @@ public class LayoutTestsExecutor extends Activity {
webViewSettings.setDomStorageEnabled(true);
webViewSettings.setWorkersEnabled(false);
webViewSettings.setXSSAuditorEnabled(false);
+ webViewSettings.setPageCacheCapacity(0);
// This is asynchronous, but it gets processed by WebCore before it starts loading pages.
mCurrentWebView.useMockDeviceOrientation();
@@ -565,6 +566,7 @@ public class LayoutTestsExecutor extends Activity {
/** String constants for use with layoutTestController.overridePreference() */
private final String WEBKIT_OFFLINE_WEB_APPLICATION_CACHE_ENABLED =
"WebKitOfflineWebApplicationCacheEnabled";
+ private final String WEBKIT_USES_PAGE_CACHE_PREFERENCE_KEY = "WebKitUsesPageCachePreferenceKey";
Handler mLayoutTestControllerHandler = new Handler() {
@Override
@@ -609,12 +611,16 @@ public class LayoutTestsExecutor extends Activity {
* WebView for the main frame. EventSender suffers from the same
* problem.
*/
- if (msg.getData().getString("key").equals(
- WEBKIT_OFFLINE_WEB_APPLICATION_CACHE_ENABLED)) {
- mCurrentWebView.getSettings().setAppCacheEnabled(msg.getData().getBoolean(
- "value"));
+ String key = msg.getData().getString("key");
+ boolean value = msg.getData().getBoolean("value");
+ if (WEBKIT_OFFLINE_WEB_APPLICATION_CACHE_ENABLED.equals(key)) {
+ mCurrentWebView.getSettings().setAppCacheEnabled(value);
+ } else if (WEBKIT_USES_PAGE_CACHE_PREFERENCE_KEY.equals(key)) {
+ // Cache the maximum possible number of pages.
+ mCurrentWebView.getSettings().setPageCacheCapacity(Integer.MAX_VALUE);
} else {
- Log.w(LOG_TAG, "MSG_OVERRIDE_PREFERENCE: unsupported preference!");
+ Log.w(LOG_TAG, "LayoutTestController.overridePreference(): " +
+ "Unsupported preference '" + key + "'");
}
break;