Error: this.windowMap is not iterable (context menu)

RESOLVED INVALID

Status

RESOLVED INVALID
6 years ago
6 years ago

People

(Reporter: evold, Assigned: mossop)

Tracking

Firefox Tracking Flags

(Not tracked)

Details

Using my copy html extension https://github.com/erikvold/copy-html-jetpack I get the following error after `cfx run`: 

Timestamp: 11/28/12 12:48:39 PM
Error: copy-html: An exception occurred.
Traceback (most recent call last):
  File "resource://gre/modules/NetUtil.jsm", line 140, in 
    aCallback(pipe.inputStream, aStatusCode, aRequest);
  File "resource://jid0-lqtsbmo4pkjaofcct6zdcwsaxcu-at-jetpack/addon-sdk/lib/sdk/net/url.js", line 48, in 
    resolve(data);
  File "resource://jid0-lqtsbmo4pkjaofcct6zdcwsaxcu-at-jetpack/addon-sdk/lib/sdk/core/promise.js", line 142, in resolve
    while (pending.length) result.then.apply(result, pending.shift())
  File "resource://jid0-lqtsbmo4pkjaofcct6zdcwsaxcu-at-jetpack/addon-sdk/lib/sdk/core/promise.js", line 36, in then
    return { then: function then(resolve) { resolve(value) } }
  File "resource://jid0-lqtsbmo4pkjaofcct6zdcwsaxcu-at-jetpack/addon-sdk/lib/sdk/core/promise.js", line 116, in resolved
    function resolved(value) { deferred.resolve(resolve(value)) }
  File "resource://jid0-lqtsbmo4pkjaofcct6zdcwsaxcu-at-jetpack/addon-sdk/lib/sdk/core/promise.js", line 142, in resolve
    while (pending.length) result.then.apply(result, pending.shift())
  File "resource://jid0-lqtsbmo4pkjaofcct6zdcwsaxcu-at-jetpack/addon-sdk/lib/sdk/core/promise.js", line 36, in then
    return { then: function then(resolve) { resolve(value) } }
  File "resource://jid0-lqtsbmo4pkjaofcct6zdcwsaxcu-at-jetpack/addon-sdk/lib/sdk/core/promise.js", line 116, in resolved
    function resolved(value) { deferred.resolve(resolve(value)) }
  File "resource://jid0-lqtsbmo4pkjaofcct6zdcwsaxcu-at-jetpack/addon-sdk/lib/sdk/core/promise.js", line 142, in resolve
    while (pending.length) result.then.apply(result, pending.shift())
  File "resource://jid0-lqtsbmo4pkjaofcct6zdcwsaxcu-at-jetpack/addon-sdk/lib/sdk/core/promise.js", line 36, in then
    return { then: function then(resolve) { resolve(value) } }
  File "resource://jid0-lqtsbmo4pkjaofcct6zdcwsaxcu-at-jetpack/addon-sdk/lib/sdk/core/promise.js", line 116, in resolved
    function resolved(value) { deferred.resolve(resolve(value)) }
  File "resource://jid0-lqtsbmo4pkjaofcct6zdcwsaxcu-at-jetpack/addon-sdk/lib/sdk/core/promise.js", line 142, in resolve
    while (pending.length) result.then.apply(result, pending.shift())
  File "resource://jid0-lqtsbmo4pkjaofcct6zdcwsaxcu-at-jetpack/addon-sdk/lib/sdk/core/promise.js", line 36, in then
    return { then: function then(resolve) { resolve(value) } }
  File "resource://jid0-lqtsbmo4pkjaofcct6zdcwsaxcu-at-jetpack/addon-sdk/lib/sdk/core/promise.js", line 116, in resolved
    function resolved(value) { deferred.resolve(resolve(value)) }
  File "resource://jid0-lqtsbmo4pkjaofcct6zdcwsaxcu-at-jetpack/addon-sdk/lib/sdk/core/promise.js", line 142, in resolve
    while (pending.length) result.then.apply(result, pending.shift())
  File "resource://jid0-lqtsbmo4pkjaofcct6zdcwsaxcu-at-jetpack/addon-sdk/lib/sdk/core/promise.js", line 36, in then
    return { then: function then(resolve) { resolve(value) } }
  File "resource://jid0-lqtsbmo4pkjaofcct6zdcwsaxcu-at-jetpack/addon-sdk/lib/sdk/core/promise.js", line 116, in resolved
    function resolved(value) { deferred.resolve(resolve(value)) }
  File "resource://jid0-lqtsbmo4pkjaofcct6zdcwsaxcu-at-jetpack/addon-sdk/lib/sdk/core/promise.js", line 142, in resolve
    while (pending.length) result.then.apply(result, pending.shift())
  File "resource://jid0-lqtsbmo4pkjaofcct6zdcwsaxcu-at-jetpack/addon-sdk/lib/sdk/core/promise.js", line 122, in then
    else result.then(resolved, rejected)
  File "resource://jid0-lqtsbmo4pkjaofcct6zdcwsaxcu-at-jetpack/addon-sdk/lib/sdk/core/promise.js", line 36, in then
    return { then: function then(resolve) { resolve(value) } }
  File "resource://jid0-lqtsbmo4pkjaofcct6zdcwsaxcu-at-jetpack/addon-sdk/lib/sdk/core/promise.js", line 116, in resolved
    function resolved(value) { deferred.resolve(resolve(value)) }
  File "resource://jid0-lqtsbmo4pkjaofcct6zdcwsaxcu-at-jetpack/addon-sdk/lib/sdk/core/promise.js", line 54, in effort
    try { return f(options) }
  File "resource://jid0-lqtsbmo4pkjaofcct6zdcwsaxcu-at-jetpack/addon-sdk/lib/sdk/core/promise.js", line 116, in resolved
    function resolved(value) { deferred.resolve(resolve(value)) }
  File "resource://jid0-lqtsbmo4pkjaofcct6zdcwsaxcu-at-jetpack/addon-sdk/lib/sdk/core/promise.js", line 142, in resolve
    while (pending.length) result.then.apply(result, pending.shift())
  File "resource://jid0-lqtsbmo4pkjaofcct6zdcwsaxcu-at-jetpack/addon-sdk/lib/sdk/core/promise.js", line 36, in then
    return { then: function then(resolve) { resolve(value) } }
  File "resource://jid0-lqtsbmo4pkjaofcct6zdcwsaxcu-at-jetpack/addon-sdk/lib/sdk/core/promise.js", line 116, in resolved
    function resolved(value) { deferred.resolve(resolve(value)) }
  File "resource://jid0-lqtsbmo4pkjaofcct6zdcwsaxcu-at-jetpack/addon-sdk/lib/sdk/core/promise.js", line 54, in effort
    try { return f(options) }
  File "resource://jid0-lqtsbmo4pkjaofcct6zdcwsaxcu-at-jetpack/addon-sdk/lib/sdk/addon/runner.js", line 91, in onLocalizationReady
    run(options);
  File "resource://jid0-lqtsbmo4pkjaofcct6zdcwsaxcu-at-jetpack/addon-sdk/lib/sdk/addon/runner.js", line 135, in run
    quit: exit
  File "resource://jid0-lqtsbmo4pkjaofcct6zdcwsaxcu-at-jetpack/copy-html/lib/main.js", line 39, in 
    onMessage: function(msg) clipboard.set(selection.html)
  File "resource://jid0-lqtsbmo4pkjaofcct6zdcwsaxcu-at-jetpack/addon-sdk/lib/sdk/core/heritage.js", line 125, in constructor
    return apply(prototype.constructor, create(prototype), arguments);
  File "resource://jid0-lqtsbmo4pkjaofcct6zdcwsaxcu-at-jetpack/addon-sdk/lib/sdk/core/heritage.js", line 133, in constructor
    this.initialize.apply(this, arguments);
  File "resource://jid0-lqtsbmo4pkjaofcct6zdcwsaxcu-at-jetpack/addon-sdk/lib/sdk/context-menu.js", line 500, in initialize
    LabelledItem.prototype.initialize.call(this, options);
  File "resource://jid0-lqtsbmo4pkjaofcct6zdcwsaxcu-at-jetpack/addon-sdk/lib/sdk/context-menu.js", line 454, in initialize
    BaseItem.prototype.initialize.call(this);
  File "resource://jid0-lqtsbmo4pkjaofcct6zdcwsaxcu-at-jetpack/addon-sdk/lib/sdk/context-menu.js", line 425, in initialize
    parentMenu.addItem(this);
  File "resource://jid0-lqtsbmo4pkjaofcct6zdcwsaxcu-at-jetpack/addon-sdk/lib/sdk/context-menu.js", line 551, in addItem
    MenuManager.createItem(item, after);
  File "resource://jid0-lqtsbmo4pkjaofcct6zdcwsaxcu-at-jetpack/addon-sdk/lib/sdk/context-menu.js", line 1039, in createItem
    for (let [window, winWrapper] of this.windowMap) {
TypeError: this.windowMap is not iterable

Updated

6 years ago
Assignee: nobody → dtownsend+bugmail
Flags: needinfo?(dtownsend+bugmail)
(Assignee)

Comment 1

6 years ago
I think this is fixed in Firefox 17 (the current release version) by bug 725909. Can you verify?
Flags: needinfo?(dtownsend+bugmail) → needinfo?(evold)
I got the same when I tested with Firefox 16 as soon as context-menu was updated, but I assumed was made on purpose because Maps and Sets are iterable only since Firefox 17, and the context-menu's new refactoring is not targeting Firefox < 17, right?

If that's correct, I think we can close this bug.
Flags: needinfo?(evold)
To be clear, on Firefox > 16 this exception is not raised on my OS X, only with version < 17.
Works on FF17, I must've been using FF16 which no longer matters.
Status: NEW → RESOLVED
Last Resolved: 6 years ago
Resolution: --- → INVALID
You need to log in before you can comment on or make changes to this bug.