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

Side by Side Diff: Source/core/inspector/InspectorConsoleAgent.cpp

Issue 472023002: [DevTools] ConsoleAPI messages pass through frame console (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: PassRefPtr<ConsoleMessage> -> PassRefPtrWillBeRawPtr<ConsoleMessage> Created 6 years, 4 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 /* 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
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
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
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
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
OLDNEW
« no previous file with comments | « Source/core/inspector/InspectorConsoleAgent.h ('k') | Source/core/inspector/InspectorConsoleMessage.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698