Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(333)

Unified Diff: Source/bindings/core/v8/PageScriptDebugServer.cpp

Issue 898593002: DevTools: use per-LocalFrame instrumenting agents instead of per-Page ones. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: fixed assertion Created 5 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « Source/bindings/core/v8/PageScriptDebugServer.h ('k') | Source/core/dom/Document.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/bindings/core/v8/PageScriptDebugServer.cpp
diff --git a/Source/bindings/core/v8/PageScriptDebugServer.cpp b/Source/bindings/core/v8/PageScriptDebugServer.cpp
index 4936f63e3be7842ec13ed9066706fd6315af7faa..caf078527005c84cfdbcbcf72437604e0920392e 100644
--- a/Source/bindings/core/v8/PageScriptDebugServer.cpp
+++ b/Source/bindings/core/v8/PageScriptDebugServer.cpp
@@ -99,7 +99,7 @@ void PageScriptDebugServer::setMainThreadIsolate(v8::Isolate* isolate)
PageScriptDebugServer::PageScriptDebugServer()
: ScriptDebugServer(s_mainThreadIsolate)
- , m_pausedPage(nullptr)
+ , m_pausedFrame(nullptr)
, m_preprocessorSourceCode()
{
}
@@ -112,15 +112,17 @@ void PageScriptDebugServer::trace(Visitor* visitor)
{
#if ENABLE(OILPAN)
visitor->trace(m_listenersMap);
- visitor->trace(m_pausedPage);
+ visitor->trace(m_pausedFrame);
visitor->trace(m_preprocessorSourceCode);
#endif
ScriptDebugServer::trace(visitor);
}
-void PageScriptDebugServer::addListener(ScriptDebugListener* listener, Page* page)
+void PageScriptDebugServer::addListener(ScriptDebugListener* listener, LocalFrame* localFrameRoot)
{
- ScriptController& scriptController = page->deprecatedLocalMainFrame()->script();
+ ASSERT(localFrameRoot == localFrameRoot->localFrameRoot());
+
+ ScriptController& scriptController = localFrameRoot->script();
if (!scriptController.canExecuteScripts(NotAboutToExecuteScript))
return;
@@ -136,7 +138,7 @@ void PageScriptDebugServer::addListener(ScriptDebugListener* listener, Page* pag
v8::Local<v8::Object> debuggerScript = m_debuggerScript.newLocal(m_isolate);
ASSERT(!debuggerScript->IsUndefined());
- m_listenersMap.set(page, listener);
+ m_listenersMap.set(localFrameRoot, listener);
WindowProxy* windowProxy = scriptController.existingWindowProxy(DOMWrapperWorld::mainWorld());
if (!windowProxy || !windowProxy->isContextInitialized())
@@ -153,15 +155,15 @@ void PageScriptDebugServer::addListener(ScriptDebugListener* listener, Page* pag
dispatchDidParseSource(listener, v8::Handle<v8::Object>::Cast(scriptsArray->Get(v8::Integer::New(m_isolate, i))), CompileSuccess);
}
-void PageScriptDebugServer::removeListener(ScriptDebugListener* listener, Page* page)
+void PageScriptDebugServer::removeListener(ScriptDebugListener* listener, LocalFrame* localFrame)
{
- if (!m_listenersMap.contains(page))
+ if (!m_listenersMap.contains(localFrame))
return;
- if (m_pausedPage == page)
+ if (m_pausedFrame == localFrame)
continueProgram();
- m_listenersMap.remove(page);
+ m_listenersMap.remove(localFrame);
if (m_listenersMap.isEmpty()) {
discardDebuggerScript();
@@ -221,23 +223,23 @@ ScriptDebugListener* PageScriptDebugServer::getDebugListenerForContext(v8::Handl
LocalFrame* frame = retrieveFrameWithGlobalObjectCheck(context);
if (!frame)
return 0;
- return m_listenersMap.get(frame->page());
+ return m_listenersMap.get(frame->localFrameRoot());
}
void PageScriptDebugServer::runMessageLoopOnPause(v8::Handle<v8::Context> context)
{
v8::HandleScope scope(m_isolate);
LocalFrame* frame = retrieveFrameWithGlobalObjectCheck(context);
- m_pausedPage = frame->page();
+ m_pausedFrame = frame->localFrameRoot();
// Wait for continue or step command.
- m_clientMessageLoop->run(m_pausedPage);
+ m_clientMessageLoop->run(m_pausedFrame);
// The listener may have been removed in the nested loop.
- if (ScriptDebugListener* listener = m_listenersMap.get(m_pausedPage))
+ if (ScriptDebugListener* listener = m_listenersMap.get(m_pausedFrame))
listener->didContinue();
- m_pausedPage = 0;
+ m_pausedFrame = 0;
}
void PageScriptDebugServer::quitMessageLoopOnPause()
« no previous file with comments | « Source/bindings/core/v8/PageScriptDebugServer.h ('k') | Source/core/dom/Document.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698