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

Reply via email to