Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(310)

Side by Side Diff: third_party/WebKit/Source/core/inspector/ConsoleMessage.cpp

Issue 2035653006: [DevTools] Move Console to v8 inspector. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: all tests pass Created 4 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "core/inspector/ConsoleMessage.h" 5 #include "core/inspector/ConsoleMessage.h"
6 6
7 #include "bindings/core/v8/ScriptValue.h"
8 #include "bindings/core/v8/SourceLocation.h" 7 #include "bindings/core/v8/SourceLocation.h"
9 #include "core/inspector/ScriptArguments.h"
10 #include "wtf/CurrentTime.h" 8 #include "wtf/CurrentTime.h"
11 #include "wtf/PassOwnPtr.h" 9 #include "wtf/PassOwnPtr.h"
12 10
13 namespace blink { 11 namespace blink {
14 12
15 unsigned nextMessageId()
16 {
17 struct MessageId {
18 MessageId() : value(0) { }
19 unsigned value;
20 };
21
22 DEFINE_THREAD_SAFE_STATIC_LOCAL(WTF::ThreadSpecific<MessageId>, messageId, n ew WTF::ThreadSpecific<MessageId>);
23 return ++messageId->value;
24 }
25
26 // static 13 // static
27 ConsoleMessage* ConsoleMessage::createForRequest(MessageSource source, MessageLe vel level, const String& message, const String& url, unsigned long requestIdenti fier) 14 ConsoleMessage* ConsoleMessage::createForRequest(MessageSource source, MessageLe vel level, const String& message, const String& url, unsigned long requestIdenti fier)
28 { 15 {
29 ConsoleMessage* consoleMessage = ConsoleMessage::create(source, level, messa ge, SourceLocation::capture(url, 0, 0)); 16 ConsoleMessage* consoleMessage = ConsoleMessage::create(source, level, messa ge, SourceLocation::capture(url, 0, 0));
30 consoleMessage->m_requestIdentifier = requestIdentifier; 17 consoleMessage->m_requestIdentifier = requestIdentifier;
31 return consoleMessage; 18 return consoleMessage;
32 } 19 }
33 20
34 // static 21 // static
35 ConsoleMessage* ConsoleMessage::createForConsoleAPI(MessageLevel level, MessageT ype type, const String& message, ScriptArguments* arguments) 22 ConsoleMessage* ConsoleMessage::create(MessageSource source, MessageLevel level, const String& message, PassOwnPtr<SourceLocation> location)
36 { 23 {
37 ConsoleMessage* consoleMessage = ConsoleMessage::create(ConsoleAPIMessageSou rce, level, message, SourceLocation::capture(), arguments); 24 return new ConsoleMessage(source, level, message, std::move(location));
38 consoleMessage->m_type = type;
39 return consoleMessage;
40 } 25 }
41 26
42 // static 27 // static
43 ConsoleMessage* ConsoleMessage::create(MessageSource source, MessageLevel level, const String& message, PassOwnPtr<SourceLocation> location, ScriptArguments* ar guments)
44 {
45 return new ConsoleMessage(source, level, message, std::move(location), argum ents);
46 }
47
48 // static
49 ConsoleMessage* ConsoleMessage::create(MessageSource source, MessageLevel level, const String& message) 28 ConsoleMessage* ConsoleMessage::create(MessageSource source, MessageLevel level, const String& message)
50 { 29 {
51 return ConsoleMessage::create(source, level, message, SourceLocation::captur e()); 30 return ConsoleMessage::create(source, level, message, SourceLocation::captur e());
52 } 31 }
53 32
54 ConsoleMessage::ConsoleMessage(MessageSource source, 33 ConsoleMessage::ConsoleMessage(MessageSource source,
55 MessageLevel level, 34 MessageLevel level,
56 const String& message, 35 const String& message,
57 PassOwnPtr<SourceLocation> location, 36 PassOwnPtr<SourceLocation> location)
58 ScriptArguments* arguments)
59 : m_source(source) 37 : m_source(source)
60 , m_level(level) 38 , m_level(level)
61 , m_type(LogMessageType)
62 , m_message(message) 39 , m_message(message)
63 , m_location(std::move(location)) 40 , m_location(std::move(location))
64 , m_scriptArguments(arguments)
65 , m_requestIdentifier(0) 41 , m_requestIdentifier(0)
66 , m_timestamp(WTF::currentTime()) 42 , m_timestamp(WTF::currentTime())
67 , m_messageId(0)
68 , m_relatedMessageId(0)
69 { 43 {
70 } 44 }
71 45
72 ConsoleMessage::~ConsoleMessage() 46 ConsoleMessage::~ConsoleMessage()
73 { 47 {
74 } 48 }
75 49
76 MessageType ConsoleMessage::type() const
77 {
78 return m_type;
79 }
80
81 SourceLocation* ConsoleMessage::location() const 50 SourceLocation* ConsoleMessage::location() const
82 { 51 {
83 return m_location.get(); 52 return m_location.get();
84 } 53 }
85 54
86 ScriptArguments* ConsoleMessage::scriptArguments() const
87 {
88 return m_scriptArguments;
89 }
90
91 unsigned long ConsoleMessage::requestIdentifier() const 55 unsigned long ConsoleMessage::requestIdentifier() const
92 { 56 {
93 return m_requestIdentifier; 57 return m_requestIdentifier;
94 } 58 }
95 59
96 double ConsoleMessage::timestamp() const 60 double ConsoleMessage::timestamp() const
97 { 61 {
98 return m_timestamp; 62 return m_timestamp;
99 } 63 }
100 64
101 unsigned ConsoleMessage::assignMessageId()
102 {
103 if (!m_messageId)
104 m_messageId = nextMessageId();
105 return m_messageId;
106 }
107
108 MessageSource ConsoleMessage::source() const 65 MessageSource ConsoleMessage::source() const
109 { 66 {
110 return m_source; 67 return m_source;
111 } 68 }
112 69
113 MessageLevel ConsoleMessage::level() const 70 MessageLevel ConsoleMessage::level() const
114 { 71 {
115 return m_level; 72 return m_level;
116 } 73 }
117 74
118 const String& ConsoleMessage::message() const 75 const String& ConsoleMessage::message() const
119 { 76 {
120 return m_message; 77 return m_message;
121 } 78 }
122 79
123 void ConsoleMessage::frameWindowDiscarded(LocalDOMWindow* window)
124 {
125 if (!m_scriptArguments)
126 return;
127 if (m_scriptArguments->getScriptState()->domWindow() != window)
128 return;
129 if (!m_message)
130 m_message = "<message collected>";
131 m_scriptArguments.clear();
132 }
133
134 unsigned ConsoleMessage::argumentCount()
135 {
136 if (m_scriptArguments)
137 return m_scriptArguments->argumentCount();
138 return 0;
139 }
140
141 DEFINE_TRACE(ConsoleMessage) 80 DEFINE_TRACE(ConsoleMessage)
142 { 81 {
143 visitor->trace(m_scriptArguments);
144 } 82 }
145 83
146 } // namespace blink 84 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698