| 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 13 matching lines...) Expand all Loading... |
| 24 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | 24 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
| 25 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | 25 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
| 26 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | 26 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
| 27 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | 27 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
| 28 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 28 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
| 29 */ | 29 */ |
| 30 | 30 |
| 31 #include "config.h" | 31 #include "config.h" |
| 32 #include "core/inspector/PageDebuggerAgent.h" | 32 #include "core/inspector/PageDebuggerAgent.h" |
| 33 | 33 |
| 34 #include "bindings/dart/DartScriptDebugServer.h" |
| 34 #include "bindings/v8/DOMWrapperWorld.h" | 35 #include "bindings/v8/DOMWrapperWorld.h" |
| 35 #include "bindings/v8/ScriptController.h" | 36 #include "bindings/v8/ScriptController.h" |
| 36 #include "bindings/v8/ScriptSourceCode.h" | 37 #include "bindings/v8/ScriptSourceCode.h" |
| 37 #include "core/frame/FrameConsole.h" | 38 #include "core/frame/FrameConsole.h" |
| 38 #include "core/frame/LocalFrame.h" | 39 #include "core/frame/LocalFrame.h" |
| 39 #include "core/inspector/InspectorOverlay.h" | 40 #include "core/inspector/InspectorOverlay.h" |
| 40 #include "core/inspector/InspectorPageAgent.h" | 41 #include "core/inspector/InspectorPageAgent.h" |
| 41 #include "core/inspector/InstrumentingAgents.h" | 42 #include "core/inspector/InstrumentingAgents.h" |
| 42 #include "core/loader/DocumentLoader.h" | 43 #include "core/loader/DocumentLoader.h" |
| 43 #include "core/page/Page.h" | 44 #include "core/page/Page.h" |
| 44 | 45 |
| 45 namespace WebCore { | 46 namespace WebCore { |
| 46 | 47 |
| 47 PassOwnPtr<PageDebuggerAgent> PageDebuggerAgent::create(PageScriptDebugServer* p
ageScriptDebugServer, InspectorPageAgent* pageAgent, InjectedScriptManager* inje
ctedScriptManager, InspectorOverlay* overlay) | 48 PassOwnPtr<PageDebuggerAgent> PageDebuggerAgent::create(UnifiedScriptDebugServer
* unifiedScriptDebugServer, InspectorPageAgent* pageAgent, InjectedScriptManager
* injectedScriptManager, InspectorOverlay* overlay) |
| 48 { | 49 { |
| 49 return adoptPtr(new PageDebuggerAgent(pageScriptDebugServer, pageAgent, inje
ctedScriptManager, overlay)); | 50 return adoptPtr(new PageDebuggerAgent(unifiedScriptDebugServer, pageAgent, i
njectedScriptManager, overlay)); |
| 50 } | 51 } |
| 51 | 52 |
| 52 PageDebuggerAgent::PageDebuggerAgent(PageScriptDebugServer* pageScriptDebugServe
r, InspectorPageAgent* pageAgent, InjectedScriptManager* injectedScriptManager,
InspectorOverlay* overlay) | 53 PageDebuggerAgent::PageDebuggerAgent(UnifiedScriptDebugServer* unifiedScriptDebu
gServer, InspectorPageAgent* pageAgent, InjectedScriptManager* injectedScriptMan
ager, InspectorOverlay* overlay) |
| 53 : InspectorDebuggerAgent(injectedScriptManager) | 54 : InspectorDebuggerAgent(injectedScriptManager) |
| 54 , m_pageScriptDebugServer(pageScriptDebugServer) | 55 , m_unifiedScriptDebugServer(unifiedScriptDebugServer) |
| 55 , m_pageAgent(pageAgent) | 56 , m_pageAgent(pageAgent) |
| 56 , m_overlay(overlay) | 57 , m_overlay(overlay) |
| 57 { | 58 { |
| 59 ASSERT(m_unifiedScriptDebugServer); |
| 58 m_overlay->overlayHost()->setListener(this); | 60 m_overlay->overlayHost()->setListener(this); |
| 59 } | 61 } |
| 60 | 62 |
| 61 PageDebuggerAgent::~PageDebuggerAgent() | 63 PageDebuggerAgent::~PageDebuggerAgent() |
| 62 { | 64 { |
| 63 } | 65 } |
| 64 | 66 |
| 65 void PageDebuggerAgent::enable() | 67 void PageDebuggerAgent::enable() |
| 66 { | 68 { |
| 67 InspectorDebuggerAgent::enable(); | 69 InspectorDebuggerAgent::enable(); |
| 68 m_instrumentingAgents->setPageDebuggerAgent(this); | 70 m_instrumentingAgents->setPageDebuggerAgent(this); |
| 69 } | 71 } |
| 70 | 72 |
| 71 void PageDebuggerAgent::disable() | 73 void PageDebuggerAgent::disable() |
| 72 { | 74 { |
| 73 InspectorDebuggerAgent::disable(); | 75 InspectorDebuggerAgent::disable(); |
| 74 m_instrumentingAgents->setPageDebuggerAgent(0); | 76 m_instrumentingAgents->setPageDebuggerAgent(0); |
| 75 } | 77 } |
| 76 | 78 |
| 77 void PageDebuggerAgent::startListeningScriptDebugServer() | 79 void PageDebuggerAgent::startListeningScriptDebugServer() |
| 78 { | 80 { |
| 79 scriptDebugServer().addListener(this, m_pageAgent->page()); | 81 m_unifiedScriptDebugServer->addListener(this, m_pageAgent->page()); |
| 80 } | 82 } |
| 81 | 83 |
| 82 void PageDebuggerAgent::stopListeningScriptDebugServer() | 84 void PageDebuggerAgent::stopListeningScriptDebugServer() |
| 83 { | 85 { |
| 84 scriptDebugServer().removeListener(this, m_pageAgent->page()); | 86 m_unifiedScriptDebugServer->removeListener(this, m_pageAgent->page()); |
| 85 } | 87 } |
| 86 | 88 |
| 87 PageScriptDebugServer& PageDebuggerAgent::scriptDebugServer() | 89 ScriptDebugServerBase& PageDebuggerAgent::scriptDebugServer() |
| 88 { | 90 { |
| 89 return *m_pageScriptDebugServer; | 91 return *m_unifiedScriptDebugServer; |
| 90 } | 92 } |
| 91 | 93 |
| 92 void PageDebuggerAgent::muteConsole() | 94 void PageDebuggerAgent::muteConsole() |
| 93 { | 95 { |
| 94 FrameConsole::mute(); | 96 FrameConsole::mute(); |
| 95 } | 97 } |
| 96 | 98 |
| 97 void PageDebuggerAgent::unmuteConsole() | 99 void PageDebuggerAgent::unmuteConsole() |
| 98 { | 100 { |
| 99 FrameConsole::unmute(); | 101 FrameConsole::unmute(); |
| 100 } | 102 } |
| 101 | 103 |
| 102 void PageDebuggerAgent::overlayResumed() | 104 void PageDebuggerAgent::overlayResumed() |
| 103 { | 105 { |
| 104 ErrorString error; | 106 ErrorString error; |
| 105 resume(&error); | 107 resume(&error); |
| 106 } | 108 } |
| 107 | 109 |
| 108 void PageDebuggerAgent::overlaySteppedOver() | 110 void PageDebuggerAgent::overlaySteppedOver() |
| 109 { | 111 { |
| 110 ErrorString error; | 112 ErrorString error; |
| 111 stepOver(&error, 0); | 113 stepOver(&error, 0); |
| 112 } | 114 } |
| 113 | 115 |
| 114 InjectedScript PageDebuggerAgent::injectedScriptForEval(ErrorString* errorString
, const int* executionContextId) | 116 InjectedScript& PageDebuggerAgent::injectedScriptForEval(ErrorString* errorStrin
g, const int* executionContextId) |
| 115 { | 117 { |
| 116 if (!executionContextId) { | 118 if (!executionContextId) { |
| 117 ScriptState* scriptState = V8ScriptState::forMainWorld(m_pageAgent->main
Frame()); | 119 ScriptState* scriptState = V8ScriptState::forMainWorld(m_pageAgent->main
Frame()); |
| 118 return injectedScriptManager()->injectedScriptFor(scriptState); | 120 return injectedScriptManager()->injectedScriptFor(scriptState); |
| 119 } | 121 } |
| 120 InjectedScript injectedScript = injectedScriptManager()->injectedScriptForId
(*executionContextId); | 122 InjectedScript& injectedScript = injectedScriptManager()->injectedScriptForI
d(*executionContextId); |
| 121 if (injectedScript.isEmpty()) | 123 if (injectedScript.isEmpty()) |
| 122 *errorString = "Execution context with given id not found."; | 124 *errorString = "Execution context with given id not found."; |
| 123 return injectedScript; | 125 return injectedScript; |
| 124 } | 126 } |
| 125 | 127 |
| 126 void PageDebuggerAgent::setOverlayMessage(ErrorString*, const String* message) | 128 void PageDebuggerAgent::setOverlayMessage(ErrorString*, const String* message) |
| 127 { | 129 { |
| 128 m_overlay->setPausedInDebuggerMessage(message); | 130 m_overlay->setPausedInDebuggerMessage(message); |
| 129 } | 131 } |
| 130 | 132 |
| 131 void PageDebuggerAgent::didClearDocumentOfWindowObject(LocalFrame* frame) | 133 void PageDebuggerAgent::didClearDocumentOfWindowObject(LocalFrame* frame) |
| 132 { | 134 { |
| 133 if (frame != m_pageAgent->mainFrame()) | 135 if (frame != m_pageAgent->mainFrame()) |
| 134 return; | 136 return; |
| 135 | 137 |
| 136 reset(); | 138 reset(); |
| 137 | 139 |
| 138 scriptDebugServer().setPreprocessorSource(String()); | 140 scriptDebugServer().setPreprocessorSource(String()); |
| 139 ASSERT(m_pageAgent); | 141 ASSERT(m_pageAgent); |
| 140 if (!m_pageAgent->scriptPreprocessorSource().isEmpty()) | 142 if (!m_pageAgent->scriptPreprocessorSource().isEmpty()) |
| 141 scriptDebugServer().setPreprocessorSource(m_pageAgent->scriptPreprocesso
rSource()); | 143 scriptDebugServer().setPreprocessorSource(m_pageAgent->scriptPreprocesso
rSource()); |
| 142 } | 144 } |
| 143 | 145 |
| 144 String PageDebuggerAgent::preprocessEventListener(LocalFrame* frame, const Strin
g& source, const String& url, const String& functionName) | 146 String PageDebuggerAgent::preprocessEventListener(LocalFrame* frame, const Strin
g& source, const String& url, const String& functionName) |
| 145 { | 147 { |
| 146 ASSERT(frame); | 148 ASSERT(frame); |
| 147 ASSERT(m_pageScriptDebugServer); | 149 return m_unifiedScriptDebugServer->preprocessEventListener(frame, source, ur
l, functionName); |
| 148 return m_pageScriptDebugServer->preprocessEventListener(frame, source, url,
functionName); | |
| 149 } | 150 } |
| 150 | 151 |
| 151 PassOwnPtr<ScriptSourceCode> PageDebuggerAgent::preprocess(LocalFrame* frame, co
nst ScriptSourceCode& sourceCode) | 152 PassOwnPtr<ScriptSourceCode> PageDebuggerAgent::preprocess(LocalFrame* frame, co
nst ScriptSourceCode& sourceCode) |
| 152 { | 153 { |
| 153 ASSERT(m_pageScriptDebugServer); | |
| 154 ASSERT(frame); | 154 ASSERT(frame); |
| 155 return m_pageScriptDebugServer->preprocess(frame, sourceCode); | 155 return m_unifiedScriptDebugServer->preprocess(frame, sourceCode); |
| 156 } | 156 } |
| 157 | 157 |
| 158 void PageDebuggerAgent::didCommitLoad(LocalFrame* frame, DocumentLoader* loader) | 158 void PageDebuggerAgent::didCommitLoad(LocalFrame* frame, DocumentLoader* loader) |
| 159 { | 159 { |
| 160 LocalFrame* mainFrame = frame->page()->mainFrame(); | 160 LocalFrame* mainFrame = frame->page()->mainFrame(); |
| 161 if (loader->frame() == mainFrame) | 161 if (loader->frame() == mainFrame) |
| 162 pageDidCommitLoad(); | 162 pageDidCommitLoad(); |
| 163 } | 163 } |
| 164 | 164 |
| 165 } // namespace WebCore | 165 } // namespace WebCore |
| 166 | 166 |
| OLD | NEW |