i install a WebViewClient to intercept links using shouldOverrideUrlLoading(). i fetch the URL content myself, preprocess it, then feed it to the browser using loadDataWithBaseURL(). as the base URL, i use the original URL of the request.
this mechanism has been working reliably for a while, but recently it broke and i'm not sure what's going on. the symptoms i'm seeing are inconsistent despite the same inputs being presented. most of the time, the WebView displays the contents of the base URL, completely ignoring the "data" parameter. this is despite the preprocessing actually taking place and verifiably producing the correct output (which btw contains no links, relative or otherwise). after reading the documentation on the loadDataWithBaseURL() method, which includes a note on file: URLs etc, i've been playing with the baseURL to see if that changes the behaviour. passing null as the base URL usually results in success, but of course i need relative links to work properly so it's not going to fly as a real solution. passing an http: URL initially worked, but after a few iterations broke, and the WebView then started just displaying the content of the http: baseURL. all of this time, the failURL parameter was set to null, just so i'd be sure that it wasn't showing that instead. also, Javascript and file access is enabled on the WebView via the WebSettings API. IMHO, the WebView should never display the contents of the base URL. it's there as a string only in order to provide context for relative links in the data. i see notifications in my WebViewClient that it's calling onPageStarted() and onPageFinished() for the base URL, so it's doing *something* with it. IMHO also, the WebView should call an installed WebViewClient's onReceivedError() method if errors happen. since 1.5 i have *never* seen it do this on Android (the equivalent works on iPhone, as does most everything else). i can see the justification for not calling it if there is a failURL installed, but not if there isn't. this is crazy as i'm seeing different behaviour for the same inputs. literally i could see something work (like with an http: base URL) then rebuild it with *no* logic changes, and it would break. any help appreciated. btw this list still does not get on with any of my addresses - i suspect gmail is filtering posts, now *all* posts not just mine, before they get to the per-user spam filter - so please copy directly on replies. thanks much -- jason.software.particle --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---