diff options
author | Jonathan Dixon <joth@google.com> | 2012-02-28 18:45:06 +0000 |
---|---|---|
committer | Jonathan Dixon <joth@google.com> | 2012-03-02 11:17:47 +0000 |
commit | 3c90952036a5ff7ddb2946c643f1a0bf1c31d53a (patch) | |
tree | 974ef2a94c60a2c72b8fbd804613792480a9c3e5 /tests/DumpRenderTree2 | |
parent | 0dc0da67d9775b2364a38d015e0610492708a02e (diff) | |
download | frameworks_base-3c90952036a5ff7ddb2946c643f1a0bf1c31d53a.zip frameworks_base-3c90952036a5ff7ddb2946c643f1a0bf1c31d53a.tar.gz frameworks_base-3c90952036a5ff7ddb2946c643f1a0bf1c31d53a.tar.bz2 |
Refactor WebView to be a thin proxy class
Splits interface and implementation; all client calls are forwarded
to an abstract WebViewProvider interface, and the existing implementation
moved into the WebViewClassic implementor of this interface.
Originally taken from a snapshot from the development branch, by:
git diff HEAD 9a4c328a54cc05e5 | git apply
- but then rebased to keep up to date with master
Interdepends on webkit and Browser changes:
https://android-git.corp.google.com/g/158979
https://android-git.corp.google.com/g/167911
Change-Id: I91403f32654ff308934e95c832d17b292a7d9b2e
Diffstat (limited to 'tests/DumpRenderTree2')
-rw-r--r-- | tests/DumpRenderTree2/src/com/android/dumprendertree2/LayoutTestsExecutor.java | 24 | ||||
-rw-r--r-- | tests/DumpRenderTree2/src/com/android/dumprendertree2/TextResult.java | 3 |
2 files changed, 17 insertions, 10 deletions
diff --git a/tests/DumpRenderTree2/src/com/android/dumprendertree2/LayoutTestsExecutor.java b/tests/DumpRenderTree2/src/com/android/dumprendertree2/LayoutTestsExecutor.java index f59da37..fc22472 100644 --- a/tests/DumpRenderTree2/src/com/android/dumprendertree2/LayoutTestsExecutor.java +++ b/tests/DumpRenderTree2/src/com/android/dumprendertree2/LayoutTestsExecutor.java @@ -41,9 +41,11 @@ import android.webkit.JsResult; import android.webkit.SslErrorHandler; import android.webkit.WebChromeClient; import android.webkit.WebSettings; +import android.webkit.WebSettingsClassic; import android.webkit.WebStorage; import android.webkit.WebStorage.QuotaUpdater; import android.webkit.WebView; +import android.webkit.WebViewClassic; import android.webkit.WebViewClient; import java.lang.Thread.UncaughtExceptionHandler; @@ -369,11 +371,12 @@ public class LayoutTestsExecutor extends Activity { * a real use of touch events in a WebView) and so if the WebView drops the event, * the test will fail as the test expects one callback for every touch it synthesizes. */ - webView.setTouchInterval(-1); + WebViewClassic webViewClassic = WebViewClassic.fromWebView(webView); + webViewClassic.setTouchInterval(-1); - webView.clearCache(true); + webViewClassic.clearCache(true); - WebSettings webViewSettings = webView.getSettings(); + WebSettingsClassic webViewSettings = webViewClassic.getSettings(); webViewSettings.setAppCacheEnabled(true); webViewSettings.setAppCachePath(getApplicationContext().getCacheDir().getPath()); // Use of larger values causes unexplained AppCache database corruption. @@ -391,7 +394,7 @@ public class LayoutTestsExecutor extends Activity { webViewSettings.setPageCacheCapacity(0); // This is asynchronous, but it gets processed by WebCore before it starts loading pages. - mCurrentWebView.useMockDeviceOrientation(); + WebViewClassic.fromWebView(mCurrentWebView).useMockDeviceOrientation(); // Must do this after setting the AppCache path. WebStorage.getInstance().deleteAllData(); @@ -625,10 +628,12 @@ public class LayoutTestsExecutor extends Activity { 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); + WebViewClassic.fromWebView(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); + WebViewClassic.fromWebView(mCurrentWebView).getSettings(). + setPageCacheCapacity(Integer.MAX_VALUE); } else { Log.w(LOG_TAG, "LayoutTestController.overridePreference(): " + "Unsupported preference '" + key + "'"); @@ -656,7 +661,8 @@ public class LayoutTestsExecutor extends Activity { break; case MSG_SET_XSS_AUDITOR_ENABLED: - mCurrentWebView.getSettings().setXSSAuditorEnabled(msg.arg1 == 1); + WebViewClassic.fromWebView(mCurrentWebView).getSettings(). + setXSSAuditorEnabled(msg.arg1 == 1); break; case MSG_WAIT_UNTIL_DONE: @@ -728,8 +734,8 @@ public class LayoutTestsExecutor extends Activity { Log.i(LOG_TAG, mCurrentTestRelativePath + ": setMockDeviceOrientation(" + canProvideAlpha + ", " + alpha + ", " + canProvideBeta + ", " + beta + ", " + canProvideGamma + ", " + gamma + ")"); - mCurrentWebView.setMockDeviceOrientation(canProvideAlpha, alpha, canProvideBeta, beta, - canProvideGamma, gamma); + WebViewClassic.fromWebView(mCurrentWebView).setMockDeviceOrientation(canProvideAlpha, + alpha, canProvideBeta, beta, canProvideGamma, gamma); } public void setXSSAuditorEnabled(boolean flag) { diff --git a/tests/DumpRenderTree2/src/com/android/dumprendertree2/TextResult.java b/tests/DumpRenderTree2/src/com/android/dumprendertree2/TextResult.java index 3d2b98b..fd1c0ad 100644 --- a/tests/DumpRenderTree2/src/com/android/dumprendertree2/TextResult.java +++ b/tests/DumpRenderTree2/src/com/android/dumprendertree2/TextResult.java @@ -20,6 +20,7 @@ import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.webkit.WebView; +import android.webkit.WebViewClassic; import name.fraser.neil.plaintext.diff_match_patch; @@ -233,7 +234,7 @@ public class TextResult extends AbstractResult { */ msg.arg1 = 1; msg.arg2 = mDumpChildFramesAsText ? 1 : 0; - webview.documentAsText(msg); + WebViewClassic.fromWebView(webview).documentAsText(msg); } @Override |