| Index: Source/bindings/core/v8/PageScriptDebugServer.cpp
|
| diff --git a/Source/bindings/core/v8/PageScriptDebugServer.cpp b/Source/bindings/core/v8/PageScriptDebugServer.cpp
|
| index caf078527005c84cfdbcbcf72437604e0920392e..4936f63e3be7842ec13ed9066706fd6315af7faa 100644
|
| --- a/Source/bindings/core/v8/PageScriptDebugServer.cpp
|
| +++ b/Source/bindings/core/v8/PageScriptDebugServer.cpp
|
| @@ -99,7 +99,7 @@
|
|
|
| PageScriptDebugServer::PageScriptDebugServer()
|
| : ScriptDebugServer(s_mainThreadIsolate)
|
| - , m_pausedFrame(nullptr)
|
| + , m_pausedPage(nullptr)
|
| , m_preprocessorSourceCode()
|
| {
|
| }
|
| @@ -112,17 +112,15 @@
|
| {
|
| #if ENABLE(OILPAN)
|
| visitor->trace(m_listenersMap);
|
| - visitor->trace(m_pausedFrame);
|
| + visitor->trace(m_pausedPage);
|
| visitor->trace(m_preprocessorSourceCode);
|
| #endif
|
| ScriptDebugServer::trace(visitor);
|
| }
|
|
|
| -void PageScriptDebugServer::addListener(ScriptDebugListener* listener, LocalFrame* localFrameRoot)
|
| -{
|
| - ASSERT(localFrameRoot == localFrameRoot->localFrameRoot());
|
| -
|
| - ScriptController& scriptController = localFrameRoot->script();
|
| +void PageScriptDebugServer::addListener(ScriptDebugListener* listener, Page* page)
|
| +{
|
| + ScriptController& scriptController = page->deprecatedLocalMainFrame()->script();
|
| if (!scriptController.canExecuteScripts(NotAboutToExecuteScript))
|
| return;
|
|
|
| @@ -138,7 +136,7 @@
|
|
|
| v8::Local<v8::Object> debuggerScript = m_debuggerScript.newLocal(m_isolate);
|
| ASSERT(!debuggerScript->IsUndefined());
|
| - m_listenersMap.set(localFrameRoot, listener);
|
| + m_listenersMap.set(page, listener);
|
|
|
| WindowProxy* windowProxy = scriptController.existingWindowProxy(DOMWrapperWorld::mainWorld());
|
| if (!windowProxy || !windowProxy->isContextInitialized())
|
| @@ -155,15 +153,15 @@
|
| dispatchDidParseSource(listener, v8::Handle<v8::Object>::Cast(scriptsArray->Get(v8::Integer::New(m_isolate, i))), CompileSuccess);
|
| }
|
|
|
| -void PageScriptDebugServer::removeListener(ScriptDebugListener* listener, LocalFrame* localFrame)
|
| -{
|
| - if (!m_listenersMap.contains(localFrame))
|
| - return;
|
| -
|
| - if (m_pausedFrame == localFrame)
|
| +void PageScriptDebugServer::removeListener(ScriptDebugListener* listener, Page* page)
|
| +{
|
| + if (!m_listenersMap.contains(page))
|
| + return;
|
| +
|
| + if (m_pausedPage == page)
|
| continueProgram();
|
|
|
| - m_listenersMap.remove(localFrame);
|
| + m_listenersMap.remove(page);
|
|
|
| if (m_listenersMap.isEmpty()) {
|
| discardDebuggerScript();
|
| @@ -223,23 +221,23 @@
|
| LocalFrame* frame = retrieveFrameWithGlobalObjectCheck(context);
|
| if (!frame)
|
| return 0;
|
| - return m_listenersMap.get(frame->localFrameRoot());
|
| + return m_listenersMap.get(frame->page());
|
| }
|
|
|
| void PageScriptDebugServer::runMessageLoopOnPause(v8::Handle<v8::Context> context)
|
| {
|
| v8::HandleScope scope(m_isolate);
|
| LocalFrame* frame = retrieveFrameWithGlobalObjectCheck(context);
|
| - m_pausedFrame = frame->localFrameRoot();
|
| + m_pausedPage = frame->page();
|
|
|
| // Wait for continue or step command.
|
| - m_clientMessageLoop->run(m_pausedFrame);
|
| + m_clientMessageLoop->run(m_pausedPage);
|
|
|
| // The listener may have been removed in the nested loop.
|
| - if (ScriptDebugListener* listener = m_listenersMap.get(m_pausedFrame))
|
| + if (ScriptDebugListener* listener = m_listenersMap.get(m_pausedPage))
|
| listener->didContinue();
|
|
|
| - m_pausedFrame = 0;
|
| + m_pausedPage = 0;
|
| }
|
|
|
| void PageScriptDebugServer::quitMessageLoopOnPause()
|
|
|