Changeset 65068 in webkit


Ignore:
Timestamp:
Aug 10, 2010 5:42:37 AM (14 years ago)
Author:
yurys@chromium.org
Message:

2010-08-10 Yury Semikhatsky <yurys@chromium.org>

Reviewed by Pavel Feldman.

Web Inspector, Chromium: reloading of inspected page hits assert in InspectorController::enableDebuggerFromFrontend()
https://bugs.webkit.org/show_bug.cgi?id=43780

  • inspector/CodeGeneratorInspector.pm:
  • inspector/InspectorController.cpp: (WebCore::InspectorController::enableDebuggerFromFrontend):
  • inspector/InspectorController.h: (WebCore::InspectorController::hasFrontend):
  • inspector/InspectorDebuggerAgent.cpp: (WebCore::InspectorDebuggerAgent::create): (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent): (WebCore::InspectorDebuggerAgent::setPauseOnExceptionsState): (WebCore::InspectorDebuggerAgent::didParseSource): (WebCore::InspectorDebuggerAgent::failedToParseSource): (WebCore::InspectorDebuggerAgent::didPause): (WebCore::InspectorDebuggerAgent::didContinue):
  • inspector/InspectorDebuggerAgent.h:

2010-08-10 Yury Semikhatsky <yurys@chromium.org>

Reviewed by Pavel Feldman.

Web Inspector, Chromium: reloading of inspected page hits assert in InspectorController::enableDebuggerFromFrontend()
https://bugs.webkit.org/show_bug.cgi?id=43780

  • src/WebDevToolsAgentImpl.cpp: (WebKit::WebDevToolsAgentImpl::setRuntimeFeatureEnabled):
Location:
trunk
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • trunk/WebCore/ChangeLog

    r65067 r65068  
     12010-08-10  Yury Semikhatsky  <yurys@chromium.org>
     2
     3        Reviewed by Pavel Feldman.
     4
     5        Web Inspector, Chromium: reloading of inspected page hits assert in InspectorController::enableDebuggerFromFrontend()
     6        https://bugs.webkit.org/show_bug.cgi?id=43780
     7
     8        * inspector/CodeGeneratorInspector.pm:
     9        * inspector/InspectorController.cpp:
     10        (WebCore::InspectorController::enableDebuggerFromFrontend):
     11        * inspector/InspectorController.h:
     12        (WebCore::InspectorController::hasFrontend):
     13        * inspector/InspectorDebuggerAgent.cpp:
     14        (WebCore::InspectorDebuggerAgent::create):
     15        (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
     16        (WebCore::InspectorDebuggerAgent::setPauseOnExceptionsState):
     17        (WebCore::InspectorDebuggerAgent::didParseSource):
     18        (WebCore::InspectorDebuggerAgent::failedToParseSource):
     19        (WebCore::InspectorDebuggerAgent::didPause):
     20        (WebCore::InspectorDebuggerAgent::didContinue):
     21        * inspector/InspectorDebuggerAgent.h:
     22
    1232010-08-10  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
    224
  • trunk/WebCore/inspector/CodeGeneratorInspector.pm

    r65058 r65068  
    207207    my @backendHead;
    208208    push(@backendHead, "    ${backendClassName}(InspectorController* inspectorController) : m_inspectorController(inspectorController) { }");
    209     push(@backendHead, "    RemoteInspectorFrontend* inspectorFrontend() const { return m_inspectorController->remoteInspectorFrontend(); }");
    210209    push(@backendHead, "    void reportProtocolError(const long callId, const String& method, const String& errorText) const;");
    211210    push(@backendHead, "    void dispatch(const String& message);");
     
    353352        push(@function, "");
    354353        push(@function, "    // use InspectorFrontend as a marker of WebInspector availability");
    355         push(@function, "    if (m_inspectorController->remoteInspectorFrontend()) {");
     354        push(@function, "    if (m_inspectorController->hasFrontend()) {");
    356355        push(@function, "        RefPtr<InspectorArray> arguments = InspectorArray::create();");
    357356        push(@function, "        arguments->pushString(\"processResponse\");");
  • trunk/WebCore/inspector/InspectorController.cpp

    r65053 r65068  
    16251625    ASSERT(m_inspectedPage);
    16261626
    1627     m_debuggerAgent = InspectorDebuggerAgent::create(this);
     1627    m_debuggerAgent = InspectorDebuggerAgent::create(this, m_remoteFrontend.get());
    16281628
    16291629    m_remoteFrontend->debuggerWasEnabled();
  • trunk/WebCore/inspector/InspectorController.h

    r65053 r65068  
    208208    const ResourcesMap& resources() const { return m_resources; }
    209209    InspectorResource* resourceForURL(const String& url);
    210     RemoteInspectorFrontend* remoteInspectorFrontend() { return m_remoteFrontend.get(); }
     210    bool hasFrontend() const { return m_remoteFrontend; }
    211211
    212212    void drawNodeHighlight(GraphicsContext&) const;
  • trunk/WebCore/inspector/InspectorDebuggerAgent.cpp

    r64986 r65068  
    4747}
    4848
    49 PassOwnPtr<InspectorDebuggerAgent> InspectorDebuggerAgent::create(InspectorController* inspectorController)
    50 {
    51     OwnPtr<InspectorDebuggerAgent> agent = adoptPtr(new InspectorDebuggerAgent(inspectorController));
     49PassOwnPtr<InspectorDebuggerAgent> InspectorDebuggerAgent::create(InspectorController* inspectorController, RemoteInspectorFrontend* remoteFrontend)
     50{
     51    OwnPtr<InspectorDebuggerAgent> agent = adoptPtr(new InspectorDebuggerAgent(inspectorController, remoteFrontend));
    5252    ScriptDebugServer::shared().clearBreakpoints();
    5353    ScriptDebugServer::shared().addListener(agent.get(), inspectorController->inspectedPage());
     
    5555}
    5656
    57 InspectorDebuggerAgent::InspectorDebuggerAgent(InspectorController* inspectorController)
     57InspectorDebuggerAgent::InspectorDebuggerAgent(InspectorController* inspectorController, RemoteInspectorFrontend* remoteFrontend)
    5858    : m_inspectorController(inspectorController)
     59    , m_remoteFrontend(remoteFrontend)
    5960    , m_pausedScriptState(0)
    6061    , m_breakpointsLoaded(false)
     
    167168{
    168169    ScriptDebugServer::shared().setPauseOnExceptionsState(static_cast<ScriptDebugServer::PauseOnExceptionsState>(pauseState));
    169     if (remoteFrontend())
    170         remoteFrontend()->updatePauseOnExceptionsState(ScriptDebugServer::shared().pauseOnExceptionsState());
     170    m_remoteFrontend->updatePauseOnExceptionsState(ScriptDebugServer::shared().pauseOnExceptionsState());
    171171}
    172172
     
    247247{
    248248    // Don't send script content to the front end until it's really needed.
    249     remoteFrontend()->parsedScriptSource(sourceID, url, "", firstLine, worldType);
     249    m_remoteFrontend->parsedScriptSource(sourceID, url, "", firstLine, worldType);
    250250
    251251    m_scriptIDToContent.set(sourceID, data);
     
    265265            if (!success)
    266266                continue;
    267             remoteFrontend()->restoredBreakpoint(sourceID, url, actualLineNumber, breakpointIt->second.enabled, breakpointIt->second.condition);
     267            m_remoteFrontend->restoredBreakpoint(sourceID, url, actualLineNumber, breakpointIt->second.enabled, breakpointIt->second.condition);
    268268            String breakpointId = formatBreakpointId(sourceID, actualLineNumber);
    269269            m_breakpointsMapping.set(breakpointId, lineNumber);
     
    275275void InspectorDebuggerAgent::failedToParseSource(const String& url, const String& data, int firstLine, int errorLine, const String& errorMessage)
    276276{
    277     remoteFrontend()->failedToParseScriptSource(url, data, firstLine, errorLine, errorMessage);
     277    m_remoteFrontend->failedToParseScriptSource(url, data, firstLine, errorLine, errorMessage);
    278278}
    279279
     
    283283    m_pausedScriptState = scriptState;
    284284    RefPtr<InspectorValue> callFrames = currentCallFrames();
    285     remoteFrontend()->pausedScript(callFrames.get());
     285    m_remoteFrontend->pausedScript(callFrames.get());
    286286}
    287287
     
    289289{
    290290    m_pausedScriptState = 0;
    291     remoteFrontend()->resumedScript();
    292 }
    293 
    294 RemoteInspectorFrontend* InspectorDebuggerAgent::remoteFrontend() const
    295 {
    296     return m_inspectorController->remoteInspectorFrontend();
     291    m_remoteFrontend->resumedScript();
    297292}
    298293
  • trunk/WebCore/inspector/InspectorDebuggerAgent.h

    r65021 r65068  
    4848class InspectorDebuggerAgent : public ScriptDebugListener, public Noncopyable {
    4949public:
    50     static PassOwnPtr<InspectorDebuggerAgent> create(InspectorController*);
     50    static PassOwnPtr<InspectorDebuggerAgent> create(InspectorController*, RemoteInspectorFrontend*);
    5151    virtual ~InspectorDebuggerAgent();
    5252
     
    7474
    7575private:
    76     InspectorDebuggerAgent(InspectorController*);
     76    InspectorDebuggerAgent(InspectorController*, RemoteInspectorFrontend*);
    7777
    7878    PassRefPtr<InspectorValue> currentCallFrames();
     
    8686    virtual void didContinue();
    8787
    88     RemoteInspectorFrontend* remoteFrontend() const;
    89 
    9088    InspectorController* m_inspectorController;
     89    RemoteInspectorFrontend* m_remoteFrontend;
    9190    ScriptState* m_pausedScriptState;
    9291    HashMap<String, String> m_sourceIDToURL;
  • trunk/WebKit/chromium/ChangeLog

    r65063 r65068  
     12010-08-10  Yury Semikhatsky  <yurys@chromium.org>
     2
     3        Reviewed by Pavel Feldman.
     4
     5        Web Inspector, Chromium: reloading of inspected page hits assert in InspectorController::enableDebuggerFromFrontend()
     6        https://bugs.webkit.org/show_bug.cgi?id=43780
     7
     8        * src/WebDevToolsAgentImpl.cpp:
     9        (WebKit::WebDevToolsAgentImpl::setRuntimeFeatureEnabled):
     10
    1112010-08-10  Hans Wennborg  <hans@chromium.org>
    212
  • trunk/WebKit/chromium/src/WebDevToolsAgentImpl.cpp

    r65057 r65068  
    305305        else
    306306          ic->disableResourceTracking(false /* not sticky */);
    307     } else if (feature == kFrontendConnectedFeatureName && enabled)
     307    } else if (feature == kFrontendConnectedFeatureName && enabled && !inspectorController()->hasFrontend())
    308308        frontendLoaded();
    309309}
Note: See TracChangeset for help on using the changeset viewer.