Title: [136719] trunk/Source/WebCore
Revision
136719
Author
mk...@chromium.org
Date
2012-12-05 11:18:13 -0800 (Wed, 05 Dec 2012)

Log Message

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.

Modified Paths

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();
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to