diff --git a/common/content/bookmarks.js b/common/content/bookmarks.js index efb292ec..6f943fea 100644 --- a/common/content/bookmarks.js +++ b/common/content/bookmarks.js @@ -16,12 +16,12 @@ var Bookmarks = Module("bookmarks", { storage.addObserver("bookmark-cache", function (key, event, arg) { if (["add", "change", "remove"].indexOf(event) >= 0) autocommands.trigger("Bookmark" + util.capitalize(event), - iter({ + update({ bookmark: { toString: function () "bookmarkcache.bookmarks[" + arg.id + "]", valueOf: function () arg } - }, arg).toObject()); + }, arg.toObject())); bookmarks.timer.tell(); }, window); }, diff --git a/common/modules/base.jsm b/common/modules/base.jsm index 04bda50d..abdd6b31 100644 --- a/common/modules/base.jsm +++ b/common/modules/base.jsm @@ -1405,6 +1405,10 @@ var StructBase = Class("StructBase", Array, { get: function struct_get(key, val) this[this.members[key]], set: function struct_set(key, val) this[this.members[key]] = val, + toObject: function struct_toObject() { + return iter.toObject([k, this[k]] for (k of keys(this.members))); + }, + toString: function struct_toString() Class.prototype.toString.apply(this, arguments), // Iterator over our named members