Closed Bug 588250 Opened 14 years ago Closed 10 years ago

remove ability to set collection property

Categories

(Add-on SDK Graveyard :: General, defect, P3)

defect

Tracking

(Not tracked)

RESOLVED INVALID

People

(Reporter: myk, Unassigned)

Details

The ability to set collection properties is problematic, particularly because it means that two modules that require a third that exports a singleton with a collection property will overwrite each others' values, i.e. given the following set of modules:

Module foo:

  // Define a property that stores event callbacks.
  require("collection").addCollectionProperty(exports, "onEvent");

Module bar:

  require("foo").onEvent = function() { }

Module baz:

  require("foo").onEvent = function() { }

If bar loads before baz, baz wipes out bar's callback property, so it never gets called, and vice versa.

So we should remove the ability to set a collection property.

Note: it should still be possible to add and remove items from a collection property, and it should continue to be possible to initialize a collection property with an array of items upon construction of the object with that property.  It is just the setting of a collection property post-construction that is at issue here.
The Add-on SDK is no longer a Mozilla Labs experiment and has become a big enough project to warrant its own Bugzilla product, so the "Add-on SDK" product has been created for it, and I am moving its bugs to that product.

To filter bugmail related to this change, filter on the word "looptid".
Component: Jetpack SDK → General
Product: Mozilla Labs → Add-on SDK
QA Contact: jetpack-sdk → general
Assignee: nobody → myk
Priority: -- → P2
Target Milestone: --- → 1.0
(automatic reprioritization of 1.0 bugs)
Priority: P2 → P1
Target Milestone: 1.0 → 1.1
Priority: P1 → P3
Target Milestone: 1.1 → 1.2
(Pushing all open bugs to the --- milestone for the new triage system)
Target Milestone: 1.2 → ---
Unassigning myself from bugs I am not actively working on.
Assignee: myk → nobody
Closing this, `addCollectionProperty` seems to be working as expected and this is mainly a case of using it externally rather than internally, but something we only use in context-menu, so I'd be ok with getting rid of it.
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → INVALID
You need to log in before you can comment on or make changes to this bug.