Ignore:
Timestamp:
Jan 28, 2009, 2:54:21 PM (16 years ago)
Author:
[email protected]
Message:

JavaScriptCore:

2009-01-28 Sam Weinig <[email protected]>

Reviewed by Geoff Garen.

Fix for <rdar://problem/6129678>
REGRESSION (Safari 3-4): Local variable not accessible from Dashcode console or variables view

Iterating the properties of activation objects accessed through the WebKit debugging
APIs was broken by forced conversion of JSActivation to the global object. To fix this,
we use a proxy activation object that acts more like a normal JSObject.

  • debugger/DebuggerActivation.cpp: Added. (JSC::DebuggerActivation::DebuggerActivation): (JSC::DebuggerActivation::mark): (JSC::DebuggerActivation::className): (JSC::DebuggerActivation::getOwnPropertySlot): (JSC::DebuggerActivation::put): (JSC::DebuggerActivation::putWithAttributes): (JSC::DebuggerActivation::deleteProperty): (JSC::DebuggerActivation::getPropertyNames): (JSC::DebuggerActivation::getPropertyAttributes): (JSC::DebuggerActivation::defineGetter): (JSC::DebuggerActivation::defineSetter): (JSC::DebuggerActivation::lookupGetter): (JSC::DebuggerActivation::lookupSetter):
  • debugger/DebuggerActivation.h: Added. Proxy JSActivation object for Debugging.
  • runtime/JSActivation.h: (JSC::JSActivation::isActivationObject): Added.
  • runtime/JSObject.h: (JSC::JSObject::isActivationObject): Added.

WebCore:

2009-01-28 Sam Weinig <[email protected]>

Reviewed by Geoff Garen.

Add forwarding header.

  • ForwardingHeaders/debugger/DebuggerActivation.h: Added.

WebKit/mac:

2009-01-28 Sam Weinig <[email protected]>

Reviewed by Geoff Garen.

Fix for <rdar://problem/6129678>
REGRESSION (Safari 3-4): Local variable not accessible from Dashcode console or variables view

  • WebView/WebScriptDebugDelegate.mm: (-[WebScriptCallFrame scopeChain]): Wrap JSActivations in DebuggerActivations.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/JavaScriptCore/JavaScriptCore.exp

    r40274 r40332  
    144144__ZN3JSC15JSWrapperObject4markEv
    145145__ZN3JSC15toInt32SlowCaseEdRb
    146 __ZN3JSC16toUInt32SlowCaseEdRb
    147146__ZN3JSC16FunctionBodyNode13finishParsingEPNS_10IdentifierEm
    148147__ZN3JSC16FunctionBodyNode14copyParametersEv
     
    155154__ZN3JSC16ParserRefCounted3refEv
    156155__ZN3JSC16ParserRefCounted5derefEv
     156__ZN3JSC16toUInt32SlowCaseEdRb
    157157__ZN3JSC17BytecodeGenerator21setDumpsGeneratedCodeEb
    158158__ZN3JSC17PropertyNameArray3addEPNS_7UString3RepE
     
    160160__ZN3JSC17PrototypeFunctionC1EPNS_9ExecStateEiRKNS_10IdentifierEPFNS_10JSValuePtrES2_PNS_8JSObjectES6_RKNS_7ArgListEE
    161161__ZN3JSC17constructFunctionEPNS_9ExecStateERKNS_7ArgListERKNS_10IdentifierERKNS_7UStringEi
     162__ZN3JSC18DebuggerActivationC1EPNS_8JSObjectE
    162163__ZN3JSC19constructEmptyArrayEPNS_9ExecStateE
    163164__ZN3JSC19initializeThreadingEv
Note: See TracChangeset for help on using the changeset viewer.