Upstream version 9.38.198.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / Source / core / inspector / ConsoleMessage.h
index bddd7dd..bb53839 100644 (file)
@@ -1,87 +1,70 @@
-/*
- * 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 "InspectorFrontend.h"
-#include "bindings/v8/ScriptState.h"
-#include "core/inspector/ConsoleAPITypes.h"
+#include "bindings/core/v8/ScriptState.h"
 #include "core/frame/ConsoleTypes.h"
+#include "core/inspector/ScriptCallStack.h"
+#include "platform/heap/Handle.h"
 #include "wtf/Forward.h"
+#include "wtf/PassRefPtr.h"
+#include "wtf/RefCounted.h"
+#include "wtf/text/WTFString.h"
 
-namespace WebCore {
+namespace blink {
 
-class DOMWindow;
-class InjectedScriptManager;
-class InspectorFrontend;
-class ScriptArguments;
-class ScriptCallFrame;
 class ScriptCallStack;
-class ScriptValue;
+class ScriptState;
+class WorkerGlobalScopeProxy;
 
-class ConsoleMessage {
-    WTF_MAKE_NONCOPYABLE(ConsoleMessage); WTF_MAKE_FAST_ALLOCATED;
+class ConsoleMessage FINAL: public RefCountedWillBeGarbageCollectedFinalized<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, PassRefPtr<ScriptCallStack>, unsigned long requestIdentifier);
-    ConsoleMessage(bool canGenerateCallStack, MessageSource, MessageType, MessageLevel, const String& message, PassRefPtr<ScriptArguments>, ScriptState*, unsigned long requestIdentifier);
-    ~ConsoleMessage();
+    static PassRefPtrWillBeRawPtr<ConsoleMessage> create(MessageSource source, MessageLevel level, const String& message, const String& url = String(), unsigned lineNumber = 0, unsigned columnNumber = 0)
+    {
+        return adoptRefWillBeNoop(new ConsoleMessage(source, level, message, url, lineNumber, columnNumber));
+    }
 
-    void addToFrontend(InspectorFrontend::Console*, InjectedScriptManager*, bool generatePreview);
-    void setTimestamp(double timestamp) { m_timestamp = timestamp; }
+    ~ConsoleMessage();
 
-    MessageType type() const { return m_type; }
+    PassRefPtrWillBeRawPtr<ScriptCallStack> callStack() const;
+    void setCallStack(PassRefPtrWillBeRawPtr<ScriptCallStack>);
+    ScriptState* scriptState() const;
+    void setScriptState(ScriptState*);
+    unsigned long requestIdentifier() const;
+    void setRequestIdentifier(unsigned long);
+    const String& url() const;
+    void setURL(const String&);
+    unsigned lineNumber() const;
+    void setLineNumber(unsigned);
 
-    void windowCleared(DOMWindow*);
+    MessageSource source() const;
+    MessageLevel level() const;
+    const String& message() const;
+    unsigned columnNumber() const;
+    void setWorkerId(WorkerGlobalScopeProxy* proxy) { m_workerProxy = proxy; }
+    WorkerGlobalScopeProxy* workerId() { return m_workerProxy; }
 
-    unsigned argumentCount();
+    void trace(Visitor*);
 
 private:
-    void autogenerateMetadata(bool canGenerateCallStack, ScriptState* = 0);
+    ConsoleMessage();
+    ConsoleMessage(MessageSource, MessageLevel, const String& message, const String& url = String(), unsigned lineNumber = 0, unsigned columnNumber = 0);
 
     MessageSource m_source;
-    MessageType m_type;
     MessageLevel m_level;
     String m_message;
-    ScriptStateProtectingContext m_scriptState;
-    RefPtr<ScriptArguments> m_arguments;
-    RefPtr<ScriptCallStack> m_callStack;
     String m_url;
-    unsigned m_line;
-    unsigned m_column;
-    String m_requestId;
-    double m_timestamp;
+    unsigned m_lineNumber;
+    unsigned m_columnNumber;
+    RefPtrWillBeMember<ScriptCallStack> m_callStack;
+    ScriptState* m_scriptState;
+    unsigned long m_requestIdentifier;
+    WorkerGlobalScopeProxy* m_workerProxy;
 };
 
-} // namespace WebCore
+} // namespace blink
 
 #endif // ConsoleMessage_h