diff options
author | Jonathan Dixon <joth@google.com> | 2013-08-28 15:54:29 -0700 |
---|---|---|
committer | Jonathan Dixon <joth@google.com> | 2013-08-30 15:07:25 -0700 |
commit | 69f9f9305cb88436fdf7fafadbf274b414d22b72 (patch) | |
tree | 1b6827bbdaa110e2f5fa3d84c686e5e5fbb1d7f2 /core/java | |
parent | 9d7c4d4a6e4683862931b3a11c974715073514ab (diff) | |
download | frameworks_base-69f9f9305cb88436fdf7fafadbf274b414d22b72.zip frameworks_base-69f9f9305cb88436fdf7fafadbf274b414d22b72.tar.gz frameworks_base-69f9f9305cb88436fdf7fafadbf274b414d22b72.tar.bz2 |
Add tracing to WebView API methods and callbacks
Bug: 10488419
This is useful for debugging numerous SxS issues.
Change-Id: I5d0d2e253499741c5f9454582988c99e42dc0a81
Diffstat (limited to 'core/java')
-rw-r--r-- | core/java/android/webkit/CallbackProxy.java | 43 | ||||
-rw-r--r-- | core/java/android/webkit/DebugFlags.java | 18 | ||||
-rw-r--r-- | core/java/android/webkit/HTML5VideoFullScreen.java | 5 | ||||
-rw-r--r-- | core/java/android/webkit/HTML5VideoViewProxy.java | 5 | ||||
-rw-r--r-- | core/java/android/webkit/WebView.java | 55 | ||||
-rw-r--r-- | core/java/android/webkit/WebViewClassic.java | 2 |
6 files changed, 119 insertions, 9 deletions
diff --git a/core/java/android/webkit/CallbackProxy.java b/core/java/android/webkit/CallbackProxy.java index fea6be6..7707392 100644 --- a/core/java/android/webkit/CallbackProxy.java +++ b/core/java/android/webkit/CallbackProxy.java @@ -50,7 +50,9 @@ import java.util.Map; */ class CallbackProxy extends Handler { // Logging tag - private static final String LOGTAG = "CallbackProxy"; + static final String LOGTAG = "WebViewCallback"; + // Enables API callback tracing + private static final boolean TRACE = DebugFlags.TRACE_CALLBACK; // Instance of WebViewClient that is the client callback. private volatile WebViewClient mWebViewClient; // Instance of WebChromeClient for handling all chrome functions. @@ -258,6 +260,7 @@ class CallbackProxy extends Handler { } boolean override = false; if (mWebViewClient != null) { + if (TRACE) Log.d(LOGTAG, "shouldOverrideUrlLoading=" + overrideUrl); override = mWebViewClient.shouldOverrideUrlLoading(mWebView.getWebView(), overrideUrl); } else { @@ -307,6 +310,7 @@ class CallbackProxy extends Handler { String startedUrl = msg.getData().getString("url"); mWebView.onPageStarted(startedUrl); if (mWebViewClient != null) { + if (TRACE) Log.d(LOGTAG, "onPageStarted=" + startedUrl); mWebViewClient.onPageStarted(mWebView.getWebView(), startedUrl, (Bitmap) msg.obj); } @@ -316,18 +320,21 @@ class CallbackProxy extends Handler { String finishedUrl = (String) msg.obj; mWebView.onPageFinished(finishedUrl); if (mWebViewClient != null) { + if (TRACE) Log.d(LOGTAG, "onPageFinished=" + finishedUrl); mWebViewClient.onPageFinished(mWebView.getWebView(), finishedUrl); } break; case RECEIVED_ICON: if (mWebChromeClient != null) { + if (TRACE) Log.d(LOGTAG, "onReceivedIcon"); mWebChromeClient.onReceivedIcon(mWebView.getWebView(), (Bitmap) msg.obj); } break; case RECEIVED_TOUCH_ICON_URL: if (mWebChromeClient != null) { + if (TRACE) Log.d(LOGTAG, "onReceivedTouchIconUrl"); mWebChromeClient.onReceivedTouchIconUrl(mWebView.getWebView(), (String) msg.obj, msg.arg1 == 1); } @@ -335,6 +342,7 @@ class CallbackProxy extends Handler { case RECEIVED_TITLE: if (mWebChromeClient != null) { + if (TRACE) Log.d(LOGTAG, "onReceivedTitle"); mWebChromeClient.onReceivedTitle(mWebView.getWebView(), (String) msg.obj); } @@ -345,6 +353,7 @@ class CallbackProxy extends Handler { int reasonCode = msg.arg1; final String description = msg.getData().getString("description"); final String failUrl = msg.getData().getString("failingUrl"); + if (TRACE) Log.d(LOGTAG, "onReceivedError=" + failUrl); mWebViewClient.onReceivedError(mWebView.getWebView(), reasonCode, description, failUrl); } @@ -356,6 +365,7 @@ class CallbackProxy extends Handler { Message dontResend = (Message) msg.getData().getParcelable("dontResend"); if (mWebViewClient != null) { + if (TRACE) Log.d(LOGTAG, "onFormResubmission"); mWebViewClient.onFormResubmission(mWebView.getWebView(), dontResend, resend); } else { @@ -379,6 +389,7 @@ class CallbackProxy extends Handler { HttpAuthHandler handler = (HttpAuthHandler) msg.obj; String host = msg.getData().getString("host"); String realm = msg.getData().getString("realm"); + if (TRACE) Log.d(LOGTAG, "onReceivedHttpAuthRequest"); mWebViewClient.onReceivedHttpAuthRequest(mWebView.getWebView(), handler, host, realm); } @@ -388,6 +399,7 @@ class CallbackProxy extends Handler { if (mWebViewClient != null) { HashMap<String, Object> map = (HashMap<String, Object>) msg.obj; + if (TRACE) Log.d(LOGTAG, "onReceivedSslError"); mWebViewClient.onReceivedSslError(mWebView.getWebView(), (SslErrorHandler) map.get("handler"), (SslError) map.get("error")); @@ -396,6 +408,7 @@ class CallbackProxy extends Handler { case PROCEEDED_AFTER_SSL_ERROR: if (mWebViewClient != null && mWebViewClient instanceof WebViewClientClassicExt) { + if (TRACE) Log.d(LOGTAG, "onProceededAfterSslError"); ((WebViewClientClassicExt) mWebViewClient).onProceededAfterSslError( mWebView.getWebView(), (SslError) msg.obj); @@ -404,6 +417,7 @@ class CallbackProxy extends Handler { case CLIENT_CERT_REQUEST: if (mWebViewClient != null && mWebViewClient instanceof WebViewClientClassicExt) { + if (TRACE) Log.d(LOGTAG, "onReceivedClientCertRequest"); HashMap<String, Object> map = (HashMap<String, Object>) msg.obj; ((WebViewClientClassicExt) mWebViewClient).onReceivedClientCertRequest( mWebView.getWebView(), @@ -418,6 +432,7 @@ class CallbackProxy extends Handler { // changed. synchronized (this) { if (mWebChromeClient != null) { + if (TRACE) Log.d(LOGTAG, "onProgressChanged=" + mLatestProgress); mWebChromeClient.onProgressChanged(mWebView.getWebView(), mLatestProgress); } @@ -427,14 +442,18 @@ class CallbackProxy extends Handler { case UPDATE_VISITED: if (mWebViewClient != null) { + String url = (String) msg.obj; + if (TRACE) Log.d(LOGTAG, "doUpdateVisitedHistory=" + url); mWebViewClient.doUpdateVisitedHistory(mWebView.getWebView(), - (String) msg.obj, msg.arg1 != 0); + url, msg.arg1 != 0); } break; case LOAD_RESOURCE: if (mWebViewClient != null) { - mWebViewClient.onLoadResource(mWebView.getWebView(), (String) msg.obj); + String url = (String) msg.obj; + if (TRACE) Log.d(LOGTAG, "onLoadResource=" + url); + mWebViewClient.onLoadResource(mWebView.getWebView(), url); } break; @@ -448,6 +467,7 @@ class CallbackProxy extends Handler { String referer = msg.getData().getString("referer"); Long contentLength = msg.getData().getLong("contentLength"); + if (TRACE) Log.d(LOGTAG, "onDownloadStart"); if (mDownloadListener instanceof BrowserDownloadListener) { ((BrowserDownloadListener) mDownloadListener).onDownloadStart(url, userAgent, contentDisposition, mimetype, referer, contentLength); @@ -460,6 +480,7 @@ class CallbackProxy extends Handler { case CREATE_WINDOW: if (mWebChromeClient != null) { + if (TRACE) Log.d(LOGTAG, "onCreateWindow"); if (!mWebChromeClient.onCreateWindow(mWebView.getWebView(), msg.arg1 == 1, msg.arg2 == 1, (Message) msg.obj)) { @@ -473,12 +494,14 @@ class CallbackProxy extends Handler { case REQUEST_FOCUS: if (mWebChromeClient != null) { + if (TRACE) Log.d(LOGTAG, "onRequestFocus"); mWebChromeClient.onRequestFocus(mWebView.getWebView()); } break; case CLOSE_WINDOW: if (mWebChromeClient != null) { + if (TRACE) Log.d(LOGTAG, "onCloseWindow"); mWebChromeClient.onCloseWindow(((WebViewClassic) msg.obj).getWebView()); } break; @@ -500,6 +523,7 @@ class CallbackProxy extends Handler { case ASYNC_KEYEVENTS: if (mWebViewClient != null) { + if (TRACE) Log.d(LOGTAG, "onUnhandledKeyEvent"); mWebViewClient.onUnhandledKeyEvent(mWebView.getWebView(), (KeyEvent) msg.obj); } @@ -521,6 +545,7 @@ class CallbackProxy extends Handler { WebStorage.QuotaUpdater quotaUpdater = (WebStorage.QuotaUpdater) map.get("quotaUpdater"); + if (TRACE) Log.d(LOGTAG, "onExceededDatabaseQuota"); mWebChromeClient.onExceededDatabaseQuota(url, databaseIdentifier, quota, estimatedDatabaseSize, totalQuota, quotaUpdater); @@ -538,6 +563,7 @@ class CallbackProxy extends Handler { WebStorage.QuotaUpdater quotaUpdater = (WebStorage.QuotaUpdater) map.get("quotaUpdater"); + if (TRACE) Log.d(LOGTAG, "onReachedMaxAppCacheSize"); mWebChromeClient.onReachedMaxAppCacheSize(requiredStorage, quota, quotaUpdater); } @@ -551,6 +577,7 @@ class CallbackProxy extends Handler { GeolocationPermissions.Callback callback = (GeolocationPermissions.Callback) map.get("callback"); + if (TRACE) Log.d(LOGTAG, "onGeolocationPermissionsShowPrompt"); mWebChromeClient.onGeolocationPermissionsShowPrompt(origin, callback); } @@ -558,6 +585,7 @@ class CallbackProxy extends Handler { case GEOLOCATION_PERMISSIONS_HIDE_PROMPT: if (mWebChromeClient != null) { + if (TRACE) Log.d(LOGTAG, "onGeolocationPermissionsHidePrompt"); mWebChromeClient.onGeolocationPermissionsHidePrompt(); } break; @@ -566,6 +594,7 @@ class CallbackProxy extends Handler { if (mWebChromeClient != null) { final JsResultReceiver receiver = (JsResultReceiver) msg.obj; JsDialogHelper helper = new JsDialogHelper(receiver.mJsResult, msg); + if (TRACE) Log.d(LOGTAG, "onJsAlert"); if (!helper.invokeCallback(mWebChromeClient, mWebView.getWebView())) { helper.showDialog(mContext); } @@ -577,6 +606,7 @@ class CallbackProxy extends Handler { if(mWebChromeClient != null) { final JsResultReceiver receiver = (JsResultReceiver) msg.obj; final JsResult res = receiver.mJsResult; + if (TRACE) Log.d(LOGTAG, "onJsTimeout"); if (mWebChromeClient.onJsTimeout()) { res.confirm(); } else { @@ -598,6 +628,7 @@ class CallbackProxy extends Handler { case SCALE_CHANGED: if (mWebViewClient != null) { + if (TRACE) Log.d(LOGTAG, "onScaleChanged"); mWebViewClient.onScaleChanged(mWebView.getWebView(), msg.getData() .getFloat("old"), msg.getData().getFloat("new")); } @@ -624,6 +655,7 @@ class CallbackProxy extends Handler { ConsoleMessage.MessageLevel messageLevel = ConsoleMessage.MessageLevel.values()[msgLevel]; + if (TRACE) Log.d(LOGTAG, "onConsoleMessage"); if (!mWebChromeClient.onConsoleMessage(new ConsoleMessage(message, sourceID, lineNumber, messageLevel))) { // If false was returned the user did not provide their own console function so @@ -654,12 +686,14 @@ class CallbackProxy extends Handler { case GET_VISITED_HISTORY: if (mWebChromeClient != null) { + if (TRACE) Log.d(LOGTAG, "getVisitedHistory"); mWebChromeClient.getVisitedHistory((ValueCallback<String[]>)msg.obj); } break; case OPEN_FILE_CHOOSER: if (mWebChromeClient != null) { + if (TRACE) Log.d(LOGTAG, "openFileChooser"); UploadFileMessageData data = (UploadFileMessageData)msg.obj; mWebChromeClient.openFileChooser(data.getUploadFile(), data.getAcceptType(), data.getCapture()); @@ -668,6 +702,7 @@ class CallbackProxy extends Handler { case ADD_HISTORY_ITEM: if (mWebBackForwardListClient != null) { + if (TRACE) Log.d(LOGTAG, "onNewHistoryItem"); mWebBackForwardListClient.onNewHistoryItem( (WebHistoryItem) msg.obj); } @@ -693,6 +728,7 @@ class CallbackProxy extends Handler { String realm = msg.getData().getString("realm"); String account = msg.getData().getString("account"); String args = msg.getData().getString("args"); + if (TRACE) Log.d(LOGTAG, "onReceivedLoginRequest"); mWebViewClient.onReceivedLoginRequest(mWebView.getWebView(), realm, account, args); } @@ -910,6 +946,7 @@ class CallbackProxy extends Handler { return null; } // Note: This method does _not_ send a message. + if (TRACE) Log.d(LOGTAG, "shouldInterceptRequest=" + url); WebResourceResponse r = mWebViewClient.shouldInterceptRequest(mWebView.getWebView(), url); if (r == null) { diff --git a/core/java/android/webkit/DebugFlags.java b/core/java/android/webkit/DebugFlags.java index 349113e..524f610 100644 --- a/core/java/android/webkit/DebugFlags.java +++ b/core/java/android/webkit/DebugFlags.java @@ -24,25 +24,33 @@ package android.webkit; * The name of each flags maps directly to the name of the class in which that * flag is used. * + * @hide Only used by WebView implementations. */ -class DebugFlags { +public class DebugFlags { + public static final boolean COOKIE_SYNC_MANAGER = false; + public static final boolean TRACE_API = false; + public static final boolean TRACE_CALLBACK = false; + public static final boolean TRACE_JAVASCRIPT_BRIDGE = false; + public static final boolean URL_UTIL = false; + public static final boolean WEB_SYNC_MANAGER = false; + + // TODO: Delete these when WebViewClassic is moved public static final boolean BROWSER_FRAME = false; public static final boolean CACHE_MANAGER = false; public static final boolean CALLBACK_PROXY = false; public static final boolean COOKIE_MANAGER = false; - public static final boolean COOKIE_SYNC_MANAGER = false; public static final boolean FRAME_LOADER = false; public static final boolean J_WEB_CORE_JAVA_BRIDGE = false;// HIGHLY VERBOSE public static final boolean LOAD_LISTENER = false; + public static final boolean MEASURE_PAGE_SWAP_FPS = false; public static final boolean NETWORK = false; public static final boolean SSL_ERROR_HANDLER = false; public static final boolean STREAM_LOADER = false; - public static final boolean URL_UTIL = false; public static final boolean WEB_BACK_FORWARD_LIST = false; public static final boolean WEB_SETTINGS = false; - public static final boolean WEB_SYNC_MANAGER = false; public static final boolean WEB_VIEW = false; public static final boolean WEB_VIEW_CORE = false; - public static final boolean MEASURE_PAGE_SWAP_FPS = false; + + } diff --git a/core/java/android/webkit/HTML5VideoFullScreen.java b/core/java/android/webkit/HTML5VideoFullScreen.java index b52218d..6fb32c8 100644 --- a/core/java/android/webkit/HTML5VideoFullScreen.java +++ b/core/java/android/webkit/HTML5VideoFullScreen.java @@ -19,6 +19,7 @@ package android.webkit; import android.content.Context; import android.media.MediaPlayer; import android.media.Metadata; +import android.util.Log; import android.view.Gravity; import android.view.MotionEvent; import android.view.SurfaceHolder; @@ -293,12 +294,16 @@ public class HTML5VideoFullScreen extends HTML5VideoView mLayout.setVisibility(View.VISIBLE); WebChromeClient client = webView.getWebChromeClient(); if (client != null) { + if (DebugFlags.TRACE_CALLBACK) Log.d(CallbackProxy.LOGTAG, "onShowCustomView"); client.onShowCustomView(mLayout, mCallback); // Plugins like Flash will draw over the video so hide // them while we're playing. if (webView.getViewManager() != null) webView.getViewManager().hideAll(); + if (DebugFlags.TRACE_CALLBACK) { + Log.d(CallbackProxy.LOGTAG, "getVideoLoadingProgressView"); + } mProgressView = client.getVideoLoadingProgressView(); if (mProgressView != null) { mLayout.addView(mProgressView, layoutParams); diff --git a/core/java/android/webkit/HTML5VideoViewProxy.java b/core/java/android/webkit/HTML5VideoViewProxy.java index a3d62ae..e8538f6 100644 --- a/core/java/android/webkit/HTML5VideoViewProxy.java +++ b/core/java/android/webkit/HTML5VideoViewProxy.java @@ -180,6 +180,7 @@ class HTML5VideoViewProxy extends Handler if (!mHTML5VideoView.fullScreenExited() && mHTML5VideoView.isFullScreenMode()) { WebChromeClient client = webView.getWebChromeClient(); if (client != null) { + if (DebugFlags.TRACE_CALLBACK) Log.d(CallbackProxy.LOGTAG, "onHideCustomView"); client.onHideCustomView(); } } @@ -405,6 +406,7 @@ class HTML5VideoViewProxy extends Handler case ERROR: { WebChromeClient client = mWebView.getWebChromeClient(); if (client != null) { + if (DebugFlags.TRACE_CALLBACK) Log.d(CallbackProxy.LOGTAG, "onHideCustomView"); client.onHideCustomView(); } break; @@ -412,6 +414,9 @@ class HTML5VideoViewProxy extends Handler case LOAD_DEFAULT_POSTER: { WebChromeClient client = mWebView.getWebChromeClient(); if (client != null) { + if (DebugFlags.TRACE_CALLBACK) { + Log.d(CallbackProxy.LOGTAG, "getDefaultVideoPoster"); + } doSetPoster(client.getDefaultVideoPoster()); } break; diff --git a/core/java/android/webkit/WebView.java b/core/java/android/webkit/WebView.java index eded438..f0e8c4f 100644 --- a/core/java/android/webkit/WebView.java +++ b/core/java/android/webkit/WebView.java @@ -244,7 +244,7 @@ public class WebView extends AbsoluteLayout implements ViewTreeObserver.OnGlobalFocusChangeListener, ViewGroup.OnHierarchyChangeListener, ViewDebug.HierarchyHandler { - private static final String LOGTAG = "webview_proxy"; + private static final String LOGTAG = "WebView"; // Throwing an exception for incorrect thread usage if the // build target is JB MR2 or newer. Defaults to false, and is @@ -496,6 +496,7 @@ public class WebView extends AbsoluteLayout sEnforceThreadChecking = context.getApplicationInfo().targetSdkVersion >= Build.VERSION_CODES.JELLY_BEAN_MR2; checkThread(); + if (DebugFlags.TRACE_API) Log.d(LOGTAG, "WebView<init>"); ensureProviderCreated(); mProvider.init(javaScriptInterfaces, privateBrowsing); @@ -510,6 +511,7 @@ public class WebView extends AbsoluteLayout */ public void setHorizontalScrollbarOverlay(boolean overlay) { checkThread(); + if (DebugFlags.TRACE_API) Log.d(LOGTAG, "setHorizontalScrollbarOverlay=" + overlay); mProvider.setHorizontalScrollbarOverlay(overlay); } @@ -520,6 +522,7 @@ public class WebView extends AbsoluteLayout */ public void setVerticalScrollbarOverlay(boolean overlay) { checkThread(); + if (DebugFlags.TRACE_API) Log.d(LOGTAG, "setVerticalScrollbarOverlay=" + overlay); mProvider.setVerticalScrollbarOverlay(overlay); } @@ -574,6 +577,7 @@ public class WebView extends AbsoluteLayout @Deprecated public void setCertificate(SslCertificate certificate) { checkThread(); + if (DebugFlags.TRACE_API) Log.d(LOGTAG, "setCertificate=" + certificate); mProvider.setCertificate(certificate); } @@ -597,6 +601,7 @@ public class WebView extends AbsoluteLayout @Deprecated public void savePassword(String host, String username, String password) { checkThread(); + if (DebugFlags.TRACE_API) Log.d(LOGTAG, "savePassword=" + host); mProvider.savePassword(host, username, password); } @@ -616,6 +621,7 @@ public class WebView extends AbsoluteLayout public void setHttpAuthUsernamePassword(String host, String realm, String username, String password) { checkThread(); + if (DebugFlags.TRACE_API) Log.d(LOGTAG, "setHttpAuthUsernamePassword=" + host); mProvider.setHttpAuthUsernamePassword(host, realm, username, password); } @@ -645,6 +651,7 @@ public class WebView extends AbsoluteLayout */ public void destroy() { checkThread(); + if (DebugFlags.TRACE_API) Log.d(LOGTAG, "destroy"); mProvider.destroy(); } @@ -683,6 +690,7 @@ public class WebView extends AbsoluteLayout */ public void setNetworkAvailable(boolean networkUp) { checkThread(); + if (DebugFlags.TRACE_API) Log.d(LOGTAG, "setNetworkAvailable=" + networkUp); mProvider.setNetworkAvailable(networkUp); } @@ -699,6 +707,7 @@ public class WebView extends AbsoluteLayout */ public WebBackForwardList saveState(Bundle outState) { checkThread(); + if (DebugFlags.TRACE_API) Log.d(LOGTAG, "saveState"); return mProvider.saveState(outState); } @@ -715,6 +724,7 @@ public class WebView extends AbsoluteLayout @Deprecated public boolean savePicture(Bundle b, final File dest) { checkThread(); + if (DebugFlags.TRACE_API) Log.d(LOGTAG, "savePicture=" + dest.getName()); return mProvider.savePicture(b, dest); } @@ -732,6 +742,7 @@ public class WebView extends AbsoluteLayout @Deprecated public boolean restorePicture(Bundle b, File src) { checkThread(); + if (DebugFlags.TRACE_API) Log.d(LOGTAG, "restorePicture=" + src.getName()); return mProvider.restorePicture(b, src); } @@ -749,6 +760,7 @@ public class WebView extends AbsoluteLayout */ public WebBackForwardList restoreState(Bundle inState) { checkThread(); + if (DebugFlags.TRACE_API) Log.d(LOGTAG, "restoreState"); return mProvider.restoreState(inState); } @@ -765,6 +777,7 @@ public class WebView extends AbsoluteLayout */ public void loadUrl(String url, Map<String, String> additionalHttpHeaders) { checkThread(); + if (DebugFlags.TRACE_API) Log.d(LOGTAG, "loadUrl(extra headers)=" + url); mProvider.loadUrl(url, additionalHttpHeaders); } @@ -775,6 +788,7 @@ public class WebView extends AbsoluteLayout */ public void loadUrl(String url) { checkThread(); + if (DebugFlags.TRACE_API) Log.d(LOGTAG, "loadUrl=" + url); mProvider.loadUrl(url); } @@ -789,6 +803,7 @@ public class WebView extends AbsoluteLayout */ public void postUrl(String url, byte[] postData) { checkThread(); + if (DebugFlags.TRACE_API) Log.d(LOGTAG, "postUrl=" + url); mProvider.postUrl(url, postData); } @@ -823,6 +838,7 @@ public class WebView extends AbsoluteLayout */ public void loadData(String data, String mimeType, String encoding) { checkThread(); + if (DebugFlags.TRACE_API) Log.d(LOGTAG, "loadData"); mProvider.loadData(data, mimeType, encoding); } @@ -855,6 +871,7 @@ public class WebView extends AbsoluteLayout public void loadDataWithBaseURL(String baseUrl, String data, String mimeType, String encoding, String historyUrl) { checkThread(); + if (DebugFlags.TRACE_API) Log.d(LOGTAG, "loadDataWithBaseURL=" + baseUrl); mProvider.loadDataWithBaseURL(baseUrl, data, mimeType, encoding, historyUrl); } @@ -871,6 +888,7 @@ public class WebView extends AbsoluteLayout */ public void evaluateJavascript(String script, ValueCallback<String> resultCallback) { checkThread(); + if (DebugFlags.TRACE_API) Log.d(LOGTAG, "evaluateJavascript=" + script); mProvider.evaluateJavaScript(script, resultCallback); } @@ -881,6 +899,7 @@ public class WebView extends AbsoluteLayout */ public void saveWebArchive(String filename) { checkThread(); + if (DebugFlags.TRACE_API) Log.d(LOGTAG, "saveWebArchive=" + filename); mProvider.saveWebArchive(filename); } @@ -898,6 +917,7 @@ public class WebView extends AbsoluteLayout */ public void saveWebArchive(String basename, boolean autoname, ValueCallback<String> callback) { checkThread(); + if (DebugFlags.TRACE_API) Log.d(LOGTAG, "saveWebArchive(auto)=" + basename); mProvider.saveWebArchive(basename, autoname, callback); } @@ -906,6 +926,7 @@ public class WebView extends AbsoluteLayout */ public void stopLoading() { checkThread(); + if (DebugFlags.TRACE_API) Log.d(LOGTAG, "stopLoading"); mProvider.stopLoading(); } @@ -914,6 +935,7 @@ public class WebView extends AbsoluteLayout */ public void reload() { checkThread(); + if (DebugFlags.TRACE_API) Log.d(LOGTAG, "reload"); mProvider.reload(); } @@ -932,6 +954,7 @@ public class WebView extends AbsoluteLayout */ public void goBack() { checkThread(); + if (DebugFlags.TRACE_API) Log.d(LOGTAG, "goBack"); mProvider.goBack(); } @@ -950,6 +973,7 @@ public class WebView extends AbsoluteLayout */ public void goForward() { checkThread(); + if (DebugFlags.TRACE_API) Log.d(LOGTAG, "goForward"); mProvider.goForward(); } @@ -975,6 +999,7 @@ public class WebView extends AbsoluteLayout */ public void goBackOrForward(int steps) { checkThread(); + if (DebugFlags.TRACE_API) Log.d(LOGTAG, "goBackOrForwad=" + steps); mProvider.goBackOrForward(steps); } @@ -994,6 +1019,7 @@ public class WebView extends AbsoluteLayout */ public boolean pageUp(boolean top) { checkThread(); + if (DebugFlags.TRACE_API) Log.d(LOGTAG, "pageUp"); return mProvider.pageUp(top); } @@ -1005,6 +1031,7 @@ public class WebView extends AbsoluteLayout */ public boolean pageDown(boolean bottom) { checkThread(); + if (DebugFlags.TRACE_API) Log.d(LOGTAG, "pageDown"); return mProvider.pageDown(bottom); } @@ -1017,6 +1044,7 @@ public class WebView extends AbsoluteLayout @Deprecated public void clearView() { checkThread(); + if (DebugFlags.TRACE_API) Log.d(LOGTAG, "clearView"); mProvider.clearView(); } @@ -1036,6 +1064,7 @@ public class WebView extends AbsoluteLayout */ public Picture capturePicture() { checkThread(); + if (DebugFlags.TRACE_API) Log.d(LOGTAG, "capturePicture"); return mProvider.capturePicture(); } @@ -1073,6 +1102,7 @@ public class WebView extends AbsoluteLayout ValueCallback<Boolean> resultCallback, CancellationSignal cancellationSignal) throws java.io.IOException { checkThread(); + if (DebugFlags.TRACE_API) Log.d(LOGTAG, "exportToPdf"); mProvider.exportToPdf(fd, attributes, resultCallback, cancellationSignal); } @@ -1104,6 +1134,7 @@ public class WebView extends AbsoluteLayout */ public void setInitialScale(int scaleInPercent) { checkThread(); + if (DebugFlags.TRACE_API) Log.d(LOGTAG, "setInitialScale=" + scaleInPercent); mProvider.setInitialScale(scaleInPercent); } @@ -1114,6 +1145,7 @@ public class WebView extends AbsoluteLayout */ public void invokeZoomPicker() { checkThread(); + if (DebugFlags.TRACE_API) Log.d(LOGTAG, "invokeZoomPicker"); mProvider.invokeZoomPicker(); } @@ -1137,6 +1169,7 @@ public class WebView extends AbsoluteLayout */ public HitTestResult getHitTestResult() { checkThread(); + if (DebugFlags.TRACE_API) Log.d(LOGTAG, "getHitTestResult"); return mProvider.getHitTestResult(); } @@ -1155,6 +1188,7 @@ public class WebView extends AbsoluteLayout */ public void requestFocusNodeHref(Message hrefMsg) { checkThread(); + if (DebugFlags.TRACE_API) Log.d(LOGTAG, "requestFocusNodeHref"); mProvider.requestFocusNodeHref(hrefMsg); } @@ -1167,6 +1201,7 @@ public class WebView extends AbsoluteLayout */ public void requestImageRef(Message msg) { checkThread(); + if (DebugFlags.TRACE_API) Log.d(LOGTAG, "requestImageRef"); mProvider.requestImageRef(msg); } @@ -1271,6 +1306,7 @@ public class WebView extends AbsoluteLayout */ public void pauseTimers() { checkThread(); + if (DebugFlags.TRACE_API) Log.d(LOGTAG, "pauseTimers"); mProvider.pauseTimers(); } @@ -1280,6 +1316,7 @@ public class WebView extends AbsoluteLayout */ public void resumeTimers() { checkThread(); + if (DebugFlags.TRACE_API) Log.d(LOGTAG, "resumeTimers"); mProvider.resumeTimers(); } @@ -1292,6 +1329,7 @@ public class WebView extends AbsoluteLayout */ public void onPause() { checkThread(); + if (DebugFlags.TRACE_API) Log.d(LOGTAG, "onPause"); mProvider.onPause(); } @@ -1300,6 +1338,7 @@ public class WebView extends AbsoluteLayout */ public void onResume() { checkThread(); + if (DebugFlags.TRACE_API) Log.d(LOGTAG, "onResume"); mProvider.onResume(); } @@ -1319,6 +1358,7 @@ public class WebView extends AbsoluteLayout */ public void freeMemory() { checkThread(); + if (DebugFlags.TRACE_API) Log.d(LOGTAG, "freeMemory"); mProvider.freeMemory(); } @@ -1330,6 +1370,7 @@ public class WebView extends AbsoluteLayout */ public void clearCache(boolean includeDiskFiles) { checkThread(); + if (DebugFlags.TRACE_API) Log.d(LOGTAG, "clearCache"); mProvider.clearCache(includeDiskFiles); } @@ -1341,6 +1382,7 @@ public class WebView extends AbsoluteLayout */ public void clearFormData() { checkThread(); + if (DebugFlags.TRACE_API) Log.d(LOGTAG, "clearFormData"); mProvider.clearFormData(); } @@ -1349,6 +1391,7 @@ public class WebView extends AbsoluteLayout */ public void clearHistory() { checkThread(); + if (DebugFlags.TRACE_API) Log.d(LOGTAG, "clearHistory"); mProvider.clearHistory(); } @@ -1358,6 +1401,7 @@ public class WebView extends AbsoluteLayout */ public void clearSslPreferences() { checkThread(); + if (DebugFlags.TRACE_API) Log.d(LOGTAG, "clearSslPreferences"); mProvider.clearSslPreferences(); } @@ -1399,6 +1443,7 @@ public class WebView extends AbsoluteLayout */ public void findNext(boolean forward) { checkThread(); + if (DebugFlags.TRACE_API) Log.d(LOGTAG, "findNext"); mProvider.findNext(forward); } @@ -1414,6 +1459,7 @@ public class WebView extends AbsoluteLayout @Deprecated public int findAll(String find) { checkThread(); + if (DebugFlags.TRACE_API) Log.d(LOGTAG, "findAll"); StrictMode.noteSlowCall("findAll blocks UI: prefer findAllAsync"); return mProvider.findAll(find); } @@ -1428,6 +1474,7 @@ public class WebView extends AbsoluteLayout */ public void findAllAsync(String find) { checkThread(); + if (DebugFlags.TRACE_API) Log.d(LOGTAG, "findAllAsync"); mProvider.findAllAsync(find); } @@ -1448,6 +1495,7 @@ public class WebView extends AbsoluteLayout @Deprecated public boolean showFindDialog(String text, boolean showIme) { checkThread(); + if (DebugFlags.TRACE_API) Log.d(LOGTAG, "showFindDialog"); return mProvider.showFindDialog(text, showIme); } @@ -1483,6 +1531,7 @@ public class WebView extends AbsoluteLayout */ public void clearMatches() { checkThread(); + if (DebugFlags.TRACE_API) Log.d(LOGTAG, "clearMatches"); mProvider.clearMatches(); } @@ -1543,6 +1592,7 @@ public class WebView extends AbsoluteLayout @Deprecated public void setPictureListener(PictureListener listener) { checkThread(); + if (DebugFlags.TRACE_API) Log.d(LOGTAG, "setPictureListener=" + listener); mProvider.setPictureListener(listener); } @@ -1592,6 +1642,7 @@ public class WebView extends AbsoluteLayout */ public void addJavascriptInterface(Object object, String name) { checkThread(); + if (DebugFlags.TRACE_API) Log.d(LOGTAG, "addJavascriptInterface=" + name); mProvider.addJavascriptInterface(object, name); } @@ -1604,6 +1655,7 @@ public class WebView extends AbsoluteLayout */ public void removeJavascriptInterface(String name) { checkThread(); + if (DebugFlags.TRACE_API) Log.d(LOGTAG, "removeJavascriptInterface=" + name); mProvider.removeJavascriptInterface(name); } @@ -1693,6 +1745,7 @@ public class WebView extends AbsoluteLayout public void flingScroll(int vx, int vy) { checkThread(); + if (DebugFlags.TRACE_API) Log.d(LOGTAG, "flingScroll"); mProvider.flingScroll(vx, vy); } diff --git a/core/java/android/webkit/WebViewClassic.java b/core/java/android/webkit/WebViewClassic.java index b1a7878..3f22d53 100644 --- a/core/java/android/webkit/WebViewClassic.java +++ b/core/java/android/webkit/WebViewClassic.java @@ -7951,6 +7951,7 @@ public final class WebViewClassic implements WebViewProvider, WebViewProvider.Sc // triggered in setNewPicture Picture picture = mContext.getApplicationInfo().targetSdkVersion < Build.VERSION_CODES.JELLY_BEAN_MR2 ? capturePicture() : null; + if (DebugFlags.TRACE_CALLBACK) Log.d(CallbackProxy.LOGTAG, "onNewPicture"); mPictureListener.onNewPicture(getWebView(), picture); } } @@ -8038,6 +8039,7 @@ public final class WebViewClassic implements WebViewProvider, WebViewProvider.Sc // triggered in pageSwapCallback Picture picture = mContext.getApplicationInfo().targetSdkVersion < Build.VERSION_CODES.JELLY_BEAN_MR2 ? capturePicture() : null; + if (DebugFlags.TRACE_CALLBACK) Log.d(CallbackProxy.LOGTAG, "onNewPicture"); mPictureListener.onNewPicture(getWebView(), picture); } } |