lp:unity-chromium-extension/13.04

Created by Alexandre Abreu and last modified
Get this branch:
bzr branch lp:unity-chromium-extension/13.04
Members of WebApps can upload to this branch. Log in for directions.

Branch merges

Related bugs

Related blueprints

Branch information

Owner:
WebApps
Project:
WebApps: unity-chromium-extensions
Status:
Development

Recent revisions

225. By Alexandre Abreu

[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.

Approved by PS Jenkins bot, Víctor R. Ruiz.

224. By Alexandre Abreu

Support chromium 28

223. By Alexandre Abreu

Release 2.4.6 to R.

Approved by PS Jenkins bot, Víctor R. Ruiz.

222. By Alexandre Abreu

Fix #1138473: libunity-webapps pulls gtk 3 in to Firefox. Fixes: https://bugs.launchpad.net/bugs/1138473.

Approved by PS Jenkins bot, Alexandre Abreu.

221. By Alexandre Abreu

Fix typo for setCanGoPrevious on the website side (proxy). Fixes: https://bugs.launchpad.net/bugs/1139711.

Approved by PS Jenkins bot, Alexandre Abreu.

220. By Alexandre Abreu

Fix #1124238: Launcher actions not showing up. Fixes: https://bugs.launchpad.net/bugs/1124238.

Approved by Víctor R. Ruiz.

219. By Alexandre Abreu

Fix 1099828: handle the case of the popup window glitches with the 'remove tabs in chromeless when only 1 tab' code.

Approved by Alexandre Abreu, PS Jenkins bot.

217. By Alexandre Abreu

Fix issue with NPAPI plugin being removed from auth list after some visit to chrome://plugins. The issue is actually not specifically related to the visit to chrome://plugins. After a certain amount of time (usually a few mns) an plugin update service is triggered that updates the plugin list (it occurs something like once every day), and pulls data from the server side plugin list https://www.gstatic.com/chrome/config/plugins_linux.json and overrides our already altered list (therefore removes our additional reference to webapps plugin). Fixes: https://bugs.launchpad.net/bugs/1108116.

Approved by Alexandre Abreu, PS Jenkins bot.

216. By Alexandre Abreu

Chromium v24: fix exception launched when accessing a wrongly associated preference (undefined) for the 'allow desktop integration prompt' checkbox. We don't use nor need to use preferences for this settings.

See https://bugs.launchpad.net/unity-chromium-extension/+bug/1106876/comments/7.

Approved by Chad Miller, PS Jenkins bot.

Branch metadata

Branch format:
Branch format 7
Repository format:
Bazaar repository format 2a (needs bzr 1.16 or later)
Stacked on:
lp:unity-chromium-extension/trunk
This branch contains Public information 
Everyone can see this information.

Subscribers