| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2007 Apple Inc. All rights reserved. | 2 * Copyright (C) 2007 Apple Inc. All rights reserved. |
| 3 * | 3 * |
| 4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
| 5 * modification, are permitted provided that the following conditions | 5 * modification, are permitted provided that the following conditions |
| 6 * are met: | 6 * are met: |
| 7 * | 7 * |
| 8 * 1. Redistributions of source code must retain the above copyright | 8 * 1. Redistributions of source code must retain the above copyright |
| 9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
| 10 * 2. Redistributions in binary form must reproduce the above copyright | 10 * 2. Redistributions in binary form must reproduce the above copyright |
| (...skipping 25 matching lines...) Expand all Loading... |
| 36 #include "platform/TraceEvent.h" | 36 #include "platform/TraceEvent.h" |
| 37 #include "wtf/text/CString.h" | 37 #include "wtf/text/CString.h" |
| 38 #include "wtf/text/WTFString.h" | 38 #include "wtf/text/WTFString.h" |
| 39 | 39 |
| 40 namespace blink { | 40 namespace blink { |
| 41 | 41 |
| 42 ConsoleBase::~ConsoleBase() | 42 ConsoleBase::~ConsoleBase() |
| 43 { | 43 { |
| 44 } | 44 } |
| 45 | 45 |
| 46 void ConsoleBase::debug(ScriptState* scriptState, PassRefPtrWillBeRawPtr<ScriptA
rguments> arguments) | 46 void ConsoleBase::debug(ScriptState* scriptState, RawPtr<ScriptArguments> argume
nts) |
| 47 { | 47 { |
| 48 internalAddMessage(LogMessageType, DebugMessageLevel, scriptState, arguments
); | 48 internalAddMessage(LogMessageType, DebugMessageLevel, scriptState, arguments
); |
| 49 } | 49 } |
| 50 | 50 |
| 51 void ConsoleBase::error(ScriptState* scriptState, PassRefPtrWillBeRawPtr<ScriptA
rguments> arguments) | 51 void ConsoleBase::error(ScriptState* scriptState, RawPtr<ScriptArguments> argume
nts) |
| 52 { | 52 { |
| 53 internalAddMessage(LogMessageType, ErrorMessageLevel, scriptState, arguments
, false); | 53 internalAddMessage(LogMessageType, ErrorMessageLevel, scriptState, arguments
, false); |
| 54 } | 54 } |
| 55 | 55 |
| 56 void ConsoleBase::info(ScriptState* scriptState, PassRefPtrWillBeRawPtr<ScriptAr
guments> arguments) | 56 void ConsoleBase::info(ScriptState* scriptState, RawPtr<ScriptArguments> argumen
ts) |
| 57 { | 57 { |
| 58 internalAddMessage(LogMessageType, InfoMessageLevel, scriptState, arguments)
; | 58 internalAddMessage(LogMessageType, InfoMessageLevel, scriptState, arguments)
; |
| 59 } | 59 } |
| 60 | 60 |
| 61 void ConsoleBase::log(ScriptState* scriptState, PassRefPtrWillBeRawPtr<ScriptArg
uments> arguments) | 61 void ConsoleBase::log(ScriptState* scriptState, RawPtr<ScriptArguments> argument
s) |
| 62 { | 62 { |
| 63 internalAddMessage(LogMessageType, LogMessageLevel, scriptState, arguments); | 63 internalAddMessage(LogMessageType, LogMessageLevel, scriptState, arguments); |
| 64 } | 64 } |
| 65 | 65 |
| 66 void ConsoleBase::warn(ScriptState* scriptState, PassRefPtrWillBeRawPtr<ScriptAr
guments> arguments) | 66 void ConsoleBase::warn(ScriptState* scriptState, RawPtr<ScriptArguments> argumen
ts) |
| 67 { | 67 { |
| 68 internalAddMessage(LogMessageType, WarningMessageLevel, scriptState, argumen
ts); | 68 internalAddMessage(LogMessageType, WarningMessageLevel, scriptState, argumen
ts); |
| 69 } | 69 } |
| 70 | 70 |
| 71 void ConsoleBase::dir(ScriptState* scriptState, PassRefPtrWillBeRawPtr<ScriptArg
uments> arguments) | 71 void ConsoleBase::dir(ScriptState* scriptState, RawPtr<ScriptArguments> argument
s) |
| 72 { | 72 { |
| 73 internalAddMessage(DirMessageType, LogMessageLevel, scriptState, arguments); | 73 internalAddMessage(DirMessageType, LogMessageLevel, scriptState, arguments); |
| 74 } | 74 } |
| 75 | 75 |
| 76 void ConsoleBase::dirxml(ScriptState* scriptState, PassRefPtrWillBeRawPtr<Script
Arguments> arguments) | 76 void ConsoleBase::dirxml(ScriptState* scriptState, RawPtr<ScriptArguments> argum
ents) |
| 77 { | 77 { |
| 78 internalAddMessage(DirXMLMessageType, LogMessageLevel, scriptState, argument
s); | 78 internalAddMessage(DirXMLMessageType, LogMessageLevel, scriptState, argument
s); |
| 79 } | 79 } |
| 80 | 80 |
| 81 void ConsoleBase::table(ScriptState* scriptState, PassRefPtrWillBeRawPtr<ScriptA
rguments> arguments) | 81 void ConsoleBase::table(ScriptState* scriptState, RawPtr<ScriptArguments> argume
nts) |
| 82 { | 82 { |
| 83 internalAddMessage(TableMessageType, LogMessageLevel, scriptState, arguments
); | 83 internalAddMessage(TableMessageType, LogMessageLevel, scriptState, arguments
); |
| 84 } | 84 } |
| 85 | 85 |
| 86 void ConsoleBase::clear(ScriptState* scriptState, PassRefPtrWillBeRawPtr<ScriptA
rguments> arguments) | 86 void ConsoleBase::clear(ScriptState* scriptState, RawPtr<ScriptArguments> argume
nts) |
| 87 { | 87 { |
| 88 internalAddMessage(ClearMessageType, LogMessageLevel, scriptState, arguments
, true); | 88 internalAddMessage(ClearMessageType, LogMessageLevel, scriptState, arguments
, true); |
| 89 } | 89 } |
| 90 | 90 |
| 91 void ConsoleBase::trace(ScriptState* scriptState, PassRefPtrWillBeRawPtr<ScriptA
rguments> arguments) | 91 void ConsoleBase::trace(ScriptState* scriptState, RawPtr<ScriptArguments> argume
nts) |
| 92 { | 92 { |
| 93 internalAddMessage(TraceMessageType, LogMessageLevel, scriptState, arguments
, true); | 93 internalAddMessage(TraceMessageType, LogMessageLevel, scriptState, arguments
, true); |
| 94 } | 94 } |
| 95 | 95 |
| 96 void ConsoleBase::assertCondition(ScriptState* scriptState, PassRefPtrWillBeRawP
tr<ScriptArguments> arguments, bool condition) | 96 void ConsoleBase::assertCondition(ScriptState* scriptState, RawPtr<ScriptArgumen
ts> arguments, bool condition) |
| 97 { | 97 { |
| 98 if (condition) | 98 if (condition) |
| 99 return; | 99 return; |
| 100 | 100 |
| 101 internalAddMessage(AssertMessageType, ErrorMessageLevel, scriptState, argume
nts, true); | 101 internalAddMessage(AssertMessageType, ErrorMessageLevel, scriptState, argume
nts, true); |
| 102 } | 102 } |
| 103 | 103 |
| 104 void ConsoleBase::count(ScriptState* scriptState, PassRefPtrWillBeRawPtr<ScriptA
rguments> arguments) | 104 void ConsoleBase::count(ScriptState* scriptState, RawPtr<ScriptArguments> argume
nts) |
| 105 { | 105 { |
| 106 RefPtr<ScriptCallStack> callStack(ScriptCallStack::capture(1)); | 106 RefPtr<ScriptCallStack> callStack(ScriptCallStack::capture(1)); |
| 107 // Follow Firebug's behavior of counting with null and undefined title in | 107 // Follow Firebug's behavior of counting with null and undefined title in |
| 108 // the same bucket as no argument | 108 // the same bucket as no argument |
| 109 String title; | 109 String title; |
| 110 arguments->getFirstArgumentAsString(title); | 110 arguments->getFirstArgumentAsString(title); |
| 111 String identifier = title.isEmpty() ? String(callStack->topSourceURL() + ':'
+ String::number(callStack->topLineNumber())) | 111 String identifier = title.isEmpty() ? String(callStack->topSourceURL() + ':'
+ String::number(callStack->topLineNumber())) |
| 112 : String(title + '@'); | 112 : String(title + '@'); |
| 113 | 113 |
| 114 HashCountedSet<String>::AddResult result = m_counts.add(identifier); | 114 HashCountedSet<String>::AddResult result = m_counts.add(identifier); |
| 115 String message = title + ": " + String::number(result.storedValue->value); | 115 String message = title + ": " + String::number(result.storedValue->value); |
| 116 | 116 |
| 117 RefPtrWillBeRawPtr<ConsoleMessage> consoleMessage = ConsoleMessage::create(C
onsoleAPIMessageSource, DebugMessageLevel, message); | 117 RawPtr<ConsoleMessage> consoleMessage = ConsoleMessage::create(ConsoleAPIMes
sageSource, DebugMessageLevel, message); |
| 118 consoleMessage->setType(CountMessageType); | 118 consoleMessage->setType(CountMessageType); |
| 119 consoleMessage->setScriptState(scriptState); | 119 consoleMessage->setScriptState(scriptState); |
| 120 consoleMessage->setCallStack(callStack.release()); | 120 consoleMessage->setCallStack(callStack.release()); |
| 121 reportMessageToConsole(consoleMessage.release()); | 121 reportMessageToConsole(consoleMessage.release()); |
| 122 } | 122 } |
| 123 | 123 |
| 124 void ConsoleBase::markTimeline(const String& title) | 124 void ConsoleBase::markTimeline(const String& title) |
| 125 { | 125 { |
| 126 timeStamp(title); | 126 timeStamp(title); |
| 127 } | 127 } |
| (...skipping 30 matching lines...) Expand all Loading... |
| 158 HashMap<String, double>::iterator it = m_times.find(title); | 158 HashMap<String, double>::iterator it = m_times.find(title); |
| 159 if (it == m_times.end()) | 159 if (it == m_times.end()) |
| 160 return; | 160 return; |
| 161 | 161 |
| 162 double startTime = it->value; | 162 double startTime = it->value; |
| 163 m_times.remove(it); | 163 m_times.remove(it); |
| 164 | 164 |
| 165 double elapsed = monotonicallyIncreasingTime() - startTime; | 165 double elapsed = monotonicallyIncreasingTime() - startTime; |
| 166 String message = title + String::format(": %.3fms", elapsed * 1000); | 166 String message = title + String::format(": %.3fms", elapsed * 1000); |
| 167 | 167 |
| 168 RefPtrWillBeRawPtr<ConsoleMessage> consoleMessage = ConsoleMessage::create(C
onsoleAPIMessageSource, DebugMessageLevel, message); | 168 RawPtr<ConsoleMessage> consoleMessage = ConsoleMessage::create(ConsoleAPIMes
sageSource, DebugMessageLevel, message); |
| 169 consoleMessage->setType(TimeEndMessageType); | 169 consoleMessage->setType(TimeEndMessageType); |
| 170 consoleMessage->setScriptState(scriptState); | 170 consoleMessage->setScriptState(scriptState); |
| 171 consoleMessage->setCallStack(ScriptCallStack::capture(1)); | 171 consoleMessage->setCallStack(ScriptCallStack::capture(1)); |
| 172 reportMessageToConsole(consoleMessage.release()); | 172 reportMessageToConsole(consoleMessage.release()); |
| 173 } | 173 } |
| 174 | 174 |
| 175 void ConsoleBase::timeStamp(const String& title) | 175 void ConsoleBase::timeStamp(const String& title) |
| 176 { | 176 { |
| 177 TRACE_EVENT_INSTANT1("devtools.timeline", "TimeStamp", TRACE_EVENT_SCOPE_THR
EAD, "data", InspectorTimeStampEvent::data(context(), title)); | 177 TRACE_EVENT_INSTANT1("devtools.timeline", "TimeStamp", TRACE_EVENT_SCOPE_THR
EAD, "data", InspectorTimeStampEvent::data(context(), title)); |
| 178 } | 178 } |
| 179 | 179 |
| 180 static String formatTimelineTitle(const String& title) | 180 static String formatTimelineTitle(const String& title) |
| 181 { | 181 { |
| 182 return String::format("Timeline '%s'", title.utf8().data()); | 182 return String::format("Timeline '%s'", title.utf8().data()); |
| 183 } | 183 } |
| 184 | 184 |
| 185 void ConsoleBase::timeline(ScriptState* scriptState, const String& title) | 185 void ConsoleBase::timeline(ScriptState* scriptState, const String& title) |
| 186 { | 186 { |
| 187 TRACE_EVENT_COPY_ASYNC_BEGIN0("blink.console", formatTimelineTitle(title).ut
f8().data(), this); | 187 TRACE_EVENT_COPY_ASYNC_BEGIN0("blink.console", formatTimelineTitle(title).ut
f8().data(), this); |
| 188 } | 188 } |
| 189 | 189 |
| 190 void ConsoleBase::timelineEnd(ScriptState* scriptState, const String& title) | 190 void ConsoleBase::timelineEnd(ScriptState* scriptState, const String& title) |
| 191 { | 191 { |
| 192 TRACE_EVENT_COPY_ASYNC_END0("blink.console", formatTimelineTitle(title).utf8
().data(), this); | 192 TRACE_EVENT_COPY_ASYNC_END0("blink.console", formatTimelineTitle(title).utf8
().data(), this); |
| 193 } | 193 } |
| 194 | 194 |
| 195 void ConsoleBase::group(ScriptState* scriptState, PassRefPtrWillBeRawPtr<ScriptA
rguments> arguments) | 195 void ConsoleBase::group(ScriptState* scriptState, RawPtr<ScriptArguments> argume
nts) |
| 196 { | 196 { |
| 197 internalAddMessage(StartGroupMessageType, LogMessageLevel, scriptState, argu
ments, true); | 197 internalAddMessage(StartGroupMessageType, LogMessageLevel, scriptState, argu
ments, true); |
| 198 } | 198 } |
| 199 | 199 |
| 200 void ConsoleBase::groupCollapsed(ScriptState* scriptState, PassRefPtrWillBeRawPt
r<ScriptArguments> arguments) | 200 void ConsoleBase::groupCollapsed(ScriptState* scriptState, RawPtr<ScriptArgument
s> arguments) |
| 201 { | 201 { |
| 202 internalAddMessage(StartGroupCollapsedMessageType, LogMessageLevel, scriptSt
ate, arguments, true); | 202 internalAddMessage(StartGroupCollapsedMessageType, LogMessageLevel, scriptSt
ate, arguments, true); |
| 203 } | 203 } |
| 204 | 204 |
| 205 void ConsoleBase::groupEnd() | 205 void ConsoleBase::groupEnd() |
| 206 { | 206 { |
| 207 internalAddMessage(EndGroupMessageType, LogMessageLevel, nullptr, nullptr, t
rue); | 207 internalAddMessage(EndGroupMessageType, LogMessageLevel, nullptr, nullptr, t
rue); |
| 208 } | 208 } |
| 209 | 209 |
| 210 void ConsoleBase::internalAddMessage(MessageType type, MessageLevel level, Scrip
tState* scriptState, PassRefPtrWillBeRawPtr<ScriptArguments> scriptArguments, bo
ol acceptNoArguments) | 210 void ConsoleBase::internalAddMessage(MessageType type, MessageLevel level, Scrip
tState* scriptState, RawPtr<ScriptArguments> scriptArguments, bool acceptNoArgum
ents) |
| 211 { | 211 { |
| 212 RefPtrWillBeRawPtr<ScriptArguments> arguments = scriptArguments; | 212 RawPtr<ScriptArguments> arguments = scriptArguments; |
| 213 if (!acceptNoArguments && (!arguments || !arguments->argumentCount())) | 213 if (!acceptNoArguments && (!arguments || !arguments->argumentCount())) |
| 214 return; | 214 return; |
| 215 | 215 |
| 216 if (scriptState && !scriptState->contextIsValid()) | 216 if (scriptState && !scriptState->contextIsValid()) |
| 217 arguments.clear(); | 217 arguments.clear(); |
| 218 String message; | 218 String message; |
| 219 if (arguments) | 219 if (arguments) |
| 220 arguments->getFirstArgumentAsString(message); | 220 arguments->getFirstArgumentAsString(message); |
| 221 | 221 |
| 222 RefPtrWillBeRawPtr<ConsoleMessage> consoleMessage = ConsoleMessage::create(C
onsoleAPIMessageSource, level, message); | 222 RawPtr<ConsoleMessage> consoleMessage = ConsoleMessage::create(ConsoleAPIMes
sageSource, level, message); |
| 223 consoleMessage->setType(type); | 223 consoleMessage->setType(type); |
| 224 consoleMessage->setScriptState(scriptState); | 224 consoleMessage->setScriptState(scriptState); |
| 225 consoleMessage->setScriptArguments(arguments); | 225 consoleMessage->setScriptArguments(arguments); |
| 226 consoleMessage->setCallStack(ScriptCallStack::captureForConsole()); | 226 consoleMessage->setCallStack(ScriptCallStack::captureForConsole()); |
| 227 reportMessageToConsole(consoleMessage.release()); | 227 reportMessageToConsole(consoleMessage.release()); |
| 228 } | 228 } |
| 229 | 229 |
| 230 } // namespace blink | 230 } // namespace blink |
| OLD | NEW |