Chromium Code Reviews| Index: Source/core/inspector/ConsoleMessage.h |
| diff --git a/Source/core/inspector/ConsoleMessage.h b/Source/core/inspector/ConsoleMessage.h |
| index 6150e712ee7a1b00c4350fe0ffde9bd5245cb01b..81e29e9b07aacb2642f947deba01d522d8e351bf 100644 |
| --- a/Source/core/inspector/ConsoleMessage.h |
| +++ b/Source/core/inspector/ConsoleMessage.h |
| @@ -1,88 +1,116 @@ |
| -/* |
| - * 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 RefCountedWillBeGarbageCollectedFinalized<ConsoleMessage> { |
|
yurys
2014/07/11 12:36:34
New class could be called ConsoleMessageArguments,
|
| 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 PassRefPtrWillBeRawPtr<ConsoleMessage> create() |
| + { |
| + return adoptRefWillBeNoop(new ConsoleMessage()); |
| + } |
| + static PassRefPtrWillBeRawPtr<ConsoleMessage> create(MessageSource source, MessageLevel level, const String& message, const String& url, unsigned lineNumber, unsigned columnNumber = 0) |
| + { |
| + return adoptRefWillBeNoop(new ConsoleMessage(source, level, message, url, lineNumber, columnNumber, nullptr, nullptr, 0, NotSharableCrossOrigin)); |
| + } |
| + static PassRefPtrWillBeRawPtr<ConsoleMessage> create(MessageSource source, MessageLevel level, const String& message) |
| + { |
| + return adoptRefWillBeNoop(new ConsoleMessage(source, level, message, String(), 0, 0, nullptr, nullptr, 0, NotSharableCrossOrigin)); |
| + } |
| + static PassRefPtrWillBeRawPtr<ConsoleMessage> create(MessageSource source, MessageLevel level, const String& message, PassRefPtrWillBeRawPtr<ScriptCallStack> callStack) |
| + { |
| + return adoptRefWillBeNoop(new ConsoleMessage(source, level, message, String(), 0, 0, callStack, nullptr, 0, NotSharableCrossOrigin)); |
| + } |
| + static PassRefPtrWillBeRawPtr<ConsoleMessage> create(MessageSource source, MessageLevel level, const String& message, ScriptState* scriptState) |
| + { |
| + return adoptRefWillBeNoop(new ConsoleMessage(source, level, message, String(), 0, 0, nullptr, scriptState, 0, NotSharableCrossOrigin)); |
| + } |
| + static PassRefPtrWillBeRawPtr<ConsoleMessage> create(MessageSource source, MessageLevel level, const String& message, unsigned long requestIdentifier) |
| + { |
| + return adoptRefWillBeNoop(new ConsoleMessage(source, level, message, String(), 0, 0, nullptr, nullptr, requestIdentifier, NotSharableCrossOrigin)); |
| + } |
| + static PassRefPtrWillBeRawPtr<ConsoleMessage> create(MessageSource source, |
| + MessageLevel level, |
| + const String& message, |
| + const String& url, |
| + unsigned lineNumber, |
| + unsigned columnNumber, |
| + PassRefPtrWillBeRawPtr<ScriptCallStack> callStack, |
| + ScriptState* scriptState, |
| + unsigned long requestIdentifier, |
| + AccessControlStatus corsStatus) |
| + { |
| + return adoptRefWillBeNoop(new ConsoleMessage(source, level, message, url, lineNumber, columnNumber, callStack, scriptState, 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&); |
| + |
| + unsigned lineNumber() const; |
| + void setLineNumber(unsigned); |
| - void addToFrontend(InspectorFrontend::Console*, InjectedScriptManager*, bool generatePreview); |
| - void setTimestamp(double timestamp) { m_timestamp = timestamp; } |
| - void setAsyncStackTrace(PassRefPtrWillBeRawPtr<ScriptAsyncCallStack>); |
| + unsigned columnNumber() const; |
| + void setColumnNumber(unsigned); |
| - MessageType type() const { return m_type; } |
| + RefPtrWillBeRawPtr<ScriptCallStack> callStack(); |
| + void setCallStack(RefPtrWillBeRawPtr<ScriptCallStack>); |
| - void windowCleared(LocalDOMWindow*); |
| + ScriptState* scriptState() const; |
| + void setScriptState(ScriptState*); |
| - 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, |
| + PassRefPtrWillBeRawPtr<ScriptCallStack>, |
| + ScriptState*, |
| + 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; |
| + RefPtrWillBeRawPtr<ScriptCallStack> m_callStack; |
| + ScriptState* m_scriptState; |
| + unsigned long m_requestIdentifier; |
| + AccessControlStatus m_corsStatus; |
| }; |
| } // namespace WebCore |