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

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

Issue 2016123002: Remove ScriptCallStack. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@2006893004
Patch Set: rebased 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/ScriptCallStack.h"
8 #include "bindings/core/v8/ScriptValue.h" 7 #include "bindings/core/v8/ScriptValue.h"
9 #include "bindings/core/v8/SourceLocation.h" 8 #include "bindings/core/v8/SourceLocation.h"
10 #include "core/inspector/ScriptArguments.h" 9 #include "core/inspector/ScriptArguments.h"
11 #include "wtf/CurrentTime.h" 10 #include "wtf/CurrentTime.h"
12 #include "wtf/PassOwnPtr.h" 11 #include "wtf/PassOwnPtr.h"
13 12
14 namespace blink { 13 namespace blink {
15 14
16 unsigned nextMessageId() 15 unsigned nextMessageId()
17 { 16 {
18 struct MessageId { 17 struct MessageId {
19 MessageId() : value(0) { } 18 MessageId() : value(0) { }
20 unsigned value; 19 unsigned value;
21 }; 20 };
22 21
23 DEFINE_THREAD_SAFE_STATIC_LOCAL(WTF::ThreadSpecific<MessageId>, messageId, n ew WTF::ThreadSpecific<MessageId>); 22 DEFINE_THREAD_SAFE_STATIC_LOCAL(WTF::ThreadSpecific<MessageId>, messageId, n ew WTF::ThreadSpecific<MessageId>);
24 return ++messageId->value; 23 return ++messageId->value;
25 } 24 }
26 25
27 // static 26 // static
28 ConsoleMessage* ConsoleMessage::create(MessageSource source, MessageLevel level, const String& message, const String& url, unsigned lineNumber, unsigned columnN umber, PassRefPtr<ScriptCallStack> passCallStack, int scriptId, ScriptArguments* arguments)
29 {
30 RefPtr<ScriptCallStack> callStack = passCallStack;
31 if (callStack && !callStack->isEmpty() && (!scriptId || !lineNumber))
32 return new ConsoleMessage(source, level, message, callStack->topSourceUR L(), callStack->topLineNumber(), callStack->topColumnNumber(), callStack->copySt ackTrace(), 0, arguments);
33 return new ConsoleMessage(source, level, message, url, lineNumber, columnNum ber, callStack ? callStack->copyStackTrace() : nullptr, scriptId, arguments);
34 }
35
36 // static
37 ConsoleMessage* ConsoleMessage::create(MessageSource source, MessageLevel level, const String& message, const String& url, unsigned lineNumber, unsigned columnN umber)
38 {
39 return ConsoleMessage::create(source, level, message, url, lineNumber, colum nNumber, nullptr, 0);
40 }
41
42 // static
43 ConsoleMessage* ConsoleMessage::createWithCallStack(MessageSource source, Messag eLevel level, const String& message, const String& url, unsigned lineNumber, uns igned columnNumber)
44 {
45 return ConsoleMessage::create(source, level, message, url, lineNumber, colum nNumber, ScriptCallStack::captureForConsole(), 0);
46 }
47
48 // static
49 ConsoleMessage* ConsoleMessage::create(MessageSource source, MessageLevel level, const String& message)
50 {
51 return ConsoleMessage::createWithCallStack(source, level, message, String(), 0, 0);
52 }
53
54 // static
55 ConsoleMessage* ConsoleMessage::createForRequest(MessageSource source, MessageLe vel level, const String& message, const String& url, unsigned long requestIdenti fier) 27 ConsoleMessage* ConsoleMessage::createForRequest(MessageSource source, MessageLe vel level, const String& message, const String& url, unsigned long requestIdenti fier)
56 { 28 {
57 ConsoleMessage* consoleMessage = ConsoleMessage::createWithCallStack(source, level, message, url, 0, 0); 29 ConsoleMessage* consoleMessage = ConsoleMessage::create(source, level, messa ge, SourceLocation::capture(url, 0, 0));
58 consoleMessage->m_requestIdentifier = requestIdentifier; 30 consoleMessage->m_requestIdentifier = requestIdentifier;
59 return consoleMessage; 31 return consoleMessage;
60 } 32 }
61 33
62 // static 34 // static
63 ConsoleMessage* ConsoleMessage::createForConsoleAPI(MessageLevel level, MessageT ype type, const String& message, ScriptArguments* arguments) 35 ConsoleMessage* ConsoleMessage::createForConsoleAPI(MessageLevel level, MessageT ype type, const String& message, ScriptArguments* arguments)
64 { 36 {
65 ConsoleMessage* consoleMessage = ConsoleMessage::create(ConsoleAPIMessageSou rce, level, message, String(), 0, 0, ScriptCallStack::captureForConsole(), 0, ar guments); 37 ConsoleMessage* consoleMessage = ConsoleMessage::create(ConsoleAPIMessageSou rce, level, message, SourceLocation::capture(), arguments);
66 consoleMessage->m_type = type; 38 consoleMessage->m_type = type;
67 return consoleMessage; 39 return consoleMessage;
68 } 40 }
69 41
70 // static 42 // static
71 ConsoleMessage* ConsoleMessage::create(MessageSource source, MessageLevel level, const String& message, PassOwnPtr<SourceLocation> location, ScriptArguments* ar guments) 43 ConsoleMessage* ConsoleMessage::create(MessageSource source, MessageLevel level, const String& message, PassOwnPtr<SourceLocation> location, ScriptArguments* ar guments)
72 { 44 {
73 if (!location) 45 return new ConsoleMessage(source, level, message, std::move(location), argum ents);
74 return new ConsoleMessage(source, level, message, String(), 0, 0, nullpt r, 0, arguments);
75 return new ConsoleMessage(source, level, message, location->url(), location- >lineNumber(), location->columnNumber(), location->takeStackTrace(), location->s criptId(), arguments);
76 } 46 }
77 47
78 // static 48 // static
79 ConsoleMessage* ConsoleMessage::create(MessageSource source, MessageLevel level, const String& message, const String& url, unsigned lineNumber, unsigned columnN umber, std::unique_ptr<V8StackTrace> stackTrace, int scriptId, ScriptArguments* arguments) 49 ConsoleMessage* ConsoleMessage::create(MessageSource source, MessageLevel level, const String& message)
80 { 50 {
81 return new ConsoleMessage(source, level, message, url, lineNumber, columnNum ber, std::move(stackTrace), scriptId, arguments); 51 return ConsoleMessage::create(source, level, message, SourceLocation::captur e());
82 } 52 }
83 53
84 ConsoleMessage::ConsoleMessage(MessageSource source, 54 ConsoleMessage::ConsoleMessage(MessageSource source,
85 MessageLevel level, 55 MessageLevel level,
86 const String& message, 56 const String& message,
87 const String& url, 57 PassOwnPtr<SourceLocation> location,
88 unsigned lineNumber,
89 unsigned columnNumber,
90 std::unique_ptr<V8StackTrace> stackTrace,
91 int scriptId,
92 ScriptArguments* arguments) 58 ScriptArguments* arguments)
93 : m_source(source) 59 : m_source(source)
94 , m_level(level) 60 , m_level(level)
95 , m_type(LogMessageType) 61 , m_type(LogMessageType)
96 , m_message(message) 62 , m_message(message)
97 , m_scriptId(scriptId) 63 , m_location(std::move(location))
98 , m_url(url)
99 , m_lineNumber(lineNumber)
100 , m_columnNumber(columnNumber)
101 , m_stackTrace(std::move(stackTrace))
102 , m_scriptArguments(arguments) 64 , m_scriptArguments(arguments)
103 , m_requestIdentifier(0) 65 , m_requestIdentifier(0)
104 , m_timestamp(WTF::currentTime()) 66 , m_timestamp(WTF::currentTime())
105 , m_messageId(0) 67 , m_messageId(0)
106 , m_relatedMessageId(0) 68 , m_relatedMessageId(0)
107 { 69 {
108 } 70 }
109 71
110 ConsoleMessage::~ConsoleMessage() 72 ConsoleMessage::~ConsoleMessage()
111 { 73 {
112 } 74 }
113 75
114 MessageType ConsoleMessage::type() const 76 MessageType ConsoleMessage::type() const
115 { 77 {
116 return m_type; 78 return m_type;
117 } 79 }
118 80
119 int ConsoleMessage::scriptId() const 81 SourceLocation* ConsoleMessage::location() const
120 { 82 {
121 return m_scriptId; 83 return m_location.get();
122 }
123
124 const String& ConsoleMessage::url() const
125 {
126 return m_url;
127 }
128
129 unsigned ConsoleMessage::lineNumber() const
130 {
131 return m_lineNumber;
132 }
133
134 unsigned ConsoleMessage::columnNumber() const
135 {
136 return m_columnNumber;
137 }
138
139 V8StackTrace* ConsoleMessage::stackTrace() const
140 {
141 return m_stackTrace.get();
142 } 84 }
143 85
144 ScriptArguments* ConsoleMessage::scriptArguments() const 86 ScriptArguments* ConsoleMessage::scriptArguments() const
145 { 87 {
146 return m_scriptArguments; 88 return m_scriptArguments;
147 } 89 }
148 90
149 unsigned long ConsoleMessage::requestIdentifier() const 91 unsigned long ConsoleMessage::requestIdentifier() const
150 { 92 {
151 return m_requestIdentifier; 93 return m_requestIdentifier;
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
195 return m_scriptArguments->argumentCount(); 137 return m_scriptArguments->argumentCount();
196 return 0; 138 return 0;
197 } 139 }
198 140
199 DEFINE_TRACE(ConsoleMessage) 141 DEFINE_TRACE(ConsoleMessage)
200 { 142 {
201 visitor->trace(m_scriptArguments); 143 visitor->trace(m_scriptArguments);
202 } 144 }
203 145
204 } // namespace blink 146 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698