Fix for accounting for non-Cappuccino libraries placing things on Object.prototype.

Reviewed by me.
This commit is contained in:
Francisco Ryan Tolmasky I committed 2010-02-19 02:08:34 -08:00
1 parent 19ca6a342e
commit fd8271396d
2 files changed
+17 -12

No files matched your search

+2 -1
View File
@@ -464,7 +464,8 @@ function executeBundle(/*Bundle*/ aBundle, /*Function*/ aCallback)
var children = staticResource.children();
for (var name in children)
staticResources.push(children[name]);
if (hasOwnProperty.call(children, name))
staticResources.push(children[name]);
}
}
+15 -11
View File
@@ -12,13 +12,15 @@ function EventDispatcher(/*Object*/ anOwner)
EventDispatcher.prototype.addEventListener = function(/*String*/ anEventName, /*Function*/ anEventListener)
{
var eventListenersForEventName = this._eventListenersForEventNames[anEventName];
var eventListenersForEventNames = this._eventListenersForEventNames;
if (!eventListenersForEventName)
if (!hasOwnProperty.call(this._eventListenersForEventNames, anEventName))
{
eventListenersForEventName = [];
this._eventListenersForEventNames[anEventName] = eventListenersForEventName;
var eventListenersForEventName = [];
eventListenersForEventNames[anEventName] = eventListenersForEventName;
}
else
var eventListenersForEventName = eventListenersForEventNames[anEventName];
var index = eventListenersForEventName.length;
@@ -31,12 +33,13 @@ EventDispatcher.prototype.addEventListener = function(/*String*/ anEventName, /*
EventDispatcher.prototype.removeEventListener = function(/*String*/ anEventName, /*Function*/ anEventListener)
{
var eventListenersForEventName = this._eventListenersForEventNames[anEventName];
var eventListenersForEventNames = this._eventListenersForEventNames;
if (!eventListenersForEventName)
if (!hasOwnProperty.call(eventListenersForEventNames, anEventName))
return;
var index = eventListenersForEventName.length;
var eventListenersForEventName = eventListenersForEventNames[anEventName].
index = eventListenersForEventName.length;
while (index--)
if (eventListenersForEventName[index] === anEventListener)
@@ -46,13 +49,14 @@ EventDispatcher.prototype.removeEventListener = function(/*String*/ anEventName,
EventDispatcher.prototype.dispatchEvent = function(/*Event*/ anEvent)
{
var type = anEvent.type,
eventListenersForEventName = this._eventListenersForEventNames[type];
eventListenersForEventNames = this._eventListenersForEventNames;
if (eventListenersForEventName)
if (hasOwnProperty.call(eventListenersForEventNames, type))
{
var index = 0,
var eventListenersForEventName = this._eventListenersForEventNames[type],
index = 0,
count = eventListenersForEventName.length;
for (; index < count; ++index)
eventListenersForEventName[index](anEvent);
}