OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2011 Google Inc. All rights reserved. | 2 * Copyright (C) 2011 Google Inc. All rights reserved. |
3 * | 3 * |
4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
6 * met: | 6 * met: |
7 * | 7 * |
8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
(...skipping 28 matching lines...) Expand all Loading... |
39 #include "core/events/EventTarget.h" | 39 #include "core/events/EventTarget.h" |
40 #include "core/frame/LocalDOMWindow.h" | 40 #include "core/frame/LocalDOMWindow.h" |
41 #include "core/inspector/EventListenerInfo.h" | 41 #include "core/inspector/EventListenerInfo.h" |
42 #include "core/inspector/InjectedScript.h" | 42 #include "core/inspector/InjectedScript.h" |
43 #include "core/inspector/InjectedScriptHost.h" | 43 #include "core/inspector/InjectedScriptHost.h" |
44 #include "core/inspector/InjectedScriptManager.h" | 44 #include "core/inspector/InjectedScriptManager.h" |
45 #include "core/inspector/InspectorDOMAgent.h" | 45 #include "core/inspector/InspectorDOMAgent.h" |
46 #include "core/inspector/InspectorState.h" | 46 #include "core/inspector/InspectorState.h" |
47 #include "core/inspector/InstrumentingAgents.h" | 47 #include "core/inspector/InstrumentingAgents.h" |
48 #include "core/inspector/RemoteObjectId.h" | 48 #include "core/inspector/RemoteObjectId.h" |
| 49 #include "core/inspector/V8DebuggerAgent.h" |
49 #include "platform/JSONValues.h" | 50 #include "platform/JSONValues.h" |
50 | 51 |
51 namespace { | 52 namespace { |
52 | 53 |
53 enum DOMBreakpointType { | 54 enum DOMBreakpointType { |
54 SubtreeModified = 0, | 55 SubtreeModified = 0, |
55 AttributeModified, | 56 AttributeModified, |
56 NodeRemoved, | 57 NodeRemoved, |
57 DOMBreakpointTypesCount | 58 DOMBreakpointTypesCount |
58 }; | 59 }; |
(...skipping 22 matching lines...) Expand all Loading... |
81 static const char webglErrorNameProperty[] = "webglErrorName"; | 82 static const char webglErrorNameProperty[] = "webglErrorName"; |
82 | 83 |
83 namespace DOMDebuggerAgentState { | 84 namespace DOMDebuggerAgentState { |
84 static const char eventListenerBreakpoints[] = "eventListenerBreakpoints"; | 85 static const char eventListenerBreakpoints[] = "eventListenerBreakpoints"; |
85 static const char eventTargetAny[] = "*"; | 86 static const char eventTargetAny[] = "*"; |
86 static const char pauseOnAllXHRs[] = "pauseOnAllXHRs"; | 87 static const char pauseOnAllXHRs[] = "pauseOnAllXHRs"; |
87 static const char xhrBreakpoints[] = "xhrBreakpoints"; | 88 static const char xhrBreakpoints[] = "xhrBreakpoints"; |
88 static const char enabled[] = "enabled"; | 89 static const char enabled[] = "enabled"; |
89 } | 90 } |
90 | 91 |
91 PassOwnPtrWillBeRawPtr<InspectorDOMDebuggerAgent> InspectorDOMDebuggerAgent::cre
ate(InjectedScriptManager* injectedScriptManager, InspectorDOMAgent* domAgent, I
nspectorDebuggerAgent* debuggerAgent) | 92 PassOwnPtrWillBeRawPtr<InspectorDOMDebuggerAgent> InspectorDOMDebuggerAgent::cre
ate(InjectedScriptManager* injectedScriptManager, InspectorDOMAgent* domAgent, V
8DebuggerAgent* debuggerAgent) |
92 { | 93 { |
93 return adoptPtrWillBeNoop(new InspectorDOMDebuggerAgent(injectedScriptManage
r, domAgent, debuggerAgent)); | 94 return adoptPtrWillBeNoop(new InspectorDOMDebuggerAgent(injectedScriptManage
r, domAgent, debuggerAgent)); |
94 } | 95 } |
95 | 96 |
96 InspectorDOMDebuggerAgent::InspectorDOMDebuggerAgent(InjectedScriptManager* inje
ctedScriptManager, InspectorDOMAgent* domAgent, InspectorDebuggerAgent* debugger
Agent) | 97 InspectorDOMDebuggerAgent::InspectorDOMDebuggerAgent(InjectedScriptManager* inje
ctedScriptManager, InspectorDOMAgent* domAgent, V8DebuggerAgent* debuggerAgent) |
97 : InspectorBaseAgent<InspectorDOMDebuggerAgent, InspectorFrontend::DOMDebugg
er>("DOMDebugger") | 98 : InspectorBaseAgent<InspectorDOMDebuggerAgent, InspectorFrontend::DOMDebugg
er>("DOMDebugger") |
98 , m_injectedScriptManager(injectedScriptManager) | 99 , m_injectedScriptManager(injectedScriptManager) |
99 , m_domAgent(domAgent) | 100 , m_domAgent(domAgent) |
100 , m_debuggerAgent(debuggerAgent) | 101 , m_debuggerAgent(debuggerAgent) |
101 { | 102 { |
102 } | 103 } |
103 | 104 |
104 InspectorDOMDebuggerAgent::~InspectorDOMDebuggerAgent() | 105 InspectorDOMDebuggerAgent::~InspectorDOMDebuggerAgent() |
105 { | 106 { |
106 #if !ENABLE(OILPAN) | 107 #if !ENABLE(OILPAN) |
(...skipping 311 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
418 } | 419 } |
419 | 420 |
420 void InspectorDOMDebuggerAgent::descriptionForDOMEvent(Node* target, int breakpo
intType, bool insertion, JSONObject* description) | 421 void InspectorDOMDebuggerAgent::descriptionForDOMEvent(Node* target, int breakpo
intType, bool insertion, JSONObject* description) |
421 { | 422 { |
422 ASSERT(hasBreakpoint(target, breakpointType)); | 423 ASSERT(hasBreakpoint(target, breakpointType)); |
423 | 424 |
424 Node* breakpointOwner = target; | 425 Node* breakpointOwner = target; |
425 if ((1 << breakpointType) & inheritableDOMBreakpointTypesMask) { | 426 if ((1 << breakpointType) & inheritableDOMBreakpointTypesMask) { |
426 // For inheritable breakpoint types, target node isn't always the same a
s the node that owns a breakpoint. | 427 // For inheritable breakpoint types, target node isn't always the same a
s the node that owns a breakpoint. |
427 // Target node may be unknown to frontend, so we need to push it first. | 428 // Target node may be unknown to frontend, so we need to push it first. |
428 RefPtr<TypeBuilder::Runtime::RemoteObject> targetNodeObject = m_domAgent
->resolveNode(target, InspectorDebuggerAgent::backtraceObjectGroup); | 429 RefPtr<TypeBuilder::Runtime::RemoteObject> targetNodeObject = m_domAgent
->resolveNode(target, V8DebuggerAgent::backtraceObjectGroup); |
429 description->setValue("targetNode", targetNodeObject); | 430 description->setValue("targetNode", targetNodeObject); |
430 | 431 |
431 // Find breakpoint owner node. | 432 // Find breakpoint owner node. |
432 if (!insertion) | 433 if (!insertion) |
433 breakpointOwner = InspectorDOMAgent::innerParentNode(target); | 434 breakpointOwner = InspectorDOMAgent::innerParentNode(target); |
434 ASSERT(breakpointOwner); | 435 ASSERT(breakpointOwner); |
435 while (!(m_domBreakpoints.get(breakpointOwner) & (1 << breakpointType)))
{ | 436 while (!(m_domBreakpoints.get(breakpointOwner) & (1 << breakpointType)))
{ |
436 Node* parentNode = InspectorDOMAgent::innerParentNode(breakpointOwne
r); | 437 Node* parentNode = InspectorDOMAgent::innerParentNode(breakpointOwne
r); |
437 if (!parentNode) | 438 if (!parentNode) |
438 break; | 439 break; |
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
540 pauseOnNativeEventIfNeeded(preparePauseOnNativeEventData(animationFrameFired
EventName, 0), false); | 541 pauseOnNativeEventIfNeeded(preparePauseOnNativeEventData(animationFrameFired
EventName, 0), false); |
541 } | 542 } |
542 | 543 |
543 void InspectorDOMDebuggerAgent::willHandleEvent(EventTarget* target, Event* even
t, EventListener*, bool) | 544 void InspectorDOMDebuggerAgent::willHandleEvent(EventTarget* target, Event* even
t, EventListener*, bool) |
544 { | 545 { |
545 Node* node = target->toNode(); | 546 Node* node = target->toNode(); |
546 String targetName = node ? node->nodeName() : target->interfaceName(); | 547 String targetName = node ? node->nodeName() : target->interfaceName(); |
547 pauseOnNativeEventIfNeeded(preparePauseOnNativeEventData(event->type(), &tar
getName), false); | 548 pauseOnNativeEventIfNeeded(preparePauseOnNativeEventData(event->type(), &tar
getName), false); |
548 } | 549 } |
549 | 550 |
550 void InspectorDOMDebuggerAgent::willEvaluateScript(const String& url, int) | 551 void InspectorDOMDebuggerAgent::willEvaluateScript() |
551 { | 552 { |
552 pauseOnNativeEventIfNeeded(preparePauseOnNativeEventData(scriptFirstStatemen
tEventName, 0), false); | 553 pauseOnNativeEventIfNeeded(preparePauseOnNativeEventData(scriptFirstStatemen
tEventName, 0), false); |
553 } | 554 } |
554 | 555 |
555 void InspectorDOMDebuggerAgent::willCloseWindow() | 556 void InspectorDOMDebuggerAgent::willCloseWindow() |
556 { | 557 { |
557 pauseOnNativeEventIfNeeded(preparePauseOnNativeEventData(windowCloseEventNam
e, 0), true); | 558 pauseOnNativeEventIfNeeded(preparePauseOnNativeEventData(windowCloseEventNam
e, 0), true); |
558 } | 559 } |
559 | 560 |
560 void InspectorDOMDebuggerAgent::didFireWebGLError(const String& errorName) | 561 void InspectorDOMDebuggerAgent::didFireWebGLError(const String& errorName) |
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
660 if (enabled) { | 661 if (enabled) { |
661 m_instrumentingAgents->setInspectorDOMDebuggerAgent(this); | 662 m_instrumentingAgents->setInspectorDOMDebuggerAgent(this); |
662 m_state->setBoolean(DOMDebuggerAgentState::enabled, true); | 663 m_state->setBoolean(DOMDebuggerAgentState::enabled, true); |
663 } else { | 664 } else { |
664 m_state->remove(DOMDebuggerAgentState::enabled); | 665 m_state->remove(DOMDebuggerAgentState::enabled); |
665 m_instrumentingAgents->setInspectorDOMDebuggerAgent(nullptr); | 666 m_instrumentingAgents->setInspectorDOMDebuggerAgent(nullptr); |
666 } | 667 } |
667 } | 668 } |
668 | 669 |
669 } // namespace blink | 670 } // namespace blink |
OLD | NEW |