41
41
#include "InspectorAgent.h"
42
42
#include "InspectorApplicationCacheAgent.h"
43
43
#include "InspectorBrowserDebuggerAgent.h"
44
#include "InspectorCSSAgent.h"
44
45
#include "InspectorConsoleAgent.h"
45
46
#include "InspectorDatabaseAgent.h"
46
47
#include "InspectorDOMAgent.h"
102
103
void InspectorInstrumentation::willInsertDOMNodeImpl(InspectorAgent* inspectorAgent, Node* node, Node* parent)
104
105
#if ENABLE(JAVASCRIPT_DEBUGGER)
105
if (InspectorBrowserDebuggerAgent* browserDebuggerAgent = inspectorAgent->browserDebuggerAgent())
106
if (InspectorBrowserDebuggerAgent* browserDebuggerAgent = inspectorAgent->instrumentingAgents()->inspectorBrowserDebuggerAgent())
106
107
browserDebuggerAgent->willInsertDOMNode(node, parent);
112
113
if (InspectorDOMAgent* domAgent = inspectorAgent->domAgent())
113
114
domAgent->didInsertDOMNode(node);
114
115
#if ENABLE(JAVASCRIPT_DEBUGGER)
115
if (InspectorBrowserDebuggerAgent* browserDebuggerAgent = inspectorAgent->browserDebuggerAgent())
116
if (InspectorBrowserDebuggerAgent* browserDebuggerAgent = inspectorAgent->instrumentingAgents()->inspectorBrowserDebuggerAgent())
116
117
browserDebuggerAgent->didInsertDOMNode(node);
120
121
void InspectorInstrumentation::willRemoveDOMNodeImpl(InspectorAgent* inspectorAgent, Node* node)
122
123
#if ENABLE(JAVASCRIPT_DEBUGGER)
123
if (InspectorBrowserDebuggerAgent* browserDebuggerAgent = inspectorAgent->browserDebuggerAgent())
124
if (InspectorBrowserDebuggerAgent* browserDebuggerAgent = inspectorAgent->instrumentingAgents()->inspectorBrowserDebuggerAgent())
124
125
browserDebuggerAgent->willRemoveDOMNode(node);
128
129
void InspectorInstrumentation::didRemoveDOMNodeImpl(InspectorAgent* inspectorAgent, Node* node)
130
131
#if ENABLE(JAVASCRIPT_DEBUGGER)
131
if (InspectorBrowserDebuggerAgent* browserDebuggerAgent = inspectorAgent->browserDebuggerAgent())
132
if (InspectorBrowserDebuggerAgent* browserDebuggerAgent = inspectorAgent->instrumentingAgents()->inspectorBrowserDebuggerAgent())
132
133
browserDebuggerAgent->didRemoveDOMNode(node);
134
135
if (InspectorDOMAgent* domAgent = inspectorAgent->domAgent())
138
139
void InspectorInstrumentation::willModifyDOMAttrImpl(InspectorAgent* inspectorAgent, Element* element)
140
141
#if ENABLE(JAVASCRIPT_DEBUGGER)
141
if (InspectorBrowserDebuggerAgent* browserDebuggerAgent = inspectorAgent->browserDebuggerAgent())
142
if (InspectorBrowserDebuggerAgent* browserDebuggerAgent = inspectorAgent->instrumentingAgents()->inspectorBrowserDebuggerAgent())
142
143
browserDebuggerAgent->willModifyDOMAttr(element);
174
175
void InspectorInstrumentation::willSendXMLHttpRequestImpl(InspectorAgent* inspectorAgent, const String& url)
176
177
#if ENABLE(JAVASCRIPT_DEBUGGER)
177
if (InspectorBrowserDebuggerAgent* browserDebuggerAgent = inspectorAgent->browserDebuggerAgent())
178
if (InspectorBrowserDebuggerAgent* browserDebuggerAgent = inspectorAgent->instrumentingAgents()->inspectorBrowserDebuggerAgent())
178
179
browserDebuggerAgent->willSendXMLHttpRequest(url);
448
449
void InspectorInstrumentation::didReceiveResourceResponseImpl(const InspectorInstrumentationCookie& cookie, unsigned long identifier, DocumentLoader* loader, const ResourceResponse& response)
450
InspectorAgent* inspectorAgent = cookie.first;
451
if (InspectorResourceAgent* resourceAgent = retrieveResourceAgent(inspectorAgent))
452
resourceAgent->didReceiveResponse(identifier, loader, response);
453
inspectorAgent->consoleAgent()->didReceiveResponse(identifier, response);
454
451
if (InspectorTimelineAgent* timelineAgent = retrieveTimelineAgent(cookie))
455
452
timelineAgent->didReceiveResourceResponse();
455
if (InspectorAgent* inspectorAgent = inspectorAgentForFrame(loader->frame())) {
456
if (InspectorResourceAgent* resourceAgent = retrieveResourceAgent(inspectorAgent))
457
resourceAgent->didReceiveResponse(identifier, loader, response);
458
inspectorAgent->consoleAgent()->didReceiveResponse(identifier, response); // This should come AFTER resource notification, front-end relies on this.
458
462
void InspectorInstrumentation::didReceiveContentLengthImpl(InspectorAgent* inspectorAgent, unsigned long identifier, int lengthReceived)
472
476
void InspectorInstrumentation::didFailLoadingImpl(InspectorAgent* inspectorAgent, unsigned long identifier, const ResourceError& error)
474
inspectorAgent->consoleAgent()->didFailLoading(identifier, error);
475
478
if (InspectorTimelineAgent* timelineAgent = retrieveTimelineAgent(inspectorAgent))
476
479
timelineAgent->didFinishLoadingResource(identifier, true, 0);
477
480
if (InspectorResourceAgent* resourceAgent = retrieveResourceAgent(inspectorAgent))
478
481
resourceAgent->didFailLoading(identifier, error);
482
inspectorAgent->consoleAgent()->didFailLoading(identifier, error); // This should come AFTER resource notification, front-end relies on this.
481
485
void InspectorInstrumentation::resourceRetrievedByXMLHttpRequestImpl(InspectorAgent* inspectorAgent, unsigned long identifier, const String& sourceString, const String& url, const String& sendURL, unsigned sendLineNumber)
507
511
resourceAgent->frameDetachedFromParent(frame);
510
void InspectorInstrumentation::didCommitLoadImpl(InspectorAgent* inspectorAgent, DocumentLoader* loader)
514
void InspectorInstrumentation::didCommitLoadImpl(Page* page, InspectorAgent* inspectorAgent, DocumentLoader* loader)
516
if (!inspectorAgent->enabled())
519
InstrumentingAgents* instrumentingAgents = inspectorAgent->instrumentingAgents();
520
if (InspectorResourceAgent* resourceAgent = instrumentingAgents->inspectorResourceAgent())
521
resourceAgent->didCommitLoad(loader);
523
Frame* mainFrame = page->mainFrame();
524
if (loader->frame() != mainFrame)
527
if (InspectorConsoleAgent* consoleAgent = instrumentingAgents->inspectorConsoleAgent())
528
consoleAgent->reset();
529
#if ENABLE(JAVASCRIPT_DEBUGGER)
530
if (InspectorDebuggerAgent* debuggerAgent = instrumentingAgents->inspectorDebuggerAgent()) {
531
KURL url = inspectorAgent->inspectedURLWithoutFragment();
532
debuggerAgent->inspectedURLChanged(url);
535
#if ENABLE(JAVASCRIPT_DEBUGGER) && USE(JSC)
536
if (InspectorProfilerAgent* profilerAgent = instrumentingAgents->inspectorProfilerAgent()) {
537
profilerAgent->stopUserInitiatedProfiling(true);
538
profilerAgent->resetState();
541
if (InspectorCSSAgent* cssAgent = instrumentingAgents->inspectorCSSAgent())
544
if (InspectorDatabaseAgent* databaseAgent = instrumentingAgents->inspectorDatabaseAgent())
545
databaseAgent->clearResources();
547
#if ENABLE(DOM_STORAGE)
548
if (InspectorDOMStorageAgent* domStorageAgent = instrumentingAgents->inspectorDOMStorageAgent())
549
domStorageAgent->clearResources();
551
if (InspectorDOMAgent* domAgent = instrumentingAgents->inspectorDOMAgent())
552
domAgent->setDocument(mainFrame->document());
512
553
inspectorAgent->didCommitLoad(loader);
626
667
#if ENABLE(WEB_SOCKETS)
627
void InspectorInstrumentation::didCreateWebSocketImpl(InspectorAgent* inspectorAgent, unsigned long identifier, const KURL& requestURL, const KURL& documentURL)
668
void InspectorInstrumentation::didCreateWebSocketImpl(InspectorAgent* inspectorAgent, unsigned long identifier, const KURL& requestURL, const KURL&)
629
inspectorAgent->didCreateWebSocket(identifier, requestURL, documentURL);
670
if (!inspectorAgent->enabled())
672
if (InspectorResourceAgent* resourceAgent = retrieveResourceAgent(inspectorAgent))
673
resourceAgent->didCreateWebSocket(identifier, requestURL);
632
676
void InspectorInstrumentation::willSendWebSocketHandshakeRequestImpl(InspectorAgent* inspectorAgent, unsigned long identifier, const WebSocketHandshakeRequest& request)
634
inspectorAgent->willSendWebSocketHandshakeRequest(identifier, request);
678
if (InspectorResourceAgent* resourceAgent = retrieveResourceAgent(inspectorAgent))
679
resourceAgent->willSendWebSocketHandshakeRequest(identifier, request);
637
682
void InspectorInstrumentation::didReceiveWebSocketHandshakeResponseImpl(InspectorAgent* inspectorAgent, unsigned long identifier, const WebSocketHandshakeResponse& response)
639
inspectorAgent->didReceiveWebSocketHandshakeResponse(identifier, response);
684
if (InspectorResourceAgent* resourceAgent = retrieveResourceAgent(inspectorAgent))
685
resourceAgent->didReceiveWebSocketHandshakeResponse(identifier, response);
642
688
void InspectorInstrumentation::didCloseWebSocketImpl(InspectorAgent* inspectorAgent, unsigned long identifier)
644
inspectorAgent->didCloseWebSocket(identifier);
690
if (InspectorResourceAgent* resourceAgent = retrieveResourceAgent(inspectorAgent))
691
resourceAgent->didCloseWebSocket(identifier);
648
695
#if ENABLE(OFFLINE_WEB_APPLICATIONS)
649
696
void InspectorInstrumentation::networkStateChangedImpl(InspectorAgent* inspectorAgent)
651
if (InspectorApplicationCacheAgent* applicationCacheAgent = inspectorAgent->applicationCacheAgent())
698
if (InspectorApplicationCacheAgent* applicationCacheAgent = inspectorAgent->instrumentingAgents()->inspectorApplicationCacheAgent())
652
699
applicationCacheAgent->networkStateChanged();
655
702
void InspectorInstrumentation::updateApplicationCacheStatusImpl(InspectorAgent* inspectorAgent, Frame* frame)
657
if (InspectorApplicationCacheAgent* applicationCacheAgent = inspectorAgent->applicationCacheAgent())
704
if (InspectorApplicationCacheAgent* applicationCacheAgent = inspectorAgent->instrumentingAgents()->inspectorApplicationCacheAgent())
658
705
applicationCacheAgent->updateApplicationCacheStatus(frame);
667
714
void InspectorInstrumentation::pauseOnNativeEventIfNeeded(InspectorAgent* inspectorAgent, const String& categoryType, const String& eventName, bool synchronous)
669
716
#if ENABLE(JAVASCRIPT_DEBUGGER)
670
if (InspectorBrowserDebuggerAgent* browserDebuggerAgent = inspectorAgent->browserDebuggerAgent())
717
if (InspectorBrowserDebuggerAgent* browserDebuggerAgent = inspectorAgent->instrumentingAgents()->inspectorBrowserDebuggerAgent())
671
718
browserDebuggerAgent->pauseOnNativeEventIfNeeded(categoryType, eventName, synchronous);