← Back to team overview

desktop-packages team mailing list archive

[Bug 1196943] Re: WebApps do not work w/ chromium 28

 

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

-- 
You received this bug notification because you are a member of Desktop
Packages, which is subscribed to unity-chromium-extension in Ubuntu.
https://bugs.launchpad.net/bugs/1196943

Title:
  WebApps do not work w/ chromium 28

Status in Chromium extension: Unity Integration:
  Fix Released
Status in unity-chromium-extension package in Ubuntu:
  Fix Released
Status in unity-chromium-extension source package in Quantal:
  Won't Fix
Status in unity-chromium-extension source package in Raring:
  Fix Released

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.

To manage notifications about this bug go to:
https://bugs.launchpad.net/unity-chromium-extension/+bug/1196943/+subscriptions