scrollbars incorrect in Facebook (and other) webapps

Bug #1301678 reported by Bill Filler
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Oxide
Fix Released
High
Olivier Tilloy
The Webapps-core project
Invalid
Medium
Unassigned
webbrowser-app
Invalid
Undecided
Unassigned
oxide-qt (Ubuntu)
Fix Released
Undecided
Unassigned

Bug Description

Using latest oxide and webapps, some of the webapps, notably Facebook display think vertical scroll bars. This only occurs in the webapp version. If you run Facebook in the browser the scrollbars appear correct (very small and thin)

Related branches

Bill Filler (bfiller)
summary: - scrollbars incorrect in Facebook webapp
+ scrollbars incorrect in Facebook (and other) webapps
David Barth (dbarth)
Changed in webbrowser-app:
status: New → Confirmed
no longer affects: webapps-demo
Changed in webapps-core:
status: New → Confirmed
importance: Undecided → Medium
Revision history for this message
Olivier Tilloy (osomon) wrote :

I think I know what’s going on: to determine which kind of scrollbars it should display, oxide queries the form factor. And to detect a phone or tablet, the current implementation tries to enumerate udev devices matching "android_usb". Application confinement for the webapp container means that it’s not allowed to perform this kind of query, and it therefore assumes desktop form factor:

Apr 3 10:08:10 ubuntu-phablet kernel: [ 9234.082092] type=1400 audit(1396519690.090:296): apparmor="DENIED" operation="open" parent=4734 profile="com.ubuntu.developer.webapps.webapp-facebook_webapp-facebook_1.0.11//oxide_helper" name="/proc/sys/kernel/yama/ptrace_scope" pid=4735 comm="oxide-renderer" requested_mask="r" denied_mask="r" fsuid=32011 ouid=0

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

After discussing the issue with Chris, it appears that the best approach would be not to use udev to detect the form factor. Instead, Chris suggests using eglQueryString to check EGL_VENDOR (assuming it will have something android related in it).

This can be done by dlopening and manually binding the symbol, rather than using chromium's GL bindings (which won't work correctly from there).

Revision history for this message
Jamie Strandboge (jdstrand) wrote :

FYI, this ptrace denial was fixed in apaprmor-easyprof-ubuntu 1.1.13.

Olivier Tilloy (osomon)
Changed in oxide:
assignee: nobody → Olivier Tilloy (osomon)
status: Confirmed → In Progress
importance: Undecided → High
Olivier Tilloy (osomon)
Changed in oxide:
status: In Progress → Fix Committed
Changed in oxide:
status: Fix Committed → Fix Released
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package oxide-qt - 1.0.0~bzr475-0ubuntu1

---------------
oxide-qt (1.0.0~bzr475-0ubuntu1) trusty; urgency=medium

  * Update to r475
    - Update to Chromium 35.0.1916.6
    - If WebView.newViewRequested isn't implemented, navigations should happen
      in the originating view
    - Refine WebView.newViewRequested and WebView.navigationRequested API's
      (LP: #1300891)
    - Improve the form factor detection (LP: #1301678)
    - Add WebView.javaScriptConsoleMessage signal to allow the application
      to intercept console messages from content (LP: #1291389)
    - Improve the LoadEvent API
    - Fix an abort when setting WebContext.sessionCookieMode on a context
      that has no path (LP: #1301650)
    - Expose the default WebContext via Oxide.defaultWebContext() (LP: #1297552)
    - Send fake keydown and keyup events when composing text with an
      input method (LP: #1300382)
    - Bump the API version to 1.0
 -- Chris Coulson <email address hidden> Fri, 04 Apr 2014 19:28:27 +0100

Changed in oxide-qt (Ubuntu):
status: New → Fix Released
Olivier Tilloy (osomon)
Changed in webapps-core:
status: Confirmed → Invalid
Changed in webbrowser-app:
status: Confirmed → Invalid
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.