Changeset 54285 in webkit


Ignore:
Timestamp:
Feb 3, 2010 10:11:20 AM (14 years ago)
Author:
yurys@chromium.org
Message:

2010-02-03 Yury Semikhatsky <yurys@chromium.org>

Reviewed by Pavel Feldman.

Provide strongly typed C++ interface for inspector's injected script.

https://bugs.webkit.org/show_bug.cgi?id=33616

  • WebCore.gypi:
  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/JSInjectedScriptHostCustom.cpp: (WebCore::InjectedScriptHost::injectedScriptFor):
  • bindings/v8/custom/V8InjectedScriptHostCustom.cpp: (WebCore::InjectedScriptHost::injectedScriptFor):
  • inspector/InjectedScript.cpp: Added. (WebCore::InjectedScript::InjectedScript): (WebCore::InjectedScript::dispatch): (WebCore::InjectedScript::callFrames): (WebCore::InjectedScript::wrapAndStringify): (WebCore::InjectedScript::releaseWrapperObjectGroup):
  • inspector/InjectedScript.h: Added. (WebCore::InjectedScript::InjectedScript): (WebCore::InjectedScript::~InjectedScript): (WebCore::InjectedScript::hasNoValue):
  • inspector/InjectedScriptHost.cpp: (WebCore::InjectedScriptHost::injectedScriptForId): (WebCore::InjectedScriptHost::releaseWrapperObjectGroup):
  • inspector/InjectedScriptHost.h:
  • inspector/InspectorBackend.cpp: (WebCore::InspectorBackend::dispatchOnInjectedScript):
  • inspector/InspectorController.cpp: (WebCore::InspectorController::InspectorController): (WebCore::InspectorController::~InspectorController): (WebCore::InspectorController::inspectedPageDestroyed): (WebCore::InspectorController::windowScriptObjectAvailable): (WebCore::InspectorController::scriptObjectReady): (WebCore::InspectorController::setFrontendProxyObject): (WebCore::InspectorController::close): (WebCore::InspectorController::getProfile): (WebCore::InspectorController::enableDebugger): (WebCore::InspectorController::didPause): (WebCore::InspectorController::injectedScriptForNodeId):
  • inspector/InspectorController.h: (WebCore::InspectorController::frontendScriptState):
  • inspector/InspectorFrontend.cpp: (WebCore::InspectorFrontend::addConsoleMessage):
Location:
trunk/WebCore
Files:
2 added
14 edited

Legend:

Unmodified
Added
Removed
  • trunk/WebCore/ChangeLog

    r54284 r54285  
     12010-02-03  Yury Semikhatsky  <yurys@chromium.org>
     2
     3        Reviewed by Pavel Feldman.
     4
     5        Provide strongly typed C++ interface for inspector's injected script.
     6
     7        https://bugs.webkit.org/show_bug.cgi?id=33616
     8
     9        * WebCore.gypi:
     10        * WebCore.pro:
     11        * WebCore.vcproj/WebCore.vcproj:
     12        * WebCore.xcodeproj/project.pbxproj:
     13        * bindings/js/JSInjectedScriptHostCustom.cpp:
     14        (WebCore::InjectedScriptHost::injectedScriptFor):
     15        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
     16        (WebCore::InjectedScriptHost::injectedScriptFor):
     17        * inspector/InjectedScript.cpp: Added.
     18        (WebCore::InjectedScript::InjectedScript):
     19        (WebCore::InjectedScript::dispatch):
     20        (WebCore::InjectedScript::callFrames):
     21        (WebCore::InjectedScript::wrapAndStringify):
     22        (WebCore::InjectedScript::releaseWrapperObjectGroup):
     23        * inspector/InjectedScript.h: Added.
     24        (WebCore::InjectedScript::InjectedScript):
     25        (WebCore::InjectedScript::~InjectedScript):
     26        (WebCore::InjectedScript::hasNoValue):
     27        * inspector/InjectedScriptHost.cpp:
     28        (WebCore::InjectedScriptHost::injectedScriptForId):
     29        (WebCore::InjectedScriptHost::releaseWrapperObjectGroup):
     30        * inspector/InjectedScriptHost.h:
     31        * inspector/InspectorBackend.cpp:
     32        (WebCore::InspectorBackend::dispatchOnInjectedScript):
     33        * inspector/InspectorController.cpp:
     34        (WebCore::InspectorController::InspectorController):
     35        (WebCore::InspectorController::~InspectorController):
     36        (WebCore::InspectorController::inspectedPageDestroyed):
     37        (WebCore::InspectorController::windowScriptObjectAvailable):
     38        (WebCore::InspectorController::scriptObjectReady):
     39        (WebCore::InspectorController::setFrontendProxyObject):
     40        (WebCore::InspectorController::close):
     41        (WebCore::InspectorController::getProfile):
     42        (WebCore::InspectorController::enableDebugger):
     43        (WebCore::InspectorController::didPause):
     44        (WebCore::InspectorController::injectedScriptForNodeId):
     45        * inspector/InspectorController.h:
     46        (WebCore::InspectorController::frontendScriptState):
     47        * inspector/InspectorFrontend.cpp:
     48        (WebCore::InspectorFrontend::addConsoleMessage):
     49
    1502010-02-03  Andras Becsi  <abecsi@webkit.org>
    251
  • trunk/WebCore/WebCore.gypi

    r54277 r54285  
    15821582            'inspector/ConsoleMessage.cpp',
    15831583            'inspector/ConsoleMessage.h',
     1584            'inspector/InjectedScript.cpp',
     1585            'inspector/InjectedScript.h',
    15841586            'inspector/InjectedScriptHost.cpp',
    15851587            'inspector/InjectedScriptHost.h',
  • trunk/WebCore/WebCore.pro

    r54277 r54285  
    665665    html/ValidityState.cpp \
    666666    inspector/ConsoleMessage.cpp \
     667    inspector/InjectedScript.cpp \
    667668    inspector/InjectedScriptHost.cpp \
    668669    inspector/InspectorBackend.cpp \
     
    13561357    html/ValidityState.h \
    13571358    inspector/ConsoleMessage.h \
     1359    inspector/InjectedScript.h \
    13581360    inspector/InjectedScriptHost.h \
    13591361    inspector/InspectorBackend.h \
  • trunk/WebCore/WebCore.vcproj/WebCore.vcproj

    r54221 r54285  
    4255842558                        </File>
    4255942559                        <File
     42560                                RelativePath="..\inspector\InjectedScript.cpp"
     42561                                >
     42562                        </File>
     42563                        <File
     42564                                RelativePath="..\inspector\InjectedScript.h"
     42565                                >
     42566                        </File>
     42567                        <File
    4256042568                                RelativePath="..\inspector\InjectedScriptHost.cpp"
    4256142569                                >
  • trunk/WebCore/WebCore.xcodeproj/project.pbxproj

    r54277 r54285  
    48154815                EDE3A5000C7A430600956A37 /* ColorMac.h in Headers */ = {isa = PBXBuildFile; fileRef = EDE3A4FF0C7A430600956A37 /* ColorMac.h */; settings = {ATTRIBUTES = (Private, ); }; };
    48164816                EDEC98030AED7E170059137F /* WebCorePrefix.h in Headers */ = {isa = PBXBuildFile; fileRef = EDEC98020AED7E170059137F /* WebCorePrefix.h */; };
     4817                F3644AFF1119805900E0D537 /* InjectedScript.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F3644AFD1119805900E0D537 /* InjectedScript.cpp */; };
     4818                F3644B001119805900E0D537 /* InjectedScript.h in Headers */ = {isa = PBXBuildFile; fileRef = F3644AFE1119805900E0D537 /* InjectedScript.h */; };
    48174819                F4EAF4AE10C742B1009100D3 /* OpenTypeSanitizer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F4EAF4AC10C742B1009100D3 /* OpenTypeSanitizer.cpp */; };
    48184820                F4EAF4AF10C742B1009100D3 /* OpenTypeSanitizer.h in Headers */ = {isa = PBXBuildFile; fileRef = F4EAF4AD10C742B1009100D3 /* OpenTypeSanitizer.h */; };
     
    1009410096                EDE3A4FF0C7A430600956A37 /* ColorMac.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ColorMac.h; sourceTree = "<group>"; };
    1009510097                EDEC98020AED7E170059137F /* WebCorePrefix.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = WebCorePrefix.h; sourceTree = "<group>"; tabWidth = 4; usesTabs = 0; };
     10098                F3644AFD1119805900E0D537 /* InjectedScript.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InjectedScript.cpp; sourceTree = "<group>"; };
     10099                F3644AFE1119805900E0D537 /* InjectedScript.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InjectedScript.h; sourceTree = "<group>"; };
    1009610100                F4EAF4AC10C742B1009100D3 /* OpenTypeSanitizer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = OpenTypeSanitizer.cpp; path = opentype/OpenTypeSanitizer.cpp; sourceTree = "<group>"; };
    1009710101                F4EAF4AD10C742B1009100D3 /* OpenTypeSanitizer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = OpenTypeSanitizer.h; path = opentype/OpenTypeSanitizer.h; sourceTree = "<group>"; };
     
    1059310597                                41F0618D0F5F069800A07EAC /* ConsoleMessage.cpp */,
    1059410598                                41F0618C0F5F069800A07EAC /* ConsoleMessage.h */,
     10599                                F3644AFD1119805900E0D537 /* InjectedScript.cpp */,
     10600                                F3644AFE1119805900E0D537 /* InjectedScript.h */,
    1059510601                                7A0E76F610BF08ED00A0276E /* InjectedScriptHost.cpp */,
    1059610602                                7A0E76F710BF08ED00A0276E /* InjectedScriptHost.h */,
     
    1849418500                                93F199ED08245E59001E9ABC /* XSLTProcessor.h in Headers */,
    1849518501                                E1BE512E0CF6C512002EA959 /* XSLTUnicodeSort.h in Headers */,
     18502                                F3644B001119805900E0D537 /* InjectedScript.h in Headers */,
    1849618503                                97DD4D870FDF4D6E00ECF9A4 /* XSSAuditor.h in Headers */,
    1849718504                                84D0C4061115F1EA0018AA34 /* AffineTransform.h in Headers */,
     
    2067020677                                E1F1E82F0C3C2BB9006DB391 /* XSLTExtensions.cpp in Sources */,
    2067120678                                93F19B0408245E59001E9ABC /* XSLTProcessor.cpp in Sources */,
     20679                                F3644AFF1119805900E0D537 /* InjectedScript.cpp in Sources */,
    2067220680                                93F19B0508245E59001E9ABC /* XSLTProcessorLibxslt.cpp in Sources */,
    2067320681                                E1BE512D0CF6C512002EA959 /* XSLTUnicodeSort.cpp in Sources */,
  • trunk/WebCore/bindings/js/JSInjectedScriptHostCustom.cpp

    r53993 r54285  
    4444#include "Frame.h"
    4545#include "FrameLoader.h"
     46#include "InjectedScript.h"
    4647#include "InjectedScriptHost.h"
    4748#include "InspectorController.h"
     
    195196#endif
    196197
    197 ScriptObject InjectedScriptHost::injectedScriptFor(ScriptState* scriptState)
     198InjectedScript InjectedScriptHost::injectedScriptFor(ScriptState* scriptState)
    198199{
    199200    JSLock lock(SilenceAssertionsOnly);
     
    201202    JSObject* injectedScript = globalObject->injectedScript();
    202203    if (injectedScript)
    203         return ScriptObject(scriptState, injectedScript);
     204        return InjectedScript(ScriptObject(scriptState, injectedScript));
    204205
    205206    ASSERT(!m_injectedScriptSource.isEmpty());
    206207    ScriptObject injectedScriptObject = createInjectedScript(m_injectedScriptSource, this, scriptState, m_nextInjectedScriptId);
    207208    globalObject->setInjectedScript(injectedScriptObject.jsObject());
    208     m_idToInjectedScript.set(m_nextInjectedScriptId, injectedScriptObject);
     209    InjectedScript result(injectedScriptObject);
     210    m_idToInjectedScript.set(m_nextInjectedScriptId, result);
    209211    m_nextInjectedScriptId++;
    210     return injectedScriptObject;
     212    return result;
    211213}
    212214
  • trunk/WebCore/bindings/v8/custom/V8InjectedScriptHostCustom.cpp

    r54278 r54285  
    3535#include "Database.h"
    3636#include "Frame.h"
     37#include "InjectedScript.h"
    3738#include "InjectedScriptHost.h"
    3839#include "InspectorController.h"
     
    195196#endif
    196197
    197 ScriptObject InjectedScriptHost::injectedScriptFor(ScriptState* inspectedScriptState)
     198InjectedScript InjectedScriptHost::injectedScriptFor(ScriptState* inspectedScriptState)
    198199{
    199200    v8::HandleScope handleScope;
     
    209210    v8::Local<v8::Value> val = global->GetHiddenValue(key);
    210211    if (!val.IsEmpty() && val->IsObject())
    211         return ScriptObject(inspectedScriptState, v8::Local<v8::Object>::Cast(val));
     212        return InjectedScript(ScriptObject(inspectedScriptState, v8::Local<v8::Object>::Cast(val)));
    212213
    213214    ASSERT(!m_injectedScriptSource.isEmpty());
    214215    ScriptObject injectedScriptObject = createInjectedScript(m_injectedScriptSource, this, inspectedScriptState, m_nextInjectedScriptId);
    215     m_idToInjectedScript.set(m_nextInjectedScriptId, injectedScriptObject);
     216    InjectedScript result(injectedScriptObject);
     217    m_idToInjectedScript.set(m_nextInjectedScriptId, result);
    216218    ++m_nextInjectedScriptId;
    217219    global->SetHiddenValue(key, injectedScriptObject.v8Object());
    218     return injectedScriptObject;
     220    return result;
    219221}
    220222
  • trunk/WebCore/inspector/InjectedScriptHost.cpp

    r53766 r54285  
    3939#include "FrameLoader.h"
    4040#include "HTMLFrameOwnerElement.h"
     41#include "InjectedScript.h"
    4142#include "InspectorClient.h"
    4243#include "InspectorController.h"
     
    168169}
    169170
    170 ScriptObject InjectedScriptHost::injectedScriptForId(long id)
     171InjectedScript InjectedScriptHost::injectedScriptForId(long id)
    171172{
    172173    return m_idToInjectedScript.get(id);
     
    181182{
    182183    if (injectedScriptId) {
    183          ScriptObject injectedScript = m_idToInjectedScript.get(injectedScriptId);
     184         InjectedScript injectedScript = m_idToInjectedScript.get(injectedScriptId);
    184185         if (!injectedScript.hasNoValue())
    185              releaseWrapperObjectGroup(injectedScript, objectGroup);
     186             injectedScript.releaseWrapperObjectGroup(objectGroup);
    186187    } else {
    187188         // Iterate over all injected scripts if injectedScriptId is not specified.
    188189         for (IdToInjectedScriptMap::iterator it = m_idToInjectedScript.begin(); it != m_idToInjectedScript.end(); ++it)
    189               releaseWrapperObjectGroup(it->second, objectGroup);
     190              it->second.releaseWrapperObjectGroup(objectGroup);
    190191    }
    191192}
     
    205206}
    206207
    207 void InjectedScriptHost::releaseWrapperObjectGroup(const ScriptObject& injectedScript, const String& objectGroup)
    208 {
    209     ScriptFunctionCall releaseFunction(injectedScript.scriptState(), injectedScript, "releaseWrapperObjectGroup");
    210     releaseFunction.appendArgument(objectGroup);
    211     releaseFunction.call();
    212 }
    213 
    214208} // namespace WebCore
    215209
  • trunk/WebCore/inspector/InjectedScriptHost.h

    r53766 r54285  
    4242
    4343class Database;
     44class InjectedScript;
    4445class InspectorDOMAgent;
    4546class InspectorFrontend;
     
    8485    void reportDidDispatchOnInjectedScript(long callId, const String& result, bool isException);
    8586
    86     ScriptObject injectedScriptFor(ScriptState*);
    87     ScriptObject injectedScriptForId(long);
     87    InjectedScript injectedScriptFor(ScriptState*);
     88    InjectedScript injectedScriptForId(long);
    8889    void discardInjectedScripts();
    8990    void releaseWrapperObjectGroup(long injectedScriptId, const String& objectGroup);
     
    9495    InspectorFrontend* inspectorFrontend();
    9596
    96     void releaseWrapperObjectGroup(const ScriptObject& injectedScript, const String& objectGroup);
    97 
    9897    InspectorController* m_inspectorController;
    9998    String m_injectedScriptSource;
    10099    long m_nextInjectedScriptId;
    101     typedef HashMap<long, ScriptObject> IdToInjectedScriptMap;
     100    typedef HashMap<long, InjectedScript> IdToInjectedScriptMap;
    102101    IdToInjectedScriptMap m_idToInjectedScript;
    103102};
  • trunk/WebCore/inspector/InspectorBackend.cpp

    r53855 r54285  
    4141#include "FrameLoader.h"
    4242#include "HTMLFrameOwnerElement.h"
     43#include "InjectedScript.h"
    4344#include "InjectedScriptHost.h"
    4445#include "InspectorClient.h"
     
    286287    bool injectedScriptIdIsNodeId = injectedScriptId <= 0;
    287288
    288     ScriptObject injectedScript;
     289    InjectedScript injectedScript;
    289290    if (injectedScriptIdIsNodeId)
    290291        injectedScript = m_inspectorController->injectedScriptForNodeId(-injectedScriptId);
     
    295296        return;
    296297
    297     ScriptFunctionCall function(injectedScript.scriptState(), injectedScript, "dispatch");
    298     function.appendArgument(methodName);
    299     function.appendArgument(arguments);
    300     if (async)
    301         function.appendArgument(callId);
     298    String result;
    302299    bool hadException = false;
    303     ScriptValue result = function.call(hadException);
     300    injectedScript.dispatch(callId, methodName, arguments, async, &result, &hadException);
    304301    if (async)
    305302        return;  // InjectedScript will return result asynchronously by means of ::reportDidDispatchOnInjectedScript.
    306     if (hadException)
    307         frontend->didDispatchOnInjectedScript(callId, "", true);
    308     else
    309         frontend->didDispatchOnInjectedScript(callId, result.toString(injectedScript.scriptState()), false);
     303    frontend->didDispatchOnInjectedScript(callId, result, hadException);
    310304}
    311305
  • trunk/WebCore/inspector/InspectorController.cpp

    r54277 r54285  
    5555#include "HitTestResult.h"
    5656#include "InjectedScriptHost.h"
     57#include "InjectedScript.h"
    5758#include "InspectorBackend.h"
    5859#include "InspectorClient.h"
     
    132133    , m_page(0)
    133134    , m_expiredConsoleMessageCount(0)
    134     , m_scriptState(0)
     135    , m_frontendScriptState(0)
    135136    , m_windowVisible(false)
    136137    , m_showAfterVisible(CurrentPanel)
     
    162163    // These should have been cleared in inspectedPageDestroyed().
    163164    ASSERT(!m_client);
    164     ASSERT(!m_scriptState);
     165    ASSERT(!m_frontendScriptState);
    165166    ASSERT(!m_inspectedPage);
    166167    ASSERT(!m_page || (m_page && !m_page->parentInspectorController()));
     
    183184    close();
    184185
    185     if (m_scriptState) {
    186         ScriptGlobalObject::remove(m_scriptState, "InspectorBackend");
    187         ScriptGlobalObject::remove(m_scriptState, "InspectorFrontendHost");
    188         ScriptGlobalObject::remove(m_scriptState, "InjectedScriptHost");
     186    if (m_frontendScriptState) {
     187        ScriptGlobalObject::remove(m_frontendScriptState, "InspectorBackend");
     188        ScriptGlobalObject::remove(m_frontendScriptState, "InspectorFrontendHost");
    189189    }
    190190    ASSERT(m_inspectedPage);
     
    509509    // Grant the inspector the ability to script the inspected page.
    510510    m_page->mainFrame()->document()->securityOrigin()->grantUniversalAccess();
    511     m_scriptState = scriptStateFromPage(debuggerWorld(), m_page);
    512     ScriptGlobalObject::set(m_scriptState, "InspectorBackend", m_inspectorBackend.get());
    513     ScriptGlobalObject::set(m_scriptState, "InspectorFrontendHost", m_inspectorFrontendHost.get());
     511    m_frontendScriptState = scriptStateFromPage(debuggerWorld(), m_page);
     512    ScriptGlobalObject::set(m_frontendScriptState, "InspectorBackend", m_inspectorBackend.get());
     513    ScriptGlobalObject::set(m_frontendScriptState, "InspectorFrontendHost", m_inspectorFrontendHost.get());
    514514}
    515515
    516516void InspectorController::scriptObjectReady()
    517517{
    518     ASSERT(m_scriptState);
    519     if (!m_scriptState)
     518    ASSERT(m_frontendScriptState);
     519    if (!m_frontendScriptState)
    520520        return;
    521521
    522522    ScriptObject webInspectorObj;
    523     if (!ScriptGlobalObject::get(m_scriptState, "WebInspector", webInspectorObj))
    524         return;
    525     ScriptObject injectedScriptObj;
    526     setFrontendProxyObject(m_scriptState, webInspectorObj, injectedScriptObj);
     523    if (!ScriptGlobalObject::get(m_frontendScriptState, "WebInspector", webInspectorObj))
     524        return;
     525    setFrontendProxyObject(m_frontendScriptState, webInspectorObj);
    527526
    528527#if ENABLE(JAVASCRIPT_DEBUGGER)
     
    543542void InspectorController::setFrontendProxyObject(ScriptState* scriptState, ScriptObject webInspectorObj, ScriptObject)
    544543{
    545     m_scriptState = scriptState;
     544    m_frontendScriptState = scriptState;
    546545    m_frontend.set(new InspectorFrontend(this, scriptState, webInspectorObj));
    547546    releaseDOMAgent();
     
    604603    m_frontend.set(0);
    605604    m_timelineAgent = 0;
    606     m_scriptState = 0;
     605    m_frontendScriptState = 0;
    607606    if (m_page) {
    608607        if (!m_page->mainFrame() || !m_page->mainFrame()->loader() || !m_page->mainFrame()->loader()->isLoading()) {
     
    13931392    ProfilesMap::iterator it = m_profiles.find(uid);
    13941393    if (it != m_profiles.end())
    1395         m_frontend->didGetProfile(callId, toJS(m_scriptState, it->second.get()));
     1394        m_frontend->didGetProfile(callId, toJS(m_frontendScriptState, it->second.get()));
    13961395}
    13971396
     
    15191518        return;
    15201519
    1521     if (!m_scriptState || !m_frontend)
     1520    if (!m_frontendScriptState || !m_frontend)
    15221521        m_attachDebuggerWhenShown = true;
    15231522    else {
     
    15701569    ScriptState* scriptState = callFrame->scopeChain()->globalObject->globalExec();
    15711570    ASSERT(scriptState);
    1572     ScriptObject injectedScriptObj = m_injectedScriptHost->injectedScriptFor(scriptState);
    1573     ScriptFunctionCall function(scriptState, injectedScriptObj, "getCallFrames");
    1574     ScriptValue callFramesValue = function.call();
    1575     String callFrames = callFramesValue.toString(scriptState);
    1576 
     1571    InjectedScript injectedScript = m_injectedScriptHost->injectedScriptFor(scriptState);
     1572    String callFrames = injectedScript.callFrames();
    15771573    m_frontend->pausedScript(callFrames);
    15781574}
     
    18111807}
    18121808
    1813 ScriptObject InspectorController::injectedScriptForNodeId(long id)
     1809InjectedScript InspectorController::injectedScriptForNodeId(long id)
    18141810{
    18151811
     
    18291825        return m_injectedScriptHost->injectedScriptFor(mainWorldScriptState(frame));
    18301826
    1831     return ScriptObject();
     1827    return InjectedScript();
    18321828}
    18331829
  • trunk/WebCore/inspector/InspectorController.h

    r54277 r54285  
    6565class GraphicsContext;
    6666class HitTestResult;
     67class InjectedScript;
    6768class InjectedScriptHost;
    6869class InspectorBackend;
     
    158159
    159160    void setFrontendProxyObject(ScriptState* state, ScriptObject webInspectorObj, ScriptObject injectedScriptObj = ScriptObject());
    160     ScriptState* frontendScriptState() const { return m_scriptState; }
     161    ScriptState* frontendScriptState() const { return m_frontendScriptState; }
    161162
    162163    void populateScriptObjects();
     
    249250    void evaluateForTestInFrontend(long callId, const String& script);
    250251
    251     ScriptObject injectedScriptForNodeId(long id);
     252    InjectedScript injectedScriptForNodeId(long id);
    252253
    253254private:
     
    329330    DOMStorageResourcesMap m_domStorageResources;
    330331#endif
    331     ScriptState* m_scriptState;
     332    ScriptState* m_frontendScriptState;
    332333    bool m_windowVisible;
    333334    SpecialPanels m_showAfterVisible;
  • trunk/WebCore/inspector/InspectorFrontend.cpp

    r53855 r54285  
    3535#include "ConsoleMessage.h"
    3636#include "Frame.h"
     37#include "InjectedScript.h"
    3738#include "InjectedScriptHost.h"
    3839#include "InspectorController.h"
     
    106107    } else if (!arguments.isEmpty()) {
    107108        function.appendArgument(true);
    108         ScriptObject injectedScript = m_inspectorController->injectedScriptHost()->injectedScriptFor(scriptState);
     109        InjectedScript injectedScript = m_inspectorController->injectedScriptHost()->injectedScriptFor(scriptState);
    109110        for (unsigned i = 0; i < arguments.size(); ++i) {
    110             ScriptFunctionCall wrapFunction(scriptState, injectedScript, "wrapAndStringifyObject");
    111             wrapFunction.appendArgument(arguments[i]);
    112             wrapFunction.appendArgument("console");
    113             ScriptValue r = wrapFunction.call();
    114             if (r.hasNoValue())
    115                 return;
    116             String s = r.toString(scriptState);
     111            String s = injectedScript.wrapAndStringifyForConsole(arguments[i]);
    117112            function.appendArgument(s);
    118113        }
  • trunk/WebCore/inspector/front-end/InjectedScript.js

    r53945 r54285  
    924924}
    925925
    926 InjectedScript.getCallFrames = function()
     926InjectedScript.callFrames = function()
    927927{
    928928    var callFrame = InjectedScriptHost.currentCallFrame();
Note: See TracChangeset for help on using the changeset viewer.