Hyperlinks that request a new tab don’t open

Bug #1307735 reported by Bill Filler
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Oxide
Fix Released
Critical
Olivier Tilloy
webbrowser-app
Fix Released
Critical
Olivier Tilloy
webbrowser-app (Ubuntu)
Fix Released
Undecided
Unassigned

Bug Description

[Impact]

In the webbrowser-app, when clicking on a link that is supposed to open a new window (e.g. href w/ target="_blank" or window.open()), nothing actually happens.

The fix for the bug is in 2 parts:
- enabling proper popup handling in the webbrowser-app (and handle catching the creation
signals from oxide and creating the proper extra tab),
- fixing an issue in Oxide that prevented *in some instances* the signal that requested the new webview corresponding to the navigation to be created NOT to be sent,

[Test Case]

- Open twitter.com in the webbrowser-app
- Try to click on a link in a tweet
- Result: it should create a new tab in the webbrowser-app with the content corresponding to the clicked link,

[Regression Potential]

The fixes are mostly centered around the tab creation and navigation feature in the webbrowser-app. So areas around those would be impacted (in the handling and creation of those in reaction to the user clicking)

Related branches

Bill Filler (bfiller)
Changed in webbrowser-app:
importance: Undecided → Critical
assignee: nobody → Olivier Tilloy (osomon)
Revision history for this message
Olivier Tilloy (osomon) wrote :

(after enabling JS logging) I’m not seeing any relevant errors when clicking a link.

Changed in webbrowser-app:
status: New → Confirmed
Revision history for this message
Olivier Tilloy (osomon) wrote :

Interestingly, twitter is broken both on touch devices and on desktop, but in different ways:

 - on touch devices, clicking a link does nothing
 - on desktop, clicking a link opens a new tab that points to https://twitter.com (instead of the actual link target)

Revision history for this message
Olivier Tilloy (osomon) wrote :

The addition of the "Safari/[version]" token to the default UA doesn’t seem to be the culprit, as I’m still getting the same error on desktop with this UA: "Mozilla/5.0 (Linux; Ubuntu 14.04) AppleWebKit/537.36 Chromium/35.0.1870.2".

Revision history for this message
Olivier Tilloy (osomon) wrote :

In fact it looks like links that request being open in a new tab fail to do that. Re-enabling the autopilot tests that had been temporarily skipped while this feature wasn’t implemented highlights the issue. Investigating if it’s an issue in webbrowser-app or in oxide itself.

Olivier Tilloy (osomon)
Changed in webbrowser-app:
status: Confirmed → In Progress
Revision history for this message
Olivier Tilloy (osomon) wrote :

The branch I linked fixes the issue on desktop, but not on touch devices. There, I’m getting the navigationRequested signal, but no subsequent newViewRequested signal.

Revision history for this message
Olivier Tilloy (osomon) wrote :

I marked the bug as also affecting oxide as I can reproduce the issue mentioned in the comment above with a standalone QML+HTML example, which I’m attaching here.

Revision history for this message
Olivier Tilloy (osomon) wrote :
Revision history for this message
Olivier Tilloy (osomon) wrote :

If I comment out the onNewViewRequested slot, then WebView::OpenURLFromTab is being called and the navigation happens (in the same view as there is no handler to create a new view). With onNewViewRequested though, WebView::OpenURLFromTab is never being called.

Olivier Tilloy (osomon)
Changed in oxide:
status: New → In Progress
assignee: nobody → Olivier Tilloy (osomon)
importance: Undecided → Critical
Revision history for this message
Olivier Tilloy (osomon) wrote :

Thanks to Chris the issue has been identified, it boils down to a missing variable initialization in ContentBrowserClient::CanCreateWindow(…). This is now fixed in oxide trunk (at revision 507).

Changed in oxide:
status: In Progress → Fix Committed
Revision history for this message
Olivier Tilloy (osomon) wrote :

I updated the title to reflect the fact that this issue potentially affects all web pages, not just twitter.

Note that the bug description states that this used to work and is a recent regression. To clarify this: it used to open the links that requested a new tab in the same tab, thus overriding the requested behaviour.

summary: - can't open links in twitter
+ Hyperlinks that request a new tab don’t open
David Barth (dbarth)
tags: added: oxide webapps-blocker
description: updated
Revision history for this message
Iain Lane (laney) wrote : Update Released

The verification of the Stable Release Update for oxide-qt has completed successfully and the package has now been released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regresssions.

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package webbrowser-app - 0.23+14.04.20140416-0ubuntu1

---------------
webbrowser-app (0.23+14.04.20140416-0ubuntu1) trusty; urgency=low

  [ CI bot ]
  * Resync trunk

  [ Olivier Tilloy ]
  * Handle new view requests in the browser. (LP: #1307735)
 -- Ubuntu daily release <email address hidden> Wed, 16 Apr 2014 22:53:18 +0000

Changed in webbrowser-app (Ubuntu):
status: New → Fix Released
Olivier Tilloy (osomon)
Changed in oxide:
status: Fix Committed → Fix Released
Changed in webbrowser-app:
status: In Progress → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.