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 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
60 static const char consoleMessagesEnabled[] = "consoleMessagesEnabled"; | 60 static const char consoleMessagesEnabled[] = "consoleMessagesEnabled"; |
61 } | 61 } |
62 | 62 |
63 int InspectorConsoleAgent::s_enabledAgentCount = 0; | 63 int InspectorConsoleAgent::s_enabledAgentCount = 0; |
64 | 64 |
65 InspectorConsoleAgent::InspectorConsoleAgent(InspectorTimelineAgent* timelineAge nt, InjectedScriptManager* injectedScriptManager) | 65 InspectorConsoleAgent::InspectorConsoleAgent(InspectorTimelineAgent* timelineAge nt, InjectedScriptManager* injectedScriptManager) |
66 : InspectorBaseAgent<InspectorConsoleAgent>("Console") | 66 : InspectorBaseAgent<InspectorConsoleAgent>("Console") |
67 , m_timelineAgent(timelineAgent) | 67 , m_timelineAgent(timelineAgent) |
68 , m_injectedScriptManager(injectedScriptManager) | 68 , m_injectedScriptManager(injectedScriptManager) |
69 , m_frontend(0) | 69 , m_frontend(0) |
70 , m_previousMessage(0) | |
71 , m_expiredConsoleMessageCount(0) | 70 , m_expiredConsoleMessageCount(0) |
72 , m_enabled(false) | 71 , m_enabled(false) |
73 { | 72 { |
74 } | 73 } |
75 | 74 |
76 InspectorConsoleAgent::~InspectorConsoleAgent() | 75 InspectorConsoleAgent::~InspectorConsoleAgent() |
77 { | 76 { |
78 m_instrumentingAgents->setInspectorConsoleAgent(0); | 77 m_instrumentingAgents->setInspectorConsoleAgent(0); |
79 m_instrumentingAgents = 0; | 78 m_instrumentingAgents = 0; |
80 m_state = 0; | 79 m_state = 0; |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
115 m_enabled = false; | 114 m_enabled = false; |
116 if (!(--s_enabledAgentCount)) | 115 if (!(--s_enabledAgentCount)) |
117 ScriptController::setCaptureCallStackForUncaughtExceptions(false); | 116 ScriptController::setCaptureCallStackForUncaughtExceptions(false); |
118 m_state->setBoolean(ConsoleAgentState::consoleMessagesEnabled, false); | 117 m_state->setBoolean(ConsoleAgentState::consoleMessagesEnabled, false); |
119 } | 118 } |
120 | 119 |
121 void InspectorConsoleAgent::clearMessages(ErrorString*) | 120 void InspectorConsoleAgent::clearMessages(ErrorString*) |
122 { | 121 { |
123 m_consoleMessages.clear(); | 122 m_consoleMessages.clear(); |
124 m_expiredConsoleMessageCount = 0; | 123 m_expiredConsoleMessageCount = 0; |
125 m_previousMessage = 0; | |
126 m_injectedScriptManager->releaseObjectGroup("console"); | 124 m_injectedScriptManager->releaseObjectGroup("console"); |
127 if (m_frontend && m_enabled) | 125 if (m_frontend && m_enabled) |
128 m_frontend->messagesCleared(); | 126 m_frontend->messagesCleared(); |
129 } | 127 } |
130 | 128 |
131 void InspectorConsoleAgent::reset() | 129 void InspectorConsoleAgent::reset() |
132 { | 130 { |
133 ErrorString error; | 131 ErrorString error; |
134 clearMessages(&error); | 132 clearMessages(&error); |
135 m_times.clear(); | 133 m_times.clear(); |
(...skipping 159 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
295 message.append(error.localizedDescription()); | 293 message.append(error.localizedDescription()); |
296 } | 294 } |
297 addMessageToConsole(NetworkMessageSource, LogMessageType, ErrorMessageLevel, message.toString(), error.failingURL(), 0, 0, 0, requestIdentifier); | 295 addMessageToConsole(NetworkMessageSource, LogMessageType, ErrorMessageLevel, message.toString(), error.failingURL(), 0, 0, 0, requestIdentifier); |
298 } | 296 } |
299 | 297 |
300 void InspectorConsoleAgent::setMonitoringXHREnabled(ErrorString*, bool enabled) | 298 void InspectorConsoleAgent::setMonitoringXHREnabled(ErrorString*, bool enabled) |
301 { | 299 { |
302 m_state->setBoolean(ConsoleAgentState::monitoringXHR, enabled); | 300 m_state->setBoolean(ConsoleAgentState::monitoringXHR, enabled); |
303 } | 301 } |
304 | 302 |
305 static bool isGroupMessage(MessageType type) | |
306 { | |
307 return type == StartGroupMessageType | |
308 || type == StartGroupCollapsedMessageType | |
309 || type == EndGroupMessageType; | |
310 } | |
311 | 303 |
312 void InspectorConsoleAgent::addConsoleMessage(PassOwnPtr<ConsoleMessage> console Message) | 304 void InspectorConsoleAgent::addConsoleMessage(PassOwnPtr<ConsoleMessage> console Message) |
313 { | 305 { |
314 ASSERT_ARG(consoleMessage, consoleMessage); | 306 ASSERT_ARG(consoleMessage, consoleMessage); |
315 | 307 |
316 if (m_previousMessage && !isGroupMessage(m_previousMessage->type()) && m_pre viousMessage->isEqual(consoleMessage.get())) { | 308 ConsoleMessage* msg = consoleMessage.get(); |
apavlov
2014/03/21 14:47:58
Blink style does not honor abbreviations. Moreover
| |
317 m_previousMessage->incrementCount(); | 309 m_consoleMessages.append(consoleMessage); |
318 if (m_frontend && m_enabled) | 310 if (m_frontend && m_enabled) |
319 m_previousMessage->updateRepeatCountInConsole(m_frontend); | 311 msg->addToFrontend(m_frontend, m_injectedScriptManager, true); |
320 } else { | |
321 m_previousMessage = consoleMessage.get(); | |
322 m_consoleMessages.append(consoleMessage); | |
323 if (m_frontend && m_enabled) | |
324 m_previousMessage->addToFrontend(m_frontend, m_injectedScriptManager , true); | |
325 } | |
326 | 312 |
327 if (!m_frontend && m_consoleMessages.size() >= maximumConsoleMessages) { | 313 if (!m_frontend && m_consoleMessages.size() >= maximumConsoleMessages) { |
328 m_expiredConsoleMessageCount += expireConsoleMessagesStep; | 314 m_expiredConsoleMessageCount += expireConsoleMessagesStep; |
329 m_consoleMessages.remove(0, expireConsoleMessagesStep); | 315 m_consoleMessages.remove(0, expireConsoleMessagesStep); |
330 } | 316 } |
331 } | 317 } |
332 | 318 |
333 class InspectableHeapObject FINAL : public InjectedScriptHost::InspectableObject { | 319 class InspectableHeapObject FINAL : public InjectedScriptHost::InspectableObject { |
334 public: | 320 public: |
335 explicit InspectableHeapObject(int heapObjectId) : m_heapObjectId(heapObject Id) { } | 321 explicit InspectableHeapObject(int heapObjectId) : m_heapObjectId(heapObject Id) { } |
336 virtual ScriptValue get(ScriptState*) OVERRIDE | 322 virtual ScriptValue get(ScriptState*) OVERRIDE |
337 { | 323 { |
338 return ScriptProfiler::objectByHeapObjectId(m_heapObjectId); | 324 return ScriptProfiler::objectByHeapObjectId(m_heapObjectId); |
339 } | 325 } |
340 private: | 326 private: |
341 int m_heapObjectId; | 327 int m_heapObjectId; |
342 }; | 328 }; |
343 | 329 |
344 void InspectorConsoleAgent::addInspectedHeapObject(ErrorString*, int inspectedHe apObjectId) | 330 void InspectorConsoleAgent::addInspectedHeapObject(ErrorString*, int inspectedHe apObjectId) |
345 { | 331 { |
346 m_injectedScriptManager->injectedScriptHost()->addInspectedObject(adoptPtr(n ew InspectableHeapObject(inspectedHeapObjectId))); | 332 m_injectedScriptManager->injectedScriptHost()->addInspectedObject(adoptPtr(n ew InspectableHeapObject(inspectedHeapObjectId))); |
347 } | 333 } |
348 | 334 |
349 } // namespace WebCore | 335 } // namespace WebCore |
350 | 336 |
OLD | NEW |