cordova-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From purplecabbage <purplecabb...@gmail.com>
Subject Re: [Android] WebView, InAppBrowser and UI Threads
Date Thu, 19 Sep 2013 07:50:30 GMT
Why don't we make relative urls a developer concern? The developer should know their own package,
and it can be easily resolved using current window.location and expected location of the file.


A minor rant, while we are on the subject of iab:

I don't understand why this executeScript madness was added. Why not just call for a new URL
with a javascript:prefix ?
If you want a full blown web-browser control then make a new plugin, iab (originally ChildBrowser)
was intended to show potentially unsafe code inside your app without risk. The API is already
non-standard, and worse still it mimics a standard api but mutated. There are probably security
implications to all of these choices as well. 

What is the use-case for insertCSS? Is it to load someone else's html with your style sheet?

Sent from my iPhone

> On Sep 18, 2013, at 7:31 PM, Andrew Grieve <agrieve@chromium.org> wrote:
> 
> I assigned it to David just because I thought it would be a good bug for
> him and thought it sounded important to fix. I don't think he's in any
> hurry to get to it, so feel free to assign it to yourself. I don't really
> consider bugs to be actually assigned when they are assigned to the default
> person since it's not clear that anyone's looked at it. Maybe it'd be worth
> having new bugs come in as "unassigned", so that when someone assigns it,
> it's more meaningful. I'll start another thread to discuss this idea.
> 
> Anyways, I've thought a good amount about this problem previously (what to
> do with relative URLs), and I think the best solution is to resolve
> relative URLs in JS. iOS also has no good way of resolving relative URLs
> from native. I added a function to do just that in this release -
> require('cordova/urlutil').makeAbsolute(url)
> 
> I'll make a note of this on the bug.
> 
> 
>> On Wed, Sep 18, 2013 at 5:21 PM, Joe Bowser <bowserj@gmail.com> wrote:
>> 
>> I'm currently trying to figure out CB-4858, which got assigned to
>> David, but I'm finding that I'm getting stuck at this part:
>> 
>> 
>>    private String updateUrl(String url) {
>>        Uri newUrl = Uri.parse(url);
>>        if (newUrl.isRelative()) {
>>            //url = this.webView.getUrl().substring(0,
>> this.webView.getUrl().lastIndexOf("/")+1) + url;
>>        }
>>        return url;
>>    }
>> 
>> The problem with this code is that all methods on the WebView class
>> must run on the UI thread. Now, there's no easy way for us to pass
>> this data back because now we're doing asynchronous Java where we have
>> to wait for the UI thread to give us back the URL so we can find out
>> what our base path is.
>> 
>> We could override this in CordovaWebView, getting around the check,
>> but I think that this might not be the right thing to do.
>> 
>> Anyway, I'm content letting David chew on this, since I didn't know it
>> got assigned to him (JIRA didn't send me the e-mail), but I'd be
>> interested in seeing how this gets solved, because it's particularly
>> ugly.
>> 

Mime
View raw message