void JavaScriptDebugServer::sourceParsed(ExecState* exec, int sourceID, const UString& sourceURL, const SourceProvider& source, int startingLineNumber, int errorLine, const UString& errorMessage) { if (m_callingListeners) return; Page* page = toPage(exec->dynamicGlobalObject()); if (!page) return; m_callingListeners = true; ASSERT(hasListeners()); bool isError = errorLine != -1; if (!m_listeners.isEmpty()) { if (isError) dispatchFailedToParseSource(m_listeners, exec, source, startingLineNumber, sourceURL, errorLine, errorMessage); else dispatchDidParseSource(m_listeners, exec, source, startingLineNumber, sourceURL, sourceID); } if (ListenerSet* pageListeners = m_pageListenersMap.get(page)) { ASSERT(!pageListeners->isEmpty()); if (isError) dispatchFailedToParseSource(*pageListeners, exec, source, startingLineNumber, sourceURL, errorLine, errorMessage); else dispatchDidParseSource(*pageListeners, exec, source, startingLineNumber, sourceURL, sourceID); } m_callingListeners = false; }
void ScriptDebugServer::sourceParsed(ExecState* exec, SourceProvider* sourceProvider, int errorLine, const String& errorMessage) { if (m_callingListeners) return; ListenerSet& listeners = getListeners(); if (listeners.isEmpty()) return; TemporaryChange<bool> change(m_callingListeners, true); bool isError = errorLine != -1; if (isError) dispatchFailedToParseSource(listeners, sourceProvider, errorLine, errorMessage); else dispatchDidParseSource(listeners, sourceProvider, isContentScript(exec)); }
void ScriptDebugServer::sourceParsed(ExecState* exec, SourceProvider* sourceProvider, int errorLine, const UString& errorMessage) { if (m_callingListeners) return; ListenerSet* listeners = getListenersForGlobalObject(exec->lexicalGlobalObject()); if (!listeners) return; ASSERT(!listeners->isEmpty()); m_callingListeners = true; bool isError = errorLine != -1; if (isError) dispatchFailedToParseSource(*listeners, sourceProvider, errorLine, ustringToString(errorMessage)); else dispatchDidParseSource(*listeners, sourceProvider, isContentScript(exec)); m_callingListeners = false; }