Ignore:
Timestamp:
May 23, 2010, 7:15:02 PM (15 years ago)
Author:
[email protected]
Message:

Fix for https://bugs.webkit.org/show_bug.cgi?id=39575
Make JS DOMObject inherit from JSObjectWithGlobalObject instead of JSObject

Reviewed by Oliver Hunt.

JavaScriptCore:

Expose the global object stored in JSObjectWithGlobalObject.

(JSC::JSObjectWithGlobalObject::JSObjectWithGlobalObject):
(JSC::JSObjectWithGlobalObject::globalObject):

  • runtime/JSObjectWithGlobalObject.h:

WebCore:

  • Changes JSDOMWindowShell to inherit from JSObject instead of DOMObject since it doesn't ever go into any DOMObject tables. In a separate change, we may want to make this inherit from JSObjectWithGlobalObject since JSDOMWindowShell does store a global object pointer.
  • Change DOMObject to inherit from JSObjectWithGlobalObject instead of JSObject. In this change I am keeping around DOMObjectWithGlobalPointer, which now just uses the capabilities of JSObjectWithGlobalObject instead of implementing them itself. DOMObjectWithGlobalPointer will go away in a subsequent patch.
  • bindings/js/JSDOMBinding.h:

(WebCore::DOMObjectWithGlobalPointer::globalObject):
(WebCore::DOMObjectWithGlobalPointer::DOMObjectWithGlobalPointer):

  • bindings/js/JSDOMWindowShell.h:
  • bindings/js/JSDOMWrapper.h:

(WebCore::DOMObject::DOMObject):

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj

    r59969 r60057  
    320320                A7B48F490EE8936F00DCBDB6 /* ExecutableAllocator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A7B48DB60EE74CFC00DCBDB6 /* ExecutableAllocator.cpp */; };
    321321                A7C1E8E4112E72EF00A37F98 /* JITPropertyAccess32_64.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A7C1E8C8112E701C00A37F98 /* JITPropertyAccess32_64.cpp */; };
    322                 A7C2217810C7479400F97913 /* JSZombie.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A7C2216B10C7469C00F97913 /* JSZombie.cpp */; };
    323322                A7C530E4102A3813005BC741 /* MarkStackPosix.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A7C530E3102A3813005BC741 /* MarkStackPosix.cpp */; };
    324323                A7D649AA1015224E009B2E1B /* PossiblyNull.h in Headers */ = {isa = PBXBuildFile; fileRef = A7D649A91015224E009B2E1B /* PossiblyNull.h */; settings = {ATTRIBUTES = (Private, ); }; };
     
    329328                A7FB60A4103F7DC20017A286 /* PropertyDescriptor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A7FB60A3103F7DC20017A286 /* PropertyDescriptor.cpp */; };
    330329                A7FB61001040C38B0017A286 /* PropertyDescriptor.h in Headers */ = {isa = PBXBuildFile; fileRef = A7FB604B103F5EAB0017A286 /* PropertyDescriptor.h */; settings = {ATTRIBUTES = (Private, ); }; };
     330                BC01D4F111A8F1FF00A54B2A /* JSZombie.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC01D4EF11A8F1FF00A54B2A /* JSZombie.cpp */; };
     331                BC01D4F211A8F1FF00A54B2A /* JSZombie.h in Headers */ = {isa = PBXBuildFile; fileRef = BC01D4F011A8F1FF00A54B2A /* JSZombie.h */; };
    331332                BC02E90D0E1839DB000F9297 /* ErrorConstructor.h in Headers */ = {isa = PBXBuildFile; fileRef = BC02E9050E1839DB000F9297 /* ErrorConstructor.h */; };
    332333                BC02E90F0E1839DB000F9297 /* ErrorPrototype.h in Headers */ = {isa = PBXBuildFile; fileRef = BC02E9070E1839DB000F9297 /* ErrorPrototype.h */; };
     
    915916                A7B48DB60EE74CFC00DCBDB6 /* ExecutableAllocator.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ExecutableAllocator.cpp; sourceTree = "<group>"; };
    916917                A7C1E8C8112E701C00A37F98 /* JITPropertyAccess32_64.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JITPropertyAccess32_64.cpp; sourceTree = "<group>"; };
    917                 A7C2216810C745E000F97913 /* JSZombie.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSZombie.h; sourceTree = "<group>"; };
    918                 A7C2216B10C7469C00F97913 /* JSZombie.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSZombie.cpp; sourceTree = "<group>"; };
    919918                A7C530E3102A3813005BC741 /* MarkStackPosix.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MarkStackPosix.cpp; sourceTree = "<group>"; };
    920919                A7D649A91015224E009B2E1B /* PossiblyNull.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PossiblyNull.h; sourceTree = "<group>"; };
     
    931930                A8E894310CD0602400367179 /* JSCallbackObjectFunctions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSCallbackObjectFunctions.h; sourceTree = "<group>"; };
    932931                A8E894330CD0603F00367179 /* JSGlobalObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSGlobalObject.h; sourceTree = "<group>"; };
     932                BC01D4EF11A8F1FF00A54B2A /* JSZombie.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSZombie.cpp; sourceTree = "<group>"; };
     933                BC01D4F011A8F1FF00A54B2A /* JSZombie.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSZombie.h; sourceTree = "<group>"; };
    933934                BC02E9040E1839DB000F9297 /* ErrorConstructor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ErrorConstructor.cpp; sourceTree = "<group>"; };
    934935                BC02E9050E1839DB000F9297 /* ErrorConstructor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ErrorConstructor.h; sourceTree = "<group>"; };
     
    16211622                                BC22A3980E16E14800AF21C8 /* JSObject.cpp */,
    16221623                                BC22A3990E16E14800AF21C8 /* JSObject.h */,
     1624                                A783A2AA11A5BE8400563D20 /* JSObjectWithGlobalObject.cpp */,
     1625                                A783A0D011A36DCA00563D20 /* JSObjectWithGlobalObject.h */,
    16231626                                A7F9935E0FD7325100A0B2D0 /* JSONObject.cpp */,
    16241627                                A7F9935D0FD7325100A0B2D0 /* JSONObject.h */,
     
    16381641                                65C7A1710A8EAACB00FA37EA /* JSWrapperObject.cpp */,
    16391642                                65C7A1720A8EAACB00FA37EA /* JSWrapperObject.h */,
    1640                                 A7C2216B10C7469C00F97913 /* JSZombie.cpp */,
    1641                                 A7C2216B10C7469C00F97913 /* JSZombie.cpp */,
    1642                                 A7C2216810C745E000F97913 /* JSZombie.h */,
    1643                                 A7C2216810C745E000F97913 /* JSZombie.h */,
     1643                                BC01D4EF11A8F1FF00A54B2A /* JSZombie.cpp */,
     1644                                BC01D4F011A8F1FF00A54B2A /* JSZombie.h */,
    16441645                                A7E2EA6A0FB460CF00601F06 /* LiteralParser.cpp */,
    16451646                                A7E2EA690FB460CF00601F06 /* LiteralParser.h */,
     
    17211722                                14035DB010DBFB2A00FFFFE7 /* WeakGCPtr.h */,
    17221723                                1420BE7A10AA6DDB00F455D2 /* WeakRandom.h */,
    1723                                 A783A0D011A36DCA00563D20 /* JSObjectWithGlobalObject.h */,
    1724                                 A783A2AA11A5BE8400563D20 /* JSObjectWithGlobalObject.cpp */,
    17251724                        );
    17261725                        path = runtime;
     
    21612160                                86C568E211A213EE0007F7F0 /* MIPSAssembler.h in Headers */,
    21622161                                A783A0D111A36DCA00563D20 /* JSObjectWithGlobalObject.h in Headers */,
     2162                                BC01D4F211A8F1FF00A54B2A /* JSZombie.h in Headers */,
    21632163                        );
    21642164                        runOnlyForDeploymentPostprocessing = 0;
     
    25362536                                147F39D7107EC37600427A48 /* JSVariableObject.cpp in Sources */,
    25372537                                14280870107EC1340013E7B2 /* JSWrapperObject.cpp in Sources */,
    2538                                 A7C2217810C7479400F97913 /* JSZombie.cpp in Sources */,
    25392538                                BCFD8C920EEB2EE700283848 /* JumpTable.cpp in Sources */,
    25402539                                148F21B0107EC5410042EC2C /* Lexer.cpp in Sources */,
     
    26172616                                146FE51211A710430087AE66 /* JITCall32_64.cpp in Sources */,
    26182617                                A783A2AB11A5BE8400563D20 /* JSObjectWithGlobalObject.cpp in Sources */,
     2618                                BC01D4F111A8F1FF00A54B2A /* JSZombie.cpp in Sources */,
    26192619                        );
    26202620                        runOnlyForDeploymentPostprocessing = 0;
Note: See TracChangeset for help on using the changeset viewer.