WebApps do not work w/ chromium 28

Bug #1196943 reported by Alexandre Abreu
82
This bug affects 17 people
Affects Status Importance Assigned to Milestone
WebApps: unity-chromium-extensions
Fix Released
Critical
Alexandre Abreu
unity-chromium-extension (Ubuntu)
Fix Released
Undecided
Unassigned
Quantal
Won't Fix
Undecided
Unassigned
Raring
Fix Released
Undecided
Unassigned

Bug Description

[Impact]

Workaround for an issue with Chromium 27 and 28 and Webapps. Webapps stopped working altogether with those chromium versions. What happened is that any javascript callback function that was called (whatever the stage) from chromium's internal could not access the NPAPI plugin variable (_uwa) that is a javascript object that is a bridge to the WebApps NPAPI plugin. Accessing the variable throws with an exception "NPObject has been deleted" (which is not the case).

The workaround rebinds the variable for every callback to the plugin node.

TECHNICAL DETAILS:
-----------------

There has been some changes recently in chromium 27+ around the v8 bindings' templates separated by world type (either page world or content script private world). Although I am not sure, it seemed to have an impact somewhere in the lookup location for V8NPObject v8 binding variables.

The "NPOBJect has been deleted" exception first occurs when webapps callback in the context_prepare() callback (from a native NPAPI function) that tries to call the plugin using _uwa. The variable is just closed over in the callback but is being looked up in the v8 binding for NPAPI (npObjectInvokeImpl() in WebCore/bindings/v8/V8NPObject.cpp) in the wrong World (page world instead of content script world).

The V8NPObject binding for the NPAPI plugin is apparently created properly (tagged w/ the proper world id) but somewhere along the line (copying?) something goes wrong.

[Test Case]

1. install the unity-chromium-extension,
2. open chromium 28 and make sure that the extension is properly detected (chrome://extensions),
3. go to e.g. facebook.com or bbc.co.uk./news,
4. make sure that a launcher icon appears and the webapps integrates (notifications for bbc and messaging menu for facebook),

[Regression Potential]

None since the fix is strictly confined in the webapps extension and webapps are currently broken.

Related branches

Changed in unity-chromium-extension:
assignee: nobody → Alexandre Abreu (abreu-alexandre)
importance: Undecided → Critical
status: New → In Progress
Revision history for this message
Atbeyi (atbeyi) wrote :

as i was commented at [BUG 1188685] unity-chromium-extension and chromium doesn't work together.

https://bugs.launchpad.net/unity-chromium-extension/+bug/1188685/comments/4

Revision history for this message
Loic Dreux (loic.dreux) wrote :

I install the previous version of chromium to get unity extensions :
sudo apt-get install chromium-browser-l10n=25.0.1364.160-0ubuntu3
sudo apt-get install chromium-browser-i18n=25.0.1364.160-0ubuntu3

description: updated
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :

Fix committed into lp:unity-chromium-extension at revision 226, scheduled for release in unity-chromium-extension, milestone Unknown

Changed in unity-chromium-extension:
status: In Progress → Fix Committed
Changed in unity-chromium-extension:
status: Fix Committed → Fix Released
Changed in unity-chromium-extension (Ubuntu):
status: New → Fix Released
no longer affects: unity-chromium-extension/12.10
no longer affects: unity-chromium-extension/13.04
Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in unity-chromium-extension (Ubuntu Quantal):
status: New → Confirmed
Changed in unity-chromium-extension (Ubuntu Raring):
status: New → Confirmed
Revision history for this message
Brian Murray (brian-murray) wrote : Please test proposed package

Hello Alexandre, or anyone else affected,

Accepted unity-chromium-extension into raring-proposed. The package will build now and be available at http://launchpad.net/ubuntu/+source/unity-chromium-extension/2.4.7-0ubuntu0.1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, and change the tag from verification-needed to verification-done. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed. In either case, details of your testing will help us make a better decision.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance!

Changed in unity-chromium-extension (Ubuntu Raring):
status: Confirmed → Fix Committed
tags: added: verification-needed
Revision history for this message
Robert Bruce Park (robru) wrote :

Confirmed 2.4.7-0ubuntu0.1 is working in Raring.

tags: added: verification-done
removed: verification-needed
Revision history for this message
Loic Dreux (loic.dreux) wrote :

Indicators doesn't work for GMail.

Revision history for this message
Robert Bruce Park (robru) wrote :

Loic, are you sure that's a bug in unity-chromium-extension itself? (check if you have the same issue in firefox) It is more likely a bug just with the gmail webapp, which should absolutely not block this SRU (that will need to be fixed and SRU'd separately).

Revision history for this message
Loic Dreux (loic.dreux) wrote :

That works on Firefox (GMail Indicators + Messages Count) but not in Chromium.

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

This bug was fixed in the package unity-chromium-extension - 2.4.7-0ubuntu0.1

---------------
unity-chromium-extension (2.4.7-0ubuntu0.1) raring-proposed; urgency=low

  [ Alexandre Abreu ]
  * Fixes for Chromium 27 & 28 (LP: #1196943).
 -- Robert Bruce Park <email address hidden> Tue, 23 Jul 2013 12:13:20 -0700

Changed in unity-chromium-extension (Ubuntu Raring):
status: Fix Committed → Fix Released
Revision history for this message
Brian Murray (brian-murray) wrote : Update Released

The verification of this Stable Release Update 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
Rolf Leggewie (r0lf) wrote :

quantal has seen the end of its life and is no longer receiving any updates. Marking the quantal task for this ticket as "Won't Fix".

Changed in unity-chromium-extension (Ubuntu Quantal):
status: Confirmed → Won't Fix
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.