You are welcome to file this as a bug report/feature request on b.android.com.
On Tue, Jul 17, 2012 at 9:22 AM, sven <sven.span...@googlemail.com> wrote: > Hi Guys, > > another problem with the new WebView in Jelly Bean (4.1.1): An app using the > WebView crashes, when opening an URL that separates its query parameters not > using the ampersand character ('&') but e.g. a semi colon (';'). > > Reproduce: > 1) Call the following URL in a WebView: > http://www.heise.de/newsticker/meldung/TomTom-baut-um-1643641.html > > the German heise page will redirect you to > > > http://m.heise.de/newsticker/meldung/TomTom-baut-um-1643641.html?mrw_channel=ho;mrw_channel=ho;from-classic=1 > > The page will load, but as soon as loading has finished the app will crash > with the following stack trace: > > java.lang.IllegalArgumentException: bad parameter > at > org.apache.http.client.utils.URLEncodedUtils.parse(URLEncodedUtils.java:139) > at > org.apache.http.client.utils.URLEncodedUtils.parse(URLEncodedUtils.java:76) > at > android.webkit.AccessibilityInjector.getAxsUrlParameterValue(AccessibilityInjector.java:406) > at > android.webkit.AccessibilityInjector.shouldInjectJavaScript(AccessibilityInjector.java:322) > at > android.webkit.AccessibilityInjector.onPageFinished(AccessibilityInjector.java:281) > at > android.webkit.WebViewClassic.onPageFinished(WebViewClassic.java:3943) > at android.webkit.CallbackProxy.handleMessage(CallbackProxy.java:325) > at android.os.Handler.dispatchMessage(Handler.java:99) > at android.os.Looper.loop(Looper.java:137) > at android.app.ActivityThread.main(ActivityThread.java:4745) > at java.lang.reflect.Method.invokeNative(Native Method) > at java.lang.reflect.Method.invoke(Method.java:511) > at > com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786) > at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) > at dalvik.system.NativeStart.main(Native Method) > > > Taking a look into the code of URLEncodedUtils.parse() (which is indirectly > called by WebViewClassic.onPageFinished()) shows why: The code throws the > shown exception if a single query parameter contains more than one equals > sign ('='). As this class assumes query parameters to be separated by '&' > the defect URL shown above has effectively only one query parameter from the > view point of the URLEncodedUtils-class and thus this single query parameter > has multiple equals signs causing the crash. > > > The stack trace also shows, that the method is called indirectly in the > event handler, so that there isn't a valid way to catch the exception. > > > Though the shown URL is defect it occurs in reality and I think the WebView > should be a little more tolerant. > > > Best regards > > > Sven > > > -- > You received this message because you are subscribed to the Google > Groups "Android Developers" group. > To post to this group, send email to android-developers@googlegroups.com > To unsubscribe from this group, send email to > android-developers+unsubscr...@googlegroups.com > For more options, visit this group at > http://groups.google.com/group/android-developers?hl=en -- Mark Murphy (a Commons Guy) http://commonsware.com | http://github.com/commonsguy http://commonsware.com/blog | http://twitter.com/commonsguy _The Busy Coder's Guide to Android Development_ Version 3.8 Available! -- You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en