Diff
Modified: trunk/Source/WebCore/ChangeLog (136718 => 136719)
--- trunk/Source/WebCore/ChangeLog 2012-12-05 19:10:48 UTC (rev 136718)
+++ trunk/Source/WebCore/ChangeLog 2012-12-05 19:18:13 UTC (rev 136719)
@@ -1,3 +1,72 @@
+2012-12-05 Mike West <mk...@chromium.org>
+
+ Stop generating call stacks inside ContentSecurityPolicy
+ https://bugs.webkit.org/show_bug.cgi?id=104126
+
+ Reviewed by Yury Semikhatsky.
+
+ Now that bug 100650 has made it possible for ConsoleMessage to generate
+ call stacks, we can remove the stack being generated in
+ ContentSecurityPolicy::logToConsole. We need the ScriptState*, however,
+ so this patch makes it possible to pipe it through addConsoleMessage
+ down into the guts of the inspector.
+
+ This patch also removes an unused addConsoleMessage variant from
+ ScriptExecutionContext, which should have been removed from the patch to
+ 100650 before landing it. My bad.
+
+ * dom/Document.cpp:
+ (WebCore::Document::addMessage):
+ * dom/Document.h:
+ (Document):
+ Accept a ScriptState* parameter in Document::addMessage, and pass it
+ through to Console::addMessage.
+ * dom/ScriptExecutionContext.cpp:
+ (WebCore::ScriptExecutionContext::addConsoleMessage):
+ * dom/ScriptExecutionContext.h:
+ (ScriptExecutionContext):
+ Accept a ScriptState* parameter in Document::addMessage, and pass it
+ through to ScriptExecutionContext::addMessage. Also, remove an unused
+ variant of ScriptExecutionContext::addConsoleMessage that accepted
+ only a call stack in addition to the basics.
+ * inspector/ConsoleMessage.cpp:
+ (WebCore::ConsoleMessage::ConsoleMessage):
+ * inspector/ConsoleMessage.h:
+ (ConsoleMessage):
+ Accept a ScriptState* and pass it into autogenerateMetadata for
+ call stack generational goodness.
+ * inspector/InspectorConsoleAgent.cpp:
+ (WebCore::InspectorConsoleAgent::addMessageToConsole):
+ Accept a ScriptState* and pass it into addConsoleMessage.
+ (WebCore::InspectorConsoleAgent::didFinishXHRLoading):
+ (WebCore::InspectorConsoleAgent::didReceiveResponse):
+ (WebCore::InspectorConsoleAgent::didFailLoading):
+ Add an empty ScriptState parameter to the addConsoleMessage call.
+ * inspector/InspectorConsoleAgent.h:
+ (InspectorConsoleAgent):
+ * inspector/InspectorConsoleInstrumentation.h:
+ (WebCore::InspectorInstrumentation::addMessageToConsole):
+ * inspector/InspectorInstrumentation.cpp:
+ (WebCore):
+ (WebCore::InspectorInstrumentation::addMessageToConsoleImpl):
+ * inspector/InspectorInstrumentation.h:
+ (InspectorInstrumentation):
+ * page/Console.cpp:
+ (WebCore::Console::addMessage):
+ * page/Console.h:
+ (Console):
+ Pipe ScriptState through the intermediate classes.
+ * page/ContentSecurityPolicy.cpp:
+ (WebCore::ContentSecurityPolicy::logToConsole):
+ Drop call stack generation, and pass ScriptState* into addConsoleMessage.
+ * workers/WorkerContext.cpp:
+ (WebCore::WorkerContext::addConsoleMessage):
+ (WebCore::WorkerContext::addMessage):
+ (WebCore::WorkerContext::addMessageToWorkerConsole):
+ * workers/WorkerContext.h:
+ (WorkerContext):
+ Accept ScriptState* and pass it into addMessageToConsole.
+
2012-12-05 Rafael Weinstein <rafa...@chromium.org>
DOMImplementation.createDocument should call appendChild rather than parserAppendChild to add docType and documentElement
Modified: trunk/Source/WebCore/dom/Document.cpp (136718 => 136719)
--- trunk/Source/WebCore/dom/Document.cpp 2012-12-05 19:10:48 UTC (rev 136718)
+++ trunk/Source/WebCore/dom/Document.cpp 2012-12-05 19:18:13 UTC (rev 136719)
@@ -4756,7 +4756,7 @@
}
}
-void Document::addMessage(MessageSource source, MessageType type, MessageLevel level, const String& message, const String& sourceURL, unsigned lineNumber, PassRefPtr<ScriptCallStack> callStack, unsigned long requestIdentifier)
+void Document::addMessage(MessageSource source, MessageType type, MessageLevel level, const String& message, const String& sourceURL, unsigned lineNumber, PassRefPtr<ScriptCallStack> callStack, ScriptState* state, unsigned long requestIdentifier)
{
if (!isContextThread()) {
postTask(AddConsoleMessageTask::create(source, type, level, message));
@@ -4765,7 +4765,7 @@
if (DOMWindow* window = domWindow()) {
if (Console* console = window->console())
- console->addMessage(source, type, level, message, sourceURL, lineNumber, callStack, requestIdentifier);
+ console->addMessage(source, type, level, message, sourceURL, lineNumber, callStack, state, requestIdentifier);
}
}
Modified: trunk/Source/WebCore/dom/Document.h (136718 => 136719)
--- trunk/Source/WebCore/dom/Document.h 2012-12-05 19:10:48 UTC (rev 136718)
+++ trunk/Source/WebCore/dom/Document.h 2012-12-05 19:18:13 UTC (rev 136719)
@@ -1211,7 +1211,7 @@
virtual const KURL& virtualURL() const; // Same as url(), but needed for ScriptExecutionContext to implement it without a performance loss for direct calls.
virtual KURL virtualCompleteURL(const String&) const; // Same as completeURL() for the same reason as above.
- virtual void addMessage(MessageSource, MessageType, MessageLevel, const String& message, const String& sourceURL, unsigned lineNumber, PassRefPtr<ScriptCallStack>, unsigned long requestIdentifier = 0);
+ virtual void addMessage(MessageSource, MessageType, MessageLevel, const String& message, const String& sourceURL, unsigned lineNumber, PassRefPtr<ScriptCallStack>, ScriptState* = 0, unsigned long requestIdentifier = 0);
virtual double minimumTimerInterval() const;
Modified: trunk/Source/WebCore/dom/ScriptExecutionContext.cpp (136718 => 136719)
--- trunk/Source/WebCore/dom/ScriptExecutionContext.cpp 2012-12-05 19:10:48 UTC (rev 136718)
+++ trunk/Source/WebCore/dom/ScriptExecutionContext.cpp 2012-12-05 19:18:13 UTC (rev 136719)
@@ -321,17 +321,11 @@
m_pendingExceptions.clear();
}
-void ScriptExecutionContext::addConsoleMessage(MessageSource source, MessageType type, MessageLevel level, const String& message, const String& sourceURL, unsigned lineNumber, PassRefPtr<ScriptCallStack> callStack, unsigned long requestIdentifier)
+void ScriptExecutionContext::addConsoleMessage(MessageSource source, MessageType type, MessageLevel level, const String& message, const String& sourceURL, unsigned lineNumber, ScriptState* state, unsigned long requestIdentifier)
{
- addMessage(source, type, level, message, sourceURL, lineNumber, callStack, requestIdentifier);
+ addMessage(source, type, level, message, sourceURL, lineNumber, 0, state, requestIdentifier);
}
-void ScriptExecutionContext::addConsoleMessage(MessageSource source, MessageType type, MessageLevel level, const String& message, PassRefPtr<ScriptCallStack> callStack, unsigned long requestIdentifier)
-{
- addMessage(source, type, level, message, String(), 0, callStack, requestIdentifier);
-}
-
-
bool ScriptExecutionContext::dispatchErrorEvent(const String& errorMessage, int lineNumber, const String& sourceURL, CachedScript* cachedScript)
{
EventTarget* target = errorEventTarget();
Modified: trunk/Source/WebCore/dom/ScriptExecutionContext.h (136718 => 136719)
--- trunk/Source/WebCore/dom/ScriptExecutionContext.h 2012-12-05 19:10:48 UTC (rev 136718)
+++ trunk/Source/WebCore/dom/ScriptExecutionContext.h 2012-12-05 19:18:13 UTC (rev 136719)
@@ -32,6 +32,7 @@
#include "ConsoleTypes.h"
#include "KURL.h"
#include "ScriptCallStack.h"
+#include "ScriptState.h"
#include "SecurityContext.h"
#include "Supplementable.h"
#include <wtf/Forward.h>
@@ -84,8 +85,8 @@
bool sanitizeScriptError(String& errorMessage, int& lineNumber, String& sourceURL, CachedScript* = 0);
void reportException(const String& errorMessage, int lineNumber, const String& sourceURL, PassRefPtr<ScriptCallStack>, CachedScript* = 0);
- void addConsoleMessage(MessageSource, MessageType, MessageLevel, const String& message, const String& sourceURL, unsigned lineNumber, PassRefPtr<ScriptCallStack> = 0, unsigned long requestIdentifier = 0);
- void addConsoleMessage(MessageSource, MessageType, MessageLevel, const String& message, PassRefPtr<ScriptCallStack>, unsigned long requestIdentifier = 0);
+
+ void addConsoleMessage(MessageSource, MessageType, MessageLevel, const String& message, const String& sourceURL, unsigned lineNumber, ScriptState* = 0, unsigned long requestIdentifier = 0);
virtual void addConsoleMessage(MessageSource, MessageType, MessageLevel, const String& message, unsigned long requestIdentifier = 0) = 0;
#if ENABLE(BLOB)
@@ -194,7 +195,7 @@
virtual const KURL& virtualURL() const = 0;
virtual KURL virtualCompleteURL(const String&) const = 0;
- virtual void addMessage(MessageSource, MessageType, MessageLevel, const String& message, const String& sourceURL, unsigned lineNumber, PassRefPtr<ScriptCallStack>, unsigned long requestIdentifier = 0) = 0;
+ virtual void addMessage(MessageSource, MessageType, MessageLevel, const String& message, const String& sourceURL, unsigned lineNumber, PassRefPtr<ScriptCallStack>, ScriptState* = 0, unsigned long requestIdentifier = 0) = 0;
virtual EventTarget* errorEventTarget() = 0;
virtual void logExceptionToConsole(const String& errorMessage, const String& sourceURL, int lineNumber, PassRefPtr<ScriptCallStack>) = 0;
bool dispatchErrorEvent(const String& errorMessage, int lineNumber, const String& sourceURL, CachedScript*);
Modified: trunk/Source/WebCore/inspector/ConsoleMessage.cpp (136718 => 136719)
--- trunk/Source/WebCore/inspector/ConsoleMessage.cpp 2012-12-05 19:10:48 UTC (rev 136718)
+++ trunk/Source/WebCore/inspector/ConsoleMessage.cpp 2012-12-05 19:18:13 UTC (rev 136719)
@@ -62,7 +62,7 @@
autogenerateMetadata(canGenerateCallStack);
}
-ConsoleMessage::ConsoleMessage(bool canGenerateCallStack, MessageSource source, MessageType type, MessageLevel level, const String& message, const String& url, unsigned line, unsigned long requestIdentifier)
+ConsoleMessage::ConsoleMessage(bool canGenerateCallStack, MessageSource source, MessageType type, MessageLevel level, const String& message, const String& url, unsigned line, ScriptState* state, unsigned long requestIdentifier)
: m_source(source)
, m_type(type)
, m_level(level)
@@ -72,7 +72,7 @@
, m_repeatCount(1)
, m_requestId(IdentifiersFactory::requestId(requestIdentifier))
{
- autogenerateMetadata(canGenerateCallStack);
+ autogenerateMetadata(canGenerateCallStack, state);
}
ConsoleMessage::ConsoleMessage(bool, MessageSource source, MessageType type, MessageLevel level, const String& message, PassRefPtr<ScriptCallStack> callStack, unsigned long requestIdentifier)
Modified: trunk/Source/WebCore/inspector/ConsoleMessage.h (136718 => 136719)
--- trunk/Source/WebCore/inspector/ConsoleMessage.h 2012-12-05 19:10:48 UTC (rev 136718)
+++ trunk/Source/WebCore/inspector/ConsoleMessage.h 2012-12-05 19:18:13 UTC (rev 136719)
@@ -52,7 +52,7 @@
WTF_MAKE_NONCOPYABLE(ConsoleMessage); WTF_MAKE_FAST_ALLOCATED;
public:
ConsoleMessage(bool canGenerateCallStack, MessageSource, MessageType, MessageLevel, const String& message, unsigned long requestIdentifier = 0);
- ConsoleMessage(bool canGenerateCallStack, MessageSource, MessageType, MessageLevel, const String& message, const String& u, unsigned li, unsigned long requestIdentifier = 0);
+ ConsoleMessage(bool canGenerateCallStack, MessageSource, MessageType, MessageLevel, const String& message, const String& url, unsigned line, ScriptState* = 0, unsigned long requestIdentifier = 0);
ConsoleMessage(bool canGenerateCallStack, MessageSource, MessageType, MessageLevel, const String& message, PassRefPtr<ScriptCallStack>, unsigned long requestIdentifier = 0);
ConsoleMessage(bool canGenerateCallStack, MessageSource, MessageType, MessageLevel, const String& message, PassRefPtr<ScriptArguments>, ScriptState*, unsigned long requestIdentifier = 0);
~ConsoleMessage();
Modified: trunk/Source/WebCore/inspector/InspectorConsoleAgent.cpp (136718 => 136719)
--- trunk/Source/WebCore/inspector/InspectorConsoleAgent.cpp 2012-12-05 19:10:48 UTC (rev 136718)
+++ trunk/Source/WebCore/inspector/InspectorConsoleAgent.cpp 2012-12-05 19:18:13 UTC (rev 136719)
@@ -178,7 +178,7 @@
addConsoleMessage(adoptPtr(new ConsoleMessage(!isWorkerAgent(), source, type, level, message, arguments, state, requestIdentifier)));
}
-void InspectorConsoleAgent::addMessageToConsole(MessageSource source, MessageType type, MessageLevel level, const String& message, const String& scriptId, unsigned lineNumber, unsigned long requestIdentifier)
+void InspectorConsoleAgent::addMessageToConsole(MessageSource source, MessageType type, MessageLevel level, const String& message, const String& scriptId, unsigned lineNumber, ScriptState* state, unsigned long requestIdentifier)
{
if (!developerExtrasEnabled())
return;
@@ -188,7 +188,7 @@
clearMessages(&error);
}
- addConsoleMessage(adoptPtr(new ConsoleMessage(!isWorkerAgent(), source, type, level, message, scriptId, lineNumber, requestIdentifier)));
+ addConsoleMessage(adoptPtr(new ConsoleMessage(!isWorkerAgent(), source, type, level, message, scriptId, lineNumber, state, requestIdentifier)));
}
Vector<unsigned> InspectorConsoleAgent::consoleMessageArgumentCounts()
@@ -268,7 +268,7 @@
return;
if (m_frontend && m_state->getBoolean(ConsoleAgentState::monitoringXHR)) {
String message = "XHR finished loading: \"" + url + "\".";
- addMessageToConsole(NetworkMessageSource, LogMessageType, LogMessageLevel, message, sendURL, sendLineNumber, requestIdentifier);
+ addMessageToConsole(NetworkMessageSource, LogMessageType, LogMessageLevel, message, sendURL, sendLineNumber, 0, requestIdentifier);
}
@@ -281,7 +281,7 @@
if (response.httpStatusCode() >= 400) {
String message = "Failed to load resource: the server responded with a status of " + String::number(response.httpStatusCode()) + " (" + response.httpStatusText() + ')';
- addMessageToConsole(NetworkMessageSource, LogMessageType, ErrorMessageLevel, message, response.url().string(), 0, requestIdentifier);
+ addMessageToConsole(NetworkMessageSource, LogMessageType, ErrorMessageLevel, message, response.url().string(), 0, 0, requestIdentifier);
}
}
@@ -297,7 +297,7 @@
message.appendLiteral(": ");
message.append(error.localizedDescription());
}
- addMessageToConsole(NetworkMessageSource, LogMessageType, ErrorMessageLevel, message.toString(), error.failingURL(), 0, requestIdentifier);
+ addMessageToConsole(NetworkMessageSource, LogMessageType, ErrorMessageLevel, message.toString(), error.failingURL(), 0, 0, requestIdentifier);
}
void InspectorConsoleAgent::setMonitoringXHREnabled(ErrorString*, bool enabled)
Modified: trunk/Source/WebCore/inspector/InspectorConsoleAgent.h (136718 => 136719)
--- trunk/Source/WebCore/inspector/InspectorConsoleAgent.h 2012-12-05 19:10:48 UTC (rev 136718)
+++ trunk/Source/WebCore/inspector/InspectorConsoleAgent.h 2012-12-05 19:18:13 UTC (rev 136719)
@@ -70,7 +70,7 @@
virtual void restore();
void addMessageToConsole(MessageSource, MessageType, MessageLevel, const String& message, ScriptState*, PassRefPtr<ScriptArguments>, unsigned long requestIdentifier = 0);
- void addMessageToConsole(MessageSource, MessageType, MessageLevel, const String& message, const String& scriptId, unsigned lineNumber, unsigned long requestIdentifier = 0);
+ void addMessageToConsole(MessageSource, MessageType, MessageLevel, const String& message, const String& scriptId, unsigned lineNumber, ScriptState* = 0, unsigned long requestIdentifier = 0);
// FIXME: Remove once we no longer generate stacks outside of Inspector.
void addMessageToConsole(MessageSource, MessageType, MessageLevel, const String& message, PassRefPtr<ScriptCallStack>, unsigned long requestIdentifier = 0);
Modified: trunk/Source/WebCore/inspector/InspectorConsoleInstrumentation.h (136718 => 136719)
--- trunk/Source/WebCore/inspector/InspectorConsoleInstrumentation.h 2012-12-05 19:10:48 UTC (rev 136718)
+++ trunk/Source/WebCore/inspector/InspectorConsoleInstrumentation.h 2012-12-05 19:18:13 UTC (rev 136719)
@@ -55,11 +55,11 @@
#endif
}
-inline void InspectorInstrumentation::addMessageToConsole(Page* page, MessageSource source, MessageType type, MessageLevel level, const String& message, const String& scriptId, unsigned lineNumber, unsigned long requestIdentifier)
+inline void InspectorInstrumentation::addMessageToConsole(Page* page, MessageSource source, MessageType type, MessageLevel level, const String& message, const String& scriptId, unsigned lineNumber, ScriptState* state, unsigned long requestIdentifier)
{
#if ENABLE(INSPECTOR)
if (InstrumentingAgents* instrumentingAgents = instrumentingAgentsForPage(page))
- addMessageToConsoleImpl(instrumentingAgents, source, type, level, message, scriptId, lineNumber, requestIdentifier);
+ addMessageToConsoleImpl(instrumentingAgents, source, type, level, message, scriptId, lineNumber, state, requestIdentifier);
#endif
}
@@ -72,11 +72,11 @@
#endif
}
-inline void InspectorInstrumentation::addMessageToConsole(WorkerContext* workerContext, MessageSource source, MessageType type, MessageLevel level, const String& message, const String& scriptId, unsigned lineNumber, unsigned long requestIdentifier)
+inline void InspectorInstrumentation::addMessageToConsole(WorkerContext* workerContext, MessageSource source, MessageType type, MessageLevel level, const String& message, const String& scriptId, unsigned lineNumber, ScriptState* state, unsigned long requestIdentifier)
{
#if ENABLE(INSPECTOR)
if (InstrumentingAgents* instrumentingAgents = instrumentingAgentsForWorkerContext(workerContext))
- addMessageToConsoleImpl(instrumentingAgents, source, type, level, message, scriptId, lineNumber, requestIdentifier);
+ addMessageToConsoleImpl(instrumentingAgents, source, type, level, message, scriptId, lineNumber, state, requestIdentifier);
#endif
}
#endif
Modified: trunk/Source/WebCore/inspector/InspectorInstrumentation.cpp (136718 => 136719)
--- trunk/Source/WebCore/inspector/InspectorInstrumentation.cpp 2012-12-05 19:10:48 UTC (rev 136718)
+++ trunk/Source/WebCore/inspector/InspectorInstrumentation.cpp 2012-12-05 19:18:13 UTC (rev 136719)
@@ -968,10 +968,10 @@
#endif
}
-void InspectorInstrumentation::addMessageToConsoleImpl(InstrumentingAgents* instrumentingAgents, MessageSource source, MessageType type, MessageLevel level, const String& message, const String& scriptId, unsigned lineNumber, unsigned long requestIdentifier)
+void InspectorInstrumentation::addMessageToConsoleImpl(InstrumentingAgents* instrumentingAgents, MessageSource source, MessageType type, MessageLevel level, const String& message, const String& scriptId, unsigned lineNumber, ScriptState* state, unsigned long requestIdentifier)
{
if (InspectorConsoleAgent* consoleAgent = instrumentingAgents->inspectorConsoleAgent())
- consoleAgent->addMessageToConsole(source, type, level, message, scriptId, lineNumber, requestIdentifier);
+ consoleAgent->addMessageToConsole(source, type, level, message, scriptId, lineNumber, state, requestIdentifier);
}
void InspectorInstrumentation::consoleCountImpl(InstrumentingAgents* instrumentingAgents, ScriptState* state, PassRefPtr<ScriptArguments> arguments)
Modified: trunk/Source/WebCore/inspector/InspectorInstrumentation.h (136718 => 136719)
--- trunk/Source/WebCore/inspector/InspectorInstrumentation.h 2012-12-05 19:10:48 UTC (rev 136718)
+++ trunk/Source/WebCore/inspector/InspectorInstrumentation.h 2012-12-05 19:18:13 UTC (rev 136719)
@@ -198,11 +198,11 @@
// FIXME: Remove once we no longer generate stacks outside of Inspector.
static void addMessageToConsole(Page*, MessageSource, MessageType, MessageLevel, const String& message, PassRefPtr<ScriptCallStack>, unsigned long requestIdentifier = 0);
static void addMessageToConsole(Page*, MessageSource, MessageType, MessageLevel, const String& message, ScriptState*, PassRefPtr<ScriptArguments>, unsigned long requestIdentifier = 0);
- static void addMessageToConsole(Page*, MessageSource, MessageType, MessageLevel, const String& message, const String&, unsigned lineNumber, unsigned long requestIdentifier = 0);
+ static void addMessageToConsole(Page*, MessageSource, MessageType, MessageLevel, const String& message, const String&, unsigned lineNumber, ScriptState* = 0, unsigned long requestIdentifier = 0);
#if ENABLE(WORKERS)
// FIXME: Convert to ScriptArguments to match non-worker context.
static void addMessageToConsole(WorkerContext*, MessageSource, MessageType, MessageLevel, const String& message, PassRefPtr<ScriptCallStack>, unsigned long requestIdentifier = 0);
- static void addMessageToConsole(WorkerContext*, MessageSource, MessageType, MessageLevel, const String& message, const String&, unsigned lineNumber, unsigned long requestIdentifier = 0);
+ static void addMessageToConsole(WorkerContext*, MessageSource, MessageType, MessageLevel, const String& message, const String&, unsigned lineNumber, ScriptState* = 0, unsigned long requestIdentifier = 0);
#endif
static void consoleCount(Page*, ScriptState*, PassRefPtr<ScriptArguments>);
static void startConsoleTiming(Frame*, const String& title);
@@ -390,7 +390,7 @@
static void didWriteHTMLImpl(const InspectorInstrumentationCookie&, unsigned int endLine);
static void addMessageToConsoleImpl(InstrumentingAgents*, MessageSource, MessageType, MessageLevel, const String& message, ScriptState*, PassRefPtr<ScriptArguments>, unsigned long requestIdentifier);
- static void addMessageToConsoleImpl(InstrumentingAgents*, MessageSource, MessageType, MessageLevel, const String& message, const String& scriptId, unsigned lineNumber, unsigned long requestIdentifier);
+ static void addMessageToConsoleImpl(InstrumentingAgents*, MessageSource, MessageType, MessageLevel, const String& message, const String& scriptId, unsigned lineNumber, ScriptState*, unsigned long requestIdentifier);
// FIXME: Remove once we no longer generate stacks outside of Inspector.
static void addMessageToConsoleImpl(InstrumentingAgents*, MessageSource, MessageType, MessageLevel, const String& message, PassRefPtr<ScriptCallStack>, unsigned long requestIdentifier);
Modified: trunk/Source/WebCore/page/Console.cpp (136718 => 136719)
--- trunk/Source/WebCore/page/Console.cpp 2012-12-05 19:10:48 UTC (rev 136718)
+++ trunk/Source/WebCore/page/Console.cpp 2012-12-05 19:18:13 UTC (rev 136719)
@@ -146,7 +146,7 @@
if (!parser->isWaitingForScripts() && !parser->isExecutingScript())
line = parser->lineNumber().oneBasedInt();
}
- addMessage(source, type, level, message, url, line, 0, requestIdentifier);
+ addMessage(source, type, level, message, url, line, 0, 0, requestIdentifier);
}
void Console::addMessage(MessageSource source, MessageType type, MessageLevel level, const String& message, PassRefPtr<ScriptCallStack> callStack)
@@ -154,7 +154,7 @@
addMessage(source, type, level, message, String(), 0, callStack, 0);
}
-void Console::addMessage(MessageSource source, MessageType type, MessageLevel level, const String& message, const String& url, unsigned lineNumber, PassRefPtr<ScriptCallStack> callStack, unsigned long requestIdentifier)
+void Console::addMessage(MessageSource source, MessageType type, MessageLevel level, const String& message, const String& url, unsigned lineNumber, PassRefPtr<ScriptCallStack> callStack, ScriptState* state, unsigned long requestIdentifier)
{
if (muteCount && source != ConsoleAPIMessageSource)
return;
@@ -168,7 +168,7 @@
if (callStack)
InspectorInstrumentation::addMessageToConsole(page, source, type, level, message, callStack, requestIdentifier);
else
- InspectorInstrumentation::addMessageToConsole(page, source, type, level, message, url, lineNumber, requestIdentifier);
+ InspectorInstrumentation::addMessageToConsole(page, source, type, level, message, url, lineNumber, state, requestIdentifier);
if (!Console::shouldPrintExceptions())
return;
Modified: trunk/Source/WebCore/page/Console.h (136718 => 136719)
--- trunk/Source/WebCore/page/Console.h 2012-12-05 19:10:48 UTC (rev 136718)
+++ trunk/Source/WebCore/page/Console.h 2012-12-05 19:18:13 UTC (rev 136719)
@@ -57,7 +57,7 @@
static PassRefPtr<Console> create(Frame* frame) { return adoptRef(new Console(frame)); }
virtual ~Console();
- void addMessage(MessageSource, MessageType, MessageLevel, const String& message, const String& sourceURL, unsigned lineNumber, PassRefPtr<ScriptCallStack> = 0, unsigned long requestIdentifier = 0);
+ void addMessage(MessageSource, MessageType, MessageLevel, const String& message, const String& sourceURL, unsigned lineNumber, PassRefPtr<ScriptCallStack> = 0, ScriptState* = 0, unsigned long requestIdentifier = 0);
void addMessage(MessageSource, MessageType, MessageLevel, const String& message, PassRefPtr<ScriptCallStack>);
void addMessage(MessageSource, MessageType, MessageLevel, const String& message, unsigned long requestIdentifier = 0, Document* = 0);
Modified: trunk/Source/WebCore/page/ContentSecurityPolicy.cpp (136718 => 136719)
--- trunk/Source/WebCore/page/ContentSecurityPolicy.cpp 2012-12-05 19:10:48 UTC (rev 136718)
+++ trunk/Source/WebCore/page/ContentSecurityPolicy.cpp 2012-12-05 19:18:13 UTC (rev 136719)
@@ -39,8 +39,6 @@
#include "PingLoader.h"
#include "RuntimeEnabledFeatures.h"
#include "SchemeRegistry.h"
-#include "ScriptCallStack.h"
-#include "ScriptCallStackFactory.h"
#include "ScriptState.h"
#include "SecurityOrigin.h"
#include "TextEncoding.h"
@@ -1694,16 +1692,7 @@
void ContentSecurityPolicy::logToConsole(const String& message, const String& contextURL, const WTF::OrdinalNumber& contextLine, ScriptState* state) const
{
- RefPtr<ScriptCallStack> callStack;
- if (InspectorInstrumentation::consoleAgentEnabled(m_scriptExecutionContext)) {
- if (state)
- callStack = createScriptCallStackForConsole(state);
- else
- callStack = createScriptCallStack(ScriptCallStack::maxCallStackSizeToCapture, true);
- if (callStack && !callStack->size())
- callStack = 0;
- }
- m_scriptExecutionContext->addConsoleMessage(JSMessageSource, LogMessageType, ErrorMessageLevel, message, contextURL, contextLine.oneBasedInt(), callStack);
+ m_scriptExecutionContext->addConsoleMessage(JSMessageSource, LogMessageType, ErrorMessageLevel, message, contextURL, contextLine.oneBasedInt(), state);
}
void ContentSecurityPolicy::reportBlockedScriptExecutionToInspector(const String& directiveText) const
Modified: trunk/Source/WebCore/workers/WorkerContext.cpp (136718 => 136719)
--- trunk/Source/WebCore/workers/WorkerContext.cpp 2012-12-05 19:10:48 UTC (rev 136718)
+++ trunk/Source/WebCore/workers/WorkerContext.cpp 2012-12-05 19:18:13 UTC (rev 136719)
@@ -287,26 +287,26 @@
}
thread()->workerReportingProxy().postConsoleMessageToWorkerObject(source, type, level, message, 0, String());
- addMessageToWorkerConsole(source, type, level, message, String(), 0, 0, requestIdentifier);
+ addMessageToWorkerConsole(source, type, level, message, String(), 0, 0, 0, requestIdentifier);
}
-void WorkerContext::addMessage(MessageSource source, MessageType type, MessageLevel level, const String& message, const String& sourceURL, unsigned lineNumber, PassRefPtr<ScriptCallStack> callStack, unsigned long requestIdentifier)
+void WorkerContext::addMessage(MessageSource source, MessageType type, MessageLevel level, const String& message, const String& sourceURL, unsigned lineNumber, PassRefPtr<ScriptCallStack> callStack, ScriptState* state, unsigned long requestIdentifier)
{
if (!isContextThread()) {
postTask(AddConsoleMessageTask::create(source, type, level, message));
return;
}
thread()->workerReportingProxy().postConsoleMessageToWorkerObject(source, type, level, message, lineNumber, sourceURL);
- addMessageToWorkerConsole(source, type, level, message, sourceURL, lineNumber, callStack, requestIdentifier);
+ addMessageToWorkerConsole(source, type, level, message, sourceURL, lineNumber, callStack, state, requestIdentifier);
}
-void WorkerContext::addMessageToWorkerConsole(MessageSource source, MessageType type, MessageLevel level, const String& message, const String& sourceURL, unsigned lineNumber, PassRefPtr<ScriptCallStack> callStack, unsigned long requestIdentifier)
+void WorkerContext::addMessageToWorkerConsole(MessageSource source, MessageType type, MessageLevel level, const String& message, const String& sourceURL, unsigned lineNumber, PassRefPtr<ScriptCallStack> callStack, ScriptState* state, unsigned long requestIdentifier)
{
ASSERT(isContextThread());
if (callStack)
InspectorInstrumentation::addMessageToConsole(this, source, type, level, message, callStack, requestIdentifier);
else
- InspectorInstrumentation::addMessageToConsole(this, source, type, level, message, sourceURL, lineNumber, requestIdentifier);
+ InspectorInstrumentation::addMessageToConsole(this, source, type, level, message, sourceURL, lineNumber, state, requestIdentifier);
}
bool WorkerContext::isContextThread() const
Modified: trunk/Source/WebCore/workers/WorkerContext.h (136718 => 136719)
--- trunk/Source/WebCore/workers/WorkerContext.h 2012-12-05 19:10:48 UTC (rev 136718)
+++ trunk/Source/WebCore/workers/WorkerContext.h 2012-12-05 19:18:13 UTC (rev 136719)
@@ -145,7 +145,7 @@
void applyContentSecurityPolicyFromString(const String& contentSecurityPolicy, ContentSecurityPolicy::HeaderType);
virtual void logExceptionToConsole(const String& errorMessage, const String& sourceURL, int lineNumber, PassRefPtr<ScriptCallStack>);
- void addMessageToWorkerConsole(MessageSource, MessageType, MessageLevel, const String& message, const String& sourceURL, unsigned lineNumber, PassRefPtr<ScriptCallStack>, unsigned long requestIdentifier = 0);
+ void addMessageToWorkerConsole(MessageSource, MessageType, MessageLevel, const String& message, const String& sourceURL, unsigned lineNumber, PassRefPtr<ScriptCallStack>, ScriptState* = 0, unsigned long requestIdentifier = 0);
private:
virtual void refScriptExecutionContext() { ref(); }
@@ -159,7 +159,7 @@
virtual const KURL& virtualURL() const;
virtual KURL virtualCompleteURL(const String&) const;
- virtual void addMessage(MessageSource, MessageType, MessageLevel, const String& message, const String& sourceURL, unsigned lineNumber, PassRefPtr<ScriptCallStack>, unsigned long requestIdentifier = 0);
+ virtual void addMessage(MessageSource, MessageType, MessageLevel, const String& message, const String& sourceURL, unsigned lineNumber, PassRefPtr<ScriptCallStack>, ScriptState* = 0, unsigned long requestIdentifier = 0);
virtual void addConsoleMessage(MessageSource, MessageType, MessageLevel, const String& message, unsigned long requestIdentifier = 0);
virtual EventTarget* errorEventTarget();