Index: Source/core/inspector/ConsoleMessage.h |
diff --git a/Source/core/inspector/ConsoleMessage.h b/Source/core/inspector/ConsoleMessage.h |
index 6150e712ee7a1b00c4350fe0ffde9bd5245cb01b..452661e80e26feef8681ae0d621f034ed56f820d 100644 |
--- a/Source/core/inspector/ConsoleMessage.h |
+++ b/Source/core/inspector/ConsoleMessage.h |
@@ -1,88 +1,106 @@ |
-/* |
- * Copyright (C) 2007, 2008 Apple Inc. All rights reserved. |
- * Copyright (C) 2008 Matt Lilek <webkit@mattlilek.com> |
- * Copyright (C) 2009, 2010 Google Inc. All rights reserved. |
- * |
- * Redistribution and use in source and binary forms, with or without |
- * modification, are permitted provided that the following conditions |
- * are met: |
- * |
- * 1. Redistributions of source code must retain the above copyright |
- * notice, this list of conditions and the following disclaimer. |
- * 2. Redistributions in binary form must reproduce the above copyright |
- * notice, this list of conditions and the following disclaimer in the |
- * documentation and/or other materials provided with the distribution. |
- * 3. Neither the name of Apple Computer, Inc. ("Apple") nor the names of |
- * its contributors may be used to endorse or promote products derived |
- * from this software without specific prior written permission. |
- * |
- * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY |
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED |
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE |
- * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY |
- * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES |
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; |
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND |
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF |
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
- */ |
+// Copyright 2014 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
#ifndef ConsoleMessage_h |
#define ConsoleMessage_h |
#include "bindings/core/v8/ScriptState.h" |
-#include "core/InspectorFrontend.h" |
-#include "core/inspector/ConsoleAPITypes.h" |
+#include "core/fetch/CrossOriginAccessControl.h" |
#include "core/frame/ConsoleTypes.h" |
+#include "core/inspector/ConsoleAPITypes.h" |
+#include "core/inspector/ScriptCallStack.h" |
#include "wtf/Forward.h" |
namespace WebCore { |
-class LocalDOMWindow; |
-class InjectedScriptManager; |
-class InspectorFrontend; |
class ScriptArguments; |
-class ScriptAsyncCallStack; |
class ScriptCallFrame; |
class ScriptCallStack; |
class ScriptValue; |
-class ConsoleMessage { |
- WTF_MAKE_NONCOPYABLE(ConsoleMessage); WTF_MAKE_FAST_ALLOCATED; |
+class ConsoleMessage FINAL: public RefCounted<ConsoleMessage> { |
public: |
- ConsoleMessage(bool canGenerateCallStack, MessageSource, MessageType, MessageLevel, const String& message); |
- ConsoleMessage(bool canGenerateCallStack, MessageSource, MessageType, MessageLevel, const String& message, const String& url, unsigned line, unsigned column, ScriptState*, unsigned long requestIdentifier); |
- ConsoleMessage(bool canGenerateCallStack, MessageSource, MessageType, MessageLevel, const String& message, PassRefPtrWillBeRawPtr<ScriptCallStack>, unsigned long requestIdentifier); |
- ConsoleMessage(bool canGenerateCallStack, MessageSource, MessageType, MessageLevel, const String& message, PassRefPtrWillBeRawPtr<ScriptArguments>, ScriptState*, unsigned long requestIdentifier); |
- ~ConsoleMessage(); |
+ static PassRefPtr<ConsoleMessage> create() |
+ { |
+ return adoptRef(new ConsoleMessage()); |
+ } |
+ static PassRefPtr<ConsoleMessage> create(MessageSource source, MessageLevel level, const String& message, const String& url, unsigned lineNumber, unsigned columnNumber = 0) |
+ { |
+ return adoptRef(new ConsoleMessage(source, level, message, url, lineNumber, columnNumber, nullptr, 0, NotSharableCrossOrigin)); |
+ } |
+ static PassRefPtr<ConsoleMessage> create(MessageSource source, MessageLevel level, const String& message) |
+ { |
+ return adoptRef(new ConsoleMessage(source, level, message, String(), 0, 0, nullptr, 0, NotSharableCrossOrigin)); |
+ } |
+ static PassRefPtr<ConsoleMessage> create(MessageSource source, MessageLevel level, const String& message, PassRefPtr<ScriptCallStack> callStack) |
+ { |
+ return adoptRef(new ConsoleMessage(source, level, message, String(), 0, 0, callStack, 0, NotSharableCrossOrigin)); |
+ } |
+ static PassRefPtr<ConsoleMessage> create(MessageSource source, MessageLevel level, const String& message, unsigned long requestIdentifier) |
+ { |
+ return adoptRef(new ConsoleMessage(source, level, message, String(), 0, 0, nullptr, requestIdentifier, NotSharableCrossOrigin)); |
+ } |
+ static PassRefPtr<ConsoleMessage> create(MessageSource source, |
+ MessageLevel level, |
+ const String& message, |
+ const String& url, |
+ unsigned lineNumber, |
+ unsigned columnNumber, |
+ PassRefPtr<ScriptCallStack> callStack, |
+ unsigned long requestIdentifier, |
+ AccessControlStatus corsStatus) |
+ { |
+ return adoptRef(new ConsoleMessage(source, level, message, url, lineNumber, columnNumber, callStack, requestIdentifier, corsStatus)); |
+ } |
+ |
+ MessageSource source() const; |
+ void setSource(MessageSource); |
+ |
+ MessageLevel level() const; |
+ void setLevel(MessageLevel); |
+ |
+ const String& message() const; |
+ void setMessage(const String&); |
+ |
+ const String& url() const; |
+ void setURL(const String&); |
- void addToFrontend(InspectorFrontend::Console*, InjectedScriptManager*, bool generatePreview); |
- void setTimestamp(double timestamp) { m_timestamp = timestamp; } |
- void setAsyncStackTrace(PassRefPtrWillBeRawPtr<ScriptAsyncCallStack>); |
+ unsigned lineNumber() const; |
+ void setLineNumber(unsigned); |
- MessageType type() const { return m_type; } |
+ unsigned columnNumber() const; |
+ void setColumnNumber(unsigned); |
- void windowCleared(LocalDOMWindow*); |
+ PassRefPtr<ScriptCallStack> callStack(); |
+ void setCallStack(PassRefPtr<ScriptCallStack>); |
- unsigned argumentCount(); |
+ unsigned long requestIdentifier() const; |
+ void setRequestIdentifier(unsigned long); |
+ AccessControlStatus corsStatus() const; |
+ void setCorsStatus(AccessControlStatus); |
private: |
- void autogenerateMetadata(bool canGenerateCallStack, ScriptState* = 0); |
+ ConsoleMessage(); |
+ ConsoleMessage(MessageSource, |
+ MessageLevel, |
+ const String& message, |
+ const String& url, |
+ unsigned lineNumber, |
+ unsigned columnNumber, |
+ PassRefPtr<ScriptCallStack>, |
+ unsigned long requestIdentifier, |
+ AccessControlStatus corsStatus); |
MessageSource m_source; |
- MessageType m_type; |
MessageLevel m_level; |
String m_message; |
- ScriptStateProtectingContext m_scriptState; |
- RefPtrWillBePersistent<ScriptArguments> m_arguments; |
- RefPtrWillBePersistent<ScriptCallStack> m_callStack; |
- RefPtrWillBePersistent<ScriptAsyncCallStack> m_asyncCallStack; |
String m_url; |
- unsigned m_line; |
- unsigned m_column; |
- String m_requestId; |
- double m_timestamp; |
+ unsigned m_lineNumber; |
+ unsigned m_columnNumber; |
+ RefPtr<ScriptCallStack> m_callStack; |
+ unsigned long m_requestIdentifier; |
+ AccessControlStatus m_corsStatus; |
}; |
} // namespace WebCore |