Subj : Re: Class protection from multiple script execution using the same To : Matthew Mondor From : Brendan Eich Date : Thu Jul 22 2004 12:21 pm In brief: - JSClass.addProperty will be called when a property is created in an object. That includes the case where you predefine a property on a class prototype, but override the property by setting it in an instance that delegates to that prototype. If you don't want that "shadowing" property to be created, you might use JSPROP_SHARED. - JS_SealObject can be used to make an object, or an arbitrary graph of objects, immutable. If you want to seal an object graph, you need not only to pass JS_TRUE for the |deep| parameter, but you must also isolate the graph from all other objects, by creating the entire object graph on a dummy context. /be .