Closed Bug 987937 Opened 10 years ago Closed 9 years ago

[e10s] "Flip or Rotate Image" addon's context menu commands do not work: TypeError: popupNode is null

Categories

(Firefox :: Extension Compatibility, defect)

x86
macOS
defect
Not set
normal

Tracking

()

RESOLVED FIXED
Tracking Status
e10s + ---
firefox31 --- affected

People

(Reporter: cpeterson, Unassigned)

References

()

Details

(Keywords: addon-compat)

STR:
1. Install "Flip or Rotate Image" addon:
https://addons.mozilla.org/en-US/firefox/addon/flip-or-rotate-image/
2. In an e10s window, load a website with images
3. Right-click on an image and try to use the context menu's "Rotate Image" or "Flip Image" commands.

RESULT:
Nothing happens. When the context menu opens, the following JS exception is logged to stderr:

console.error: flip-or-rotate-image: 
  Message: TypeError: popupNode is null
  Stack:
    isCurrent@resource://gre/modules/addons/XPIProvider.jsm -> jar:file:///Users/cpeterson/Library/Application%20Support/Firefox/Profiles/ex2170bl.Test/extensions/jid0-AGJXXzyS0rT1UudxcYiNRjbGttc@jetpack.xpi!/bootstrap.js -> resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/commonjs/sdk/context-menu.js:111:9
updateItemVisibilities@resource://gre/modules/addons/XPIProvider.jsm -> jar:file:///Users/cpeterson/Library/Application%20Support/Firefox/Profiles/ex2170bl.Test/extensions/jid0-AGJXXzyS0rT1UudxcYiNRjbGttc@jetpack.xpi!/bootstrap.js -> resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/commonjs/sdk/context-menu.js:1022:7
openPopupAtScreen@chrome://global/content/bindings/popup.xml:67:15
receiveMessage@chrome://browser/content/tabbrowser.xml:2982:15
tracking-e10s: --- → +
When I run Firefox with the "Flip or Rotate Image" addon, I see the following console errors:

console.error: flip-or-rotate-image: 
  Message: TypeError: window is null
  Stack:
    addSelectionListener@resource://gre/modules/commonjs/sdk/selection.js:342:7
@resource://gre/modules/commonjs/sdk/selection.js:406:1
CuddlefishLoader/options<.load@resource://gre/modules/commonjs/sdk/loader/cuddlefish.js:129:9
@resource://gre/modules/commonjs/sdk/context-menu.js:27:7
CuddlefishLoader/options<.load@resource://gre/modules/commonjs/sdk/loader/cuddlefish.js:129:9
@resource://jid0-agjxxzys0rt1uudxcyinrjbgttc-at-jetpack/flip-or-rotate-image/lib/main.js:1:5
CuddlefishLoader/options<.load@resource://gre/modules/commonjs/sdk/loader/cuddlefish.js:129:9
run@resource://gre/modules/commonjs/sdk/addon/runner.js:149:9
startup/<@resource://gre/modules/commonjs/sdk/addon/runner.js:113:7
Handler.prototype.process@resource://gre/modules/Promise-backend.js:863:11
this.PromiseWalker.walkerLoop@resource://gre/modules/Promise-backend.js:742:7

*************************
A coding exception was thrown in a Promise resolution callback.

Full message: TypeError: window is null
See https://developer.mozilla.org/Mozilla/JavaScript_code_modules/Promise.jsm/Promise
Full stack: addSelectionListener@resource://gre/modules/commonjs/sdk/selection.js:342:7
@resource://gre/modules/commonjs/sdk/selection.js:406:1
CuddlefishLoader/options<.load@resource://gre/modules/commonjs/sdk/loader/cuddlefish.js:129:9
@resource://gre/modules/commonjs/sdk/context-menu.js:27:7
CuddlefishLoader/options<.load@resource://gre/modules/commonjs/sdk/loader/cuddlefish.js:129:9
@resource://jid0-agjxxzys0rt1uudxcyinrjbgttc-at-jetpack/flip-or-rotate-image/lib/main.js:1:5
CuddlefishLoader/options<.load@resource://gre/modules/commonjs/sdk/loader/cuddlefish.js:129:9
run@resource://gre/modules/commonjs/sdk/addon/runner.js:149:9
startup/<@resource://gre/modules/commonjs/sdk/addon/runner.js:113:7
Handler.prototype.process@resource://gre/modules/Promise-backend.js:863:11
this.PromiseWalker.walkerLoop@resource://gre/modules/Promise-backend.js:742:7

*************************
console.error: flip-or-rotate-image: 
  Message: TypeError: window is null
  Stack:
    addSelectionListener@resource://gre/modules/commonjs/sdk/selection.js:342:7
@resource://gre/modules/commonjs/sdk/selection.js:406:1
CuddlefishLoader/options<.load@resource://gre/modules/commonjs/sdk/loader/cuddlefish.js:129:9
@resource://gre/modules/commonjs/sdk/context-menu.js:27:7
CuddlefishLoader/options<.load@resource://gre/modules/commonjs/sdk/loader/cuddlefish.js:129:9
@resource://jid0-agjxxzys0rt1uudxcyinrjbgttc-at-jetpack/flip-or-rotate-image/lib/main.js:1:5
CuddlefishLoader/options<.load@resource://gre/modules/commonjs/sdk/loader/cuddlefish.js:129:9
run@resource://gre/modules/commonjs/sdk/addon/runner.js:149:9
startup/<@resource://gre/modules/commonjs/sdk/addon/runner.js:113:7
Handler.prototype.process@resource://gre/modules/Promise-backend.js:863:11
this.PromiseWalker.walkerLoop@resource://gre/modules/Promise-backend.js:742:7
Assignee: nobody → ally
Mardeg, are you the maintainer of the "Flip or Rotate Image" add-on?

This add-on is not e10s compatible. If you have any questions about add-on support for multiprocess Firefox (e10s), just drop by the #e10s IRC channel on irc.mozilla.org. MDN also has a good introduction:

https://developer.mozilla.org/en-US/Add-ons/Working_with_multiprocess_Firefox
(In reply to Chris Peterson (:cpeterson) from comment #2)
> Mardeg, are you the maintainer of the "Flip or Rotate Image" add-on?
Yes. This extension currently uses version 1.14 of the Add-on SDK and I presume this will be automatically fixed when it's rebuilt for Firefox's built-in updated SDK?
1.14 was the last version used by the online web-based builder. I'll eventually get around to installing the working version of Python needed to run the current SDK (unless someone writes another online builder before e10s makes it to release).
(In reply to Mardeg from comment #3)
> Yes. This extension currently uses version 1.14 of the Add-on SDK and I
> presume this will be automatically fixed when it's rebuilt for Firefox's
> built-in updated SDK?

Bug 1060695 is the Add-on SDK bug to fix this selection.js exception. I don't know when it might get fixed.

> 1.14 was the last version used by the online web-based builder. I'll
> eventually get around to installing the working version of Python needed to
> run the current SDK (unless someone writes another online builder before
> e10s makes it to release).

Unfortunately, the online builder is no longer supported. :(
Depends on: 1060695
waiting on zombie's work & bug 1060695. dropping because it wont be actionable in the next month
Assignee: ally → nobody
Just checked it in Aurora e10s and it's working fine now.
Flags: needinfo?(jorge)
I can confirm it's working. Mardeg, it's still a good idea to update the add-on use the latest version of the SDK. The new tool (JPM) should be easier to set up.
Status: NEW → RESOLVED
Closed: 9 years ago
Flags: needinfo?(jorge)
Resolution: --- → FIXED
Component: General → Extension Compatibility
Product: Core → Firefox
You need to log in before you can comment on or make changes to this bug.