OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2011 Google Inc. All rights reserved. | 2 * Copyright (C) 2011 Google 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 * 1. Redistributions of source code must retain the above copyright | 7 * 1. Redistributions of source code must retain the above copyright |
8 * notice, this list of conditions and the following disclaimer. | 8 * notice, this list of conditions and the following disclaimer. |
9 * 2. Redistributions in binary form must reproduce the above copyright | 9 * 2. Redistributions in binary form must reproduce the above copyright |
10 * notice, this list of conditions and the following disclaimer in the | 10 * notice, this list of conditions and the following disclaimer in the |
(...skipping 152 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
163 | 163 |
164 void InspectorConsoleAgent::clearFrontend() | 164 void InspectorConsoleAgent::clearFrontend() |
165 { | 165 { |
166 m_frontend = 0; | 166 m_frontend = 0; |
167 String errorString; | 167 String errorString; |
168 disable(&errorString); | 168 disable(&errorString); |
169 } | 169 } |
170 | 170 |
171 void InspectorConsoleAgent::addMessageToConsole(ConsoleMessage* consoleMessage) | 171 void InspectorConsoleAgent::addMessageToConsole(ConsoleMessage* consoleMessage) |
172 { | 172 { |
| 173 if (consoleMessage->type() == ClearMessageType) { |
| 174 ErrorString error; |
| 175 clearMessages(&error); |
| 176 } |
| 177 |
173 InspectorConsoleMessage* message; | 178 InspectorConsoleMessage* message; |
174 if (consoleMessage->callStack()) { | 179 if (consoleMessage->source() == ConsoleAPIMessageSource) { |
| 180 message = new InspectorConsoleMessage(consoleMessage->source(), consoleM
essage->type(), consoleMessage->level(), consoleMessage->message(), consoleMessa
ge->scriptArguments(), consoleMessage->scriptState()); |
| 181 } else if (consoleMessage->callStack()) { |
175 message = new InspectorConsoleMessage(consoleMessage->source(), LogMessa
geType, consoleMessage->level(), consoleMessage->message(), consoleMessage->call
Stack(), consoleMessage->requestIdentifier()); | 182 message = new InspectorConsoleMessage(consoleMessage->source(), LogMessa
geType, consoleMessage->level(), consoleMessage->message(), consoleMessage->call
Stack(), consoleMessage->requestIdentifier()); |
176 } else { | 183 } else { |
177 bool shouldGenerateCallStack = m_frontend; | 184 bool shouldGenerateCallStack = m_frontend; |
178 message = new InspectorConsoleMessage(shouldGenerateCallStack, consoleMe
ssage->source(), LogMessageType, consoleMessage->level(), consoleMessage->messag
e(), consoleMessage->url(), consoleMessage->lineNumber(), consoleMessage->column
Number(), consoleMessage->scriptState(), consoleMessage->requestIdentifier()); | 185 message = new InspectorConsoleMessage(shouldGenerateCallStack, consoleMe
ssage->source(), LogMessageType, consoleMessage->level(), consoleMessage->messag
e(), consoleMessage->url(), consoleMessage->lineNumber(), consoleMessage->column
Number(), consoleMessage->scriptState(), consoleMessage->requestIdentifier()); |
179 } | 186 } |
180 message->setWorkerGlobalScopeProxy(consoleMessage->workerId()); | 187 message->setWorkerGlobalScopeProxy(consoleMessage->workerId()); |
181 addConsoleMessage(adoptPtr(message)); | 188 addConsoleMessage(adoptPtr(message)); |
182 } | 189 } |
183 | 190 |
184 void InspectorConsoleAgent::adoptWorkerConsoleMessages(WorkerGlobalScopeProxy* p
roxy) | 191 void InspectorConsoleAgent::adoptWorkerConsoleMessages(WorkerGlobalScopeProxy* p
roxy) |
185 { | 192 { |
186 for (size_t i = 0; i < m_consoleMessages.size(); i++) { | 193 for (size_t i = 0; i < m_consoleMessages.size(); i++) { |
187 if (m_consoleMessages[i]->workerGlobalScopeProxy() == proxy) | 194 if (m_consoleMessages[i]->workerGlobalScopeProxy() == proxy) |
188 m_consoleMessages[i]->setWorkerGlobalScopeProxy(nullptr); | 195 m_consoleMessages[i]->setWorkerGlobalScopeProxy(nullptr); |
189 } | 196 } |
190 } | 197 } |
191 | 198 |
192 void InspectorConsoleAgent::addConsoleAPIMessageToConsole(MessageType type, Mess
ageLevel level, const String& message, ScriptState* scriptState, PassRefPtrWillB
eRawPtr<ScriptArguments> arguments, unsigned long requestIdentifier) | |
193 { | |
194 if (type == ClearMessageType) { | |
195 ErrorString error; | |
196 clearMessages(&error); | |
197 } | |
198 | |
199 addConsoleMessage(adoptPtr(new InspectorConsoleMessage(ConsoleAPIMessageSour
ce, type, level, message, arguments, scriptState, requestIdentifier))); | |
200 } | |
201 | |
202 Vector<unsigned> InspectorConsoleAgent::consoleMessageArgumentCounts() | 199 Vector<unsigned> InspectorConsoleAgent::consoleMessageArgumentCounts() |
203 { | 200 { |
204 Vector<unsigned> result(m_consoleMessages.size()); | 201 Vector<unsigned> result(m_consoleMessages.size()); |
205 for (size_t i = 0; i < m_consoleMessages.size(); i++) | 202 for (size_t i = 0; i < m_consoleMessages.size(); i++) |
206 result[i] = m_consoleMessages[i]->argumentCount(); | 203 result[i] = m_consoleMessages[i]->argumentCount(); |
207 return result; | 204 return result; |
208 } | 205 } |
209 | 206 |
210 void InspectorConsoleAgent::consoleTime(ExecutionContext*, const String& title) | 207 void InspectorConsoleAgent::consoleTime(ExecutionContext*, const String& title) |
211 { | 208 { |
(...skipping 14 matching lines...) Expand all Loading... |
226 | 223 |
227 HashMap<String, double>::iterator it = m_times.find(title); | 224 HashMap<String, double>::iterator it = m_times.find(title); |
228 if (it == m_times.end()) | 225 if (it == m_times.end()) |
229 return; | 226 return; |
230 | 227 |
231 double startTime = it->value; | 228 double startTime = it->value; |
232 m_times.remove(it); | 229 m_times.remove(it); |
233 | 230 |
234 double elapsed = monotonicallyIncreasingTime() - startTime; | 231 double elapsed = monotonicallyIncreasingTime() - startTime; |
235 String message = title + String::format(": %.3fms", elapsed * 1000); | 232 String message = title + String::format(": %.3fms", elapsed * 1000); |
236 addConsoleAPIMessageToConsole(LogMessageType, DebugMessageLevel, message, sc
riptState, nullptr); | 233 |
| 234 RefPtr<ConsoleMessage> consoleMessage = ConsoleMessage::create(ConsoleAPIMes
sageSource, DebugMessageLevel, message); |
| 235 consoleMessage->setType(LogMessageType); |
| 236 consoleMessage->setScriptState(scriptState); |
| 237 addMessageToConsole(consoleMessage.get()); |
237 } | 238 } |
238 | 239 |
239 void InspectorConsoleAgent::setTracingBasedTimeline(ErrorString*, bool enabled) | 240 void InspectorConsoleAgent::setTracingBasedTimeline(ErrorString*, bool enabled) |
240 { | 241 { |
241 m_state->setBoolean(ConsoleAgentState::tracingBasedTimeline, enabled); | 242 m_state->setBoolean(ConsoleAgentState::tracingBasedTimeline, enabled); |
242 } | 243 } |
243 | 244 |
244 void InspectorConsoleAgent::consoleTimeline(ExecutionContext* context, const Str
ing& title, ScriptState* scriptState) | 245 void InspectorConsoleAgent::consoleTimeline(ExecutionContext* context, const Str
ing& title, ScriptState* scriptState) |
245 { | 246 { |
246 UseCounter::count(context, UseCounter::DevToolsConsoleTimeline); | 247 UseCounter::count(context, UseCounter::DevToolsConsoleTimeline); |
(...skipping 17 matching lines...) Expand all Loading... |
264 const ScriptCallFrame& lastCaller = callStack->at(0); | 265 const ScriptCallFrame& lastCaller = callStack->at(0); |
265 // Follow Firebug's behavior of counting with null and undefined title in | 266 // Follow Firebug's behavior of counting with null and undefined title in |
266 // the same bucket as no argument | 267 // the same bucket as no argument |
267 String title; | 268 String title; |
268 arguments->getFirstArgumentAsString(title); | 269 arguments->getFirstArgumentAsString(title); |
269 String identifier = title.isEmpty() ? String(lastCaller.sourceURL() + ':' +
String::number(lastCaller.lineNumber())) | 270 String identifier = title.isEmpty() ? String(lastCaller.sourceURL() + ':' +
String::number(lastCaller.lineNumber())) |
270 : String(title + '@'); | 271 : String(title + '@'); |
271 | 272 |
272 HashCountedSet<String>::AddResult result = m_counts.add(identifier); | 273 HashCountedSet<String>::AddResult result = m_counts.add(identifier); |
273 String message = title + ": " + String::number(result.storedValue->value); | 274 String message = title + ": " + String::number(result.storedValue->value); |
274 addConsoleAPIMessageToConsole(LogMessageType, DebugMessageLevel, message, sc
riptState, nullptr); | 275 |
| 276 RefPtr<ConsoleMessage> consoleMessage = ConsoleMessage::create(ConsoleAPIMes
sageSource, DebugMessageLevel, message); |
| 277 consoleMessage->setType(LogMessageType); |
| 278 consoleMessage->setScriptState(scriptState); |
| 279 addMessageToConsole(consoleMessage.get()); |
275 } | 280 } |
276 | 281 |
277 void InspectorConsoleAgent::frameWindowDiscarded(LocalDOMWindow* window) | 282 void InspectorConsoleAgent::frameWindowDiscarded(LocalDOMWindow* window) |
278 { | 283 { |
279 size_t messageCount = m_consoleMessages.size(); | 284 size_t messageCount = m_consoleMessages.size(); |
280 for (size_t i = 0; i < messageCount; ++i) | 285 for (size_t i = 0; i < messageCount; ++i) |
281 m_consoleMessages[i]->windowCleared(window); | 286 m_consoleMessages[i]->windowCleared(window); |
282 m_injectedScriptManager->discardInjectedScriptsFor(window); | 287 m_injectedScriptManager->discardInjectedScriptsFor(window); |
283 } | 288 } |
284 | 289 |
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
356 private: | 361 private: |
357 int m_heapObjectId; | 362 int m_heapObjectId; |
358 }; | 363 }; |
359 | 364 |
360 void InspectorConsoleAgent::addInspectedHeapObject(ErrorString*, int inspectedHe
apObjectId) | 365 void InspectorConsoleAgent::addInspectedHeapObject(ErrorString*, int inspectedHe
apObjectId) |
361 { | 366 { |
362 m_injectedScriptManager->injectedScriptHost()->addInspectedObject(adoptPtr(n
ew InspectableHeapObject(inspectedHeapObjectId))); | 367 m_injectedScriptManager->injectedScriptHost()->addInspectedObject(adoptPtr(n
ew InspectableHeapObject(inspectedHeapObjectId))); |
363 } | 368 } |
364 | 369 |
365 } // namespace blink | 370 } // namespace blink |
OLD | NEW |