Implements layoutTestController.overridePreference()

This change provides the infrastructure for
layoutTestController.overridePreference(). Currently, we only provide an
implementation for the preference 'WebKitOfflineWebApplicationCacheEnabled',
which is required by the layout test http/tests/appcache/disabled.html.

Change-Id: I8552f2f4e23b982db2d067ffa20c052e56d8fb7f
This commit is contained in:
Steve Block
2010-03-19 18:48:35 +00:00
parent cd90b15cb8
commit fb0de34a47
4 changed files with 29 additions and 1 deletions

View File

@@ -61,6 +61,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";
public class AsyncHandler extends Handler {
@Override
public void handleMessage(Message msg) {
@@ -459,6 +462,16 @@ public class TestShellActivity extends Activity implements LayoutTestController
mGeolocationPermission = allow;
}
public void overridePreference(String key, boolean value) {
// TODO: We should look up the correct WebView for the frame which
// 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)) {
mWebView.getSettings().setAppCacheEnabled(value);
}
}
private final WebViewClient mViewClient = new WebViewClient(){
@Override
public void onPageFinished(WebView view, String url) {