Repository: cordova-android Updated Branches: refs/heads/4.0.x 693ec14df -> 3a9898a6a
CB-6971 Fix infinite recursion for onReceiveError Project: http://git-wip-us.apache.org/repos/asf/cordova-android/repo Commit: http://git-wip-us.apache.org/repos/asf/cordova-android/commit/3a9898a6 Tree: http://git-wip-us.apache.org/repos/asf/cordova-android/tree/3a9898a6 Diff: http://git-wip-us.apache.org/repos/asf/cordova-android/diff/3a9898a6 Branch: refs/heads/4.0.x Commit: 3a9898a6a6a5fa88cf29448d525c3ef4518ee2fc Parents: 693ec14 Author: Andrew Grieve <[email protected]> Authored: Wed Jun 18 13:20:47 2014 -0400 Committer: Andrew Grieve <[email protected]> Committed: Wed Jun 18 13:20:47 2014 -0400 ---------------------------------------------------------------------- .../src/org/apache/cordova/AndroidWebView.java | 2 +- .../org/apache/cordova/AndroidWebViewClient.java | 16 +++++----------- .../src/org/apache/cordova/CordovaActivity.java | 2 -- .../org/apache/cordova/CordovaWebViewClient.java | 6 +----- .../cordova/IceCreamCordovaWebViewClient.java | 8 +------- 5 files changed, 8 insertions(+), 26 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cordova-android/blob/3a9898a6/framework/src/org/apache/cordova/AndroidWebView.java ---------------------------------------------------------------------- diff --git a/framework/src/org/apache/cordova/AndroidWebView.java b/framework/src/org/apache/cordova/AndroidWebView.java index b10ed75..f1378c4 100755 --- a/framework/src/org/apache/cordova/AndroidWebView.java +++ b/framework/src/org/apache/cordova/AndroidWebView.java @@ -480,7 +480,7 @@ public class AndroidWebView extends WebView implements CordovaWebView { me.stopLoading(); LOG.e(TAG, "CordovaWebView: TIMEOUT ERROR!"); if (viewClient != null) { - viewClient.onReceivedError(me, -6, "The connection to the server was unsuccessful.", url); + viewClient.onReceivedError(-6, "The connection to the server was unsuccessful.", url); } } }; http://git-wip-us.apache.org/repos/asf/cordova-android/blob/3a9898a6/framework/src/org/apache/cordova/AndroidWebViewClient.java ---------------------------------------------------------------------- diff --git a/framework/src/org/apache/cordova/AndroidWebViewClient.java b/framework/src/org/apache/cordova/AndroidWebViewClient.java index 3d82fca..b4166ec 100755 --- a/framework/src/org/apache/cordova/AndroidWebViewClient.java +++ b/framework/src/org/apache/cordova/AndroidWebViewClient.java @@ -59,7 +59,7 @@ public class AndroidWebViewClient extends WebViewClient implements CordovaWebVie private static final String TAG = "CordovaWebViewClient"; private static final String CORDOVA_EXEC_URL_PREFIX = "http://cdv_exec/"; CordovaInterface cordova; - CordovaWebView appView; + AndroidWebView appView; private boolean doClearHistory = false; boolean isCurrentlyLoading; @@ -81,7 +81,7 @@ public class AndroidWebViewClient extends WebViewClient implements CordovaWebVie * @param cordova * @param view */ - public AndroidWebViewClient(CordovaInterface cordova, CordovaWebView view) { + public AndroidWebViewClient(CordovaInterface cordova, AndroidWebView view) { this.cordova = cordova; this.appView = view; } @@ -91,7 +91,7 @@ public class AndroidWebViewClient extends WebViewClient implements CordovaWebVie * * @param view */ - public void setWebView(CordovaWebView view) { + public void setWebView(AndroidWebView view) { this.appView = view; } @@ -483,14 +483,8 @@ public class AndroidWebViewClient extends WebViewClient implements CordovaWebVie } @Override - public void onReceivedError(CordovaWebView me, int i, String string, - String url) { - // Only deal with this if we're dealing with a proper classic webview. - if(WebView.class.isInstance(me)) - { - this.onReceivedError(me, i, string, url); - } - + public void onReceivedError(int errorCode, String description, String url) { + this.onReceivedError(appView, errorCode, description, url); } } http://git-wip-us.apache.org/repos/asf/cordova-android/blob/3a9898a6/framework/src/org/apache/cordova/CordovaActivity.java ---------------------------------------------------------------------- diff --git a/framework/src/org/apache/cordova/CordovaActivity.java b/framework/src/org/apache/cordova/CordovaActivity.java index 0929947..e3abda7 100755 --- a/framework/src/org/apache/cordova/CordovaActivity.java +++ b/framework/src/org/apache/cordova/CordovaActivity.java @@ -299,8 +299,6 @@ public class CordovaActivity extends Activity implements CordovaInterface { this.appView.setWebViewClient(webViewClient); this.appView.setWebChromeClient(webChromeClient); - webViewClient.setWebView(this.appView); - webChromeClient.setWebView(this.appView); this.appView.setLayoutParams(new LinearLayout.LayoutParams( ViewGroup.LayoutParams.MATCH_PARENT, http://git-wip-us.apache.org/repos/asf/cordova-android/blob/3a9898a6/framework/src/org/apache/cordova/CordovaWebViewClient.java ---------------------------------------------------------------------- diff --git a/framework/src/org/apache/cordova/CordovaWebViewClient.java b/framework/src/org/apache/cordova/CordovaWebViewClient.java index e914af1..671e227 100644 --- a/framework/src/org/apache/cordova/CordovaWebViewClient.java +++ b/framework/src/org/apache/cordova/CordovaWebViewClient.java @@ -1,9 +1,5 @@ package org.apache.cordova; public interface CordovaWebViewClient { - - void setWebView(CordovaWebView appView); - - void onReceivedError(CordovaWebView me, int i, String string, String url); - + void onReceivedError(int errorCode, String description, String url); } http://git-wip-us.apache.org/repos/asf/cordova-android/blob/3a9898a6/framework/src/org/apache/cordova/IceCreamCordovaWebViewClient.java ---------------------------------------------------------------------- diff --git a/framework/src/org/apache/cordova/IceCreamCordovaWebViewClient.java b/framework/src/org/apache/cordova/IceCreamCordovaWebViewClient.java index dbdd85e..2501c98 100644 --- a/framework/src/org/apache/cordova/IceCreamCordovaWebViewClient.java +++ b/framework/src/org/apache/cordova/IceCreamCordovaWebViewClient.java @@ -40,7 +40,7 @@ public class IceCreamCordovaWebViewClient extends AndroidWebViewClient implement super(cordova); } - public IceCreamCordovaWebViewClient(CordovaInterface cordova, CordovaWebView view) { + public IceCreamCordovaWebViewClient(CordovaInterface cordova, AndroidWebView view) { super(cordova, view); } @@ -97,10 +97,4 @@ public class IceCreamCordovaWebViewClient extends AndroidWebViewClient implement } return false; } - - @Override - public void onReceivedError(CordovaWebView me, int i, String string, - String url) { - super.onReceivedError(me, i, string, url); - } }
