Bug 125432

Summary: External links in Epiphany web applications do not work correctly
Product: WebKit Reporter: Debarshi Ray <rishi.is>
Component: WebKitGTKAssignee: Alberto Garcia <berto>
Status: RESOLVED WONTFIX    
Severity: Normal CC: berto, cgarcia, csaavedra, mcatanzaro
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Linux   

Description Debarshi Ray 2013-12-08 16:10:47 PST
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.
Comment 1 Carlos Garcia Campos 2013-12-09 02:28:21 PST
Nothing has changed in webkit related to that, I think.
Comment 2 Alberto Garcia 2013-12-09 03:35:09 PST
Maybe something changed in Epiphany recently. Claudio, does this ring a bell?
Comment 3 Claudio Saavedra 2013-12-09 03:39:03 PST
Nopeā€¦
Comment 4 Debarshi Ray 2013-12-09 03:43:40 PST
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.
Comment 5 Alberto Garcia 2013-12-09 08:16:47 PST
I can actually reproduce this with a Debian jessie setup, after upgrading
webkit to 2.2.3.

I'll take a look at this.
Comment 6 Alberto Garcia 2013-12-09 09:00:53 PST
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.
Comment 7 Alberto Garcia 2013-12-09 09:37:08 PST
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, &quot;http:\/\/ow.ly\/rAvxq&quot;);" onclick="LinkshimAsyncLink.referrer_log(this, &quot;http:\/\/ow.ly\/rAvxq&quot;, &quot;\/si\/ajax\/l\/render_linkshim_log\/?u=http\u00253A\u00252F\u00252Fow.ly\u00252FrAvxq&amp;h=eAQEROmEaAQE_llmCJCdgplQ1RgZ9hzVxce3pr95cdbaHbw&amp;render_verification=0&amp;enc=AZO4WOlYUxn1C_rJtoCuDQ1TjKG4GL5Gj7P1MgWGspoocaM2ew0pNGnE4AFxqk-wxl2kNWxj5JFpI1OkhV0yvoV-&quot;);">link</a>

and this is the new one:

<a href="http://ow.ly/rAWxA" target="_blank" rel="nofollow" onmouseover="LinkshimAsyncLink.swap(this, &quot;http:\/\/ow.ly\/rAWxA&quot;);" onclick="LinkshimAsyncLink.swap(this, &quot;http:\/\/www.facebook.com\/l.php?u=http\u00253A\u00252F\u00252Fow.ly\u00252FrAWxA&amp;h=cAQEyoiS8AQHXItKPMYjaXxhXDcEcMKbbbK1HeqxRl3SE1A&amp;enc=AZMAJEAy1lwe6LEVHYkhsly65ajGxk9thU2acSNZzInmNzFex7h4xLHtL9A-gsbvup6U_aocCtXotIbCNhGxZUTb&amp;s=1&quot;);">link</a>

For more thinks broken after the UA change, see bug 125444
Comment 8 Alberto Garcia 2013-12-09 09:41:34 PST
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.
Comment 9 Debarshi Ray 2013-12-10 09:20:44 PST
(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.
Comment 10 Alberto Garcia 2013-12-10 09:30:02 PST
(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.
Comment 11 Michael Catanzaro 2015-04-16 07:46:38 PDT
Hm, our options for Bugzilla statuses are not very good... anyway, this was fixed in GNOME Bugzilla.