Bug 125432
Summary: | External links in Epiphany web applications do not work correctly | ||
---|---|---|---|
Product: | WebKit | Reporter: | Debarshi Ray <rishi.is> |
Component: | WebKitGTK | Assignee: | Alberto Garcia <berto> |
Status: | RESOLVED WONTFIX | ||
Severity: | Normal | CC: | berto, cgarcia, csaavedra, mcatanzaro |
Priority: | P2 | ||
Version: | 528+ (Nightly build) | ||
Hardware: | Unspecified | ||
OS: | Linux |
Debarshi Ray
I use Epiphany web applications for Facebook and Google+. If I click an external link within the web application window, it is supposed to open in a normal browser window or tab and not inside the web application. This worked well in webkitgtk3-2.2.2, but does not work with webkitgtk3-2.2.3. External URLs now open up inside the web application.
Attachments | ||
---|---|---|
Add attachment proposed patch, testcase, etc. |
Carlos Garcia Campos
Nothing has changed in webkit related to that, I think.
Alberto Garcia
Maybe something changed in Epiphany recently. Claudio, does this ring a bell?
Claudio Saavedra
Nopeā¦
Debarshi Ray
I did not change the version of Epiphany (3.10.2) that I had. Upgrading to webkitgtk-2.2.3 from 2.2.2 was enough to expose this bug. It went away after I downgraded to 2.2.2.
Alberto Garcia
I can actually reproduce this with a Debian jessie setup, after upgrading
webkit to 2.2.3.
I'll take a look at this.
Alberto Garcia
So when I click on a Facebook link, Epiphany tries to figure out if
it's an internal or an external link (decide_policy_cb).
The actual URL is one of these http://www.facebook.com/l.php?u=http...
What happens is that webkit_uri_request_get_uri() should return the
final uri ("http://ow.ly/rAvPU" in my test), but it seems to be
returning the Facebook wrapper uri instead.
I haven't seen any change in webkit that might be causing this,
though. I'll keep investigating.
Alberto Garcia
So it seems the User-Agent change from bug 124229.
Here's the previous code for the link:
<a href="http://ow.ly/rAvxq" target="_blank" rel="nofollow" onmouseover="LinkshimAsyncLink.swap(this, "http:\/\/ow.ly\/rAvxq");" onclick="LinkshimAsyncLink.referrer_log(this, "http:\/\/ow.ly\/rAvxq", "\/si\/ajax\/l\/render_linkshim_log\/?u=http\u00253A\u00252F\u00252Fow.ly\u00252FrAvxq&h=eAQEROmEaAQE_llmCJCdgplQ1RgZ9hzVxce3pr95cdbaHbw&render_verification=0&enc=AZO4WOlYUxn1C_rJtoCuDQ1TjKG4GL5Gj7P1MgWGspoocaM2ew0pNGnE4AFxqk-wxl2kNWxj5JFpI1OkhV0yvoV-");">link</a>
and this is the new one:
<a href="http://ow.ly/rAWxA" target="_blank" rel="nofollow" onmouseover="LinkshimAsyncLink.swap(this, "http:\/\/ow.ly\/rAWxA");" onclick="LinkshimAsyncLink.swap(this, "http:\/\/www.facebook.com\/l.php?u=http\u00253A\u00252F\u00252Fow.ly\u00252FrAWxA&h=cAQEyoiS8AQHXItKPMYjaXxhXDcEcMKbbbK1HeqxRl3SE1A&enc=AZMAJEAy1lwe6LEVHYkhsly65ajGxk9thU2acSNZzInmNzFex7h4xLHtL9A-gsbvup6U_aocCtXotIbCNhGxZUTb&s=1");">link</a>
For more thinks broken after the UA change, see bug 125444
Alberto Garcia
The problem here is that this doesn't really "break" anything. The new
link code works just as fine as the old one, but Epiphany cannot
detect now if the link is external.
We probably need to change the method used to detect if the link is
external or not.
Debarshi Ray
(In reply to comment #8)
> The problem here is that this doesn't really "break" anything. The new
> link code works just as fine as the old one, but Epiphany cannot
> detect now if the link is external.
>
> We probably need to change the method used to detect if the link is
> external or not.
Yes. The fix for bug 125444 does not fix this one. So we might have to fix Epiphany for this.
Alberto Garcia
(In reply to comment #9)
> > The problem here is that this doesn't really "break" anything. The
> > new link code works just as fine as the old one, but Epiphany
> > cannot detect now if the link is external.
> Yes. The fix for bug 125444 does not fix this one. So we might have
> to fix Epiphany for this.
Yes, I think this is just one more case of https://bugzilla.gnome.org/show_bug.cgi?id=658395
But I don't see a bug as such in webkit.
Michael Catanzaro
Hm, our options for Bugzilla statuses are not very good... anyway, this was fixed in GNOME Bugzilla.