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

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

Issue 397813006: DevTools: move events array from Timeline.stop response to Timeline.stopped (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 years, 5 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 | Annotate | Revision Log
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2013 Google Inc. All rights reserved. 2 * Copyright (C) 2013 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 are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * 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 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 251 matching lines...) Expand 10 before | Expand all | Expand 10 after
262 } 262 }
263 263
264 void InspectorTimelineAgent::setFrontend(InspectorFrontend* frontend) 264 void InspectorTimelineAgent::setFrontend(InspectorFrontend* frontend)
265 { 265 {
266 m_frontend = frontend->timeline(); 266 m_frontend = frontend->timeline();
267 } 267 }
268 268
269 void InspectorTimelineAgent::clearFrontend() 269 void InspectorTimelineAgent::clearFrontend()
270 { 270 {
271 ErrorString error; 271 ErrorString error;
272 RefPtr<TypeBuilder::Array<TimelineEvent> > events; 272 stop(&error);
273 stop(&error, events);
274 disable(&error); 273 disable(&error);
275 m_frontend = 0; 274 m_frontend = 0;
276 } 275 }
277 276
278 void InspectorTimelineAgent::restore() 277 void InspectorTimelineAgent::restore()
279 { 278 {
280 if (m_state->getBoolean(TimelineAgentState::startedFromProtocol)) { 279 if (m_state->getBoolean(TimelineAgentState::startedFromProtocol)) {
281 if (m_state->getBoolean(TimelineAgentState::bufferEvents)) 280 if (m_state->getBoolean(TimelineAgentState::bufferEvents))
282 m_bufferedEvents = TypeBuilder::Array<TimelineEvent>::create(); 281 m_bufferedEvents = TypeBuilder::Array<TimelineEvent>::create();
283 282
284 setLiveEvents(m_state->getString(TimelineAgentState::liveEvents)); 283 setLiveEvents(m_state->getString(TimelineAgentState::liveEvents));
285 innerStart(); 284 innerStart();
286 } else if (isStarted()) { 285 } else if (isStarted()) {
287 // Timeline was started from console.timeline, it is not restored. 286 // Timeline was started from console.timeline, it is not restored.
288 // Tell front-end timline is no longer collecting. 287 // Tell front-end timline is no longer collecting.
289 m_state->setBoolean(TimelineAgentState::started, false); 288 m_state->setBoolean(TimelineAgentState::started, false);
290 bool fromConsole = true; 289 bool fromConsole = true;
291 m_frontend->stopped(&fromConsole); 290 m_frontend->stopped(&fromConsole, nullptr);
292 } 291 }
293 } 292 }
294 293
295 void InspectorTimelineAgent::enable(ErrorString*) 294 void InspectorTimelineAgent::enable(ErrorString*)
296 { 295 {
297 m_state->setBoolean(TimelineAgentState::enabled, true); 296 m_state->setBoolean(TimelineAgentState::enabled, true);
298 } 297 }
299 298
300 void InspectorTimelineAgent::disable(ErrorString*) 299 void InspectorTimelineAgent::disable(ErrorString*)
301 { 300 {
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
369 dispatcher->addListener(InstrumentationEvents::EmbedderCallback, TRACE_E VENT_PHASE_BEGIN, this, &InspectorTimelineAgent::onEmbedderCallbackBegin, m_clie nt); 368 dispatcher->addListener(InstrumentationEvents::EmbedderCallback, TRACE_E VENT_PHASE_BEGIN, this, &InspectorTimelineAgent::onEmbedderCallbackBegin, m_clie nt);
370 dispatcher->addListener(InstrumentationEvents::EmbedderCallback, TRACE_E VENT_PHASE_END, this, &InspectorTimelineAgent::onEmbedderCallbackEnd, m_client); 369 dispatcher->addListener(InstrumentationEvents::EmbedderCallback, TRACE_E VENT_PHASE_END, this, &InspectorTimelineAgent::onEmbedderCallbackEnd, m_client);
371 370
372 if (m_state->getBoolean(TimelineAgentState::includeGPUEvents)) { 371 if (m_state->getBoolean(TimelineAgentState::includeGPUEvents)) {
373 m_pendingGPURecord.clear(); 372 m_pendingGPURecord.clear();
374 m_client->startGPUEventsRecording(); 373 m_client->startGPUEventsRecording();
375 } 374 }
376 } 375 }
377 } 376 }
378 377
379 void InspectorTimelineAgent::stop(ErrorString* errorString, RefPtr<TypeBuilder:: Array<TimelineEvent> >& events) 378 void InspectorTimelineAgent::stop(ErrorString* errorString)
380 { 379 {
381 m_state->setBoolean(TimelineAgentState::startedFromProtocol, false); 380 m_state->setBoolean(TimelineAgentState::startedFromProtocol, false);
382 m_state->setBoolean(TimelineAgentState::bufferEvents, false); 381 m_state->setBoolean(TimelineAgentState::bufferEvents, false);
383 m_state->setString(TimelineAgentState::liveEvents, ""); 382 m_state->setString(TimelineAgentState::liveEvents, "");
384 383
385 if (!isStarted()) { 384 if (!isStarted()) {
386 *errorString = "Timeline was not started"; 385 *errorString = "Timeline was not started";
387 return; 386 return;
388 } 387 }
389 innerStop(false); 388 innerStop(false);
390 if (m_bufferedEvents)
391 events = m_bufferedEvents.release();
392 m_liveEvents.clear(); 389 m_liveEvents.clear();
393 } 390 }
394 391
395 void InspectorTimelineAgent::innerStop(bool fromConsole) 392 void InspectorTimelineAgent::innerStop(bool fromConsole)
396 { 393 {
397 m_state->setBoolean(TimelineAgentState::started, false); 394 m_state->setBoolean(TimelineAgentState::started, false);
398 395
399 if (m_client) { 396 if (m_client) {
400 TraceEventDispatcher::instance()->removeAllListeners(this, m_client); 397 TraceEventDispatcher::instance()->removeAllListeners(this, m_client);
401 if (m_state->getBoolean(TimelineAgentState::includeGPUEvents)) 398 if (m_state->getBoolean(TimelineAgentState::includeGPUEvents))
(...skipping 10 matching lines...) Expand all
412 m_imageBeingPainted = 0; 409 m_imageBeingPainted = 0;
413 m_paintSetupStart = 0; 410 m_paintSetupStart = 0;
414 m_mayEmitFirstPaint = false; 411 m_mayEmitFirstPaint = false;
415 412
416 for (size_t i = 0; i < m_consoleTimelines.size(); ++i) { 413 for (size_t i = 0; i < m_consoleTimelines.size(); ++i) {
417 String message = String::format("Timeline '%s' terminated.", m_consoleTi melines[i].utf8().data()); 414 String message = String::format("Timeline '%s' terminated.", m_consoleTi melines[i].utf8().data());
418 mainFrame()->console().addMessage(JSMessageSource, DebugMessageLevel, me ssage); 415 mainFrame()->console().addMessage(JSMessageSource, DebugMessageLevel, me ssage);
419 } 416 }
420 m_consoleTimelines.clear(); 417 m_consoleTimelines.clear();
421 418
422 m_frontend->stopped(&fromConsole); 419 m_frontend->stopped(&fromConsole, m_bufferedEvents.release());
423 if (m_overlay) 420 if (m_overlay)
424 m_overlay->finishedRecordingProfile(); 421 m_overlay->finishedRecordingProfile();
425 } 422 }
426 423
427 void InspectorTimelineAgent::didBeginFrame(int frameId) 424 void InspectorTimelineAgent::didBeginFrame(int frameId)
428 { 425 {
429 TraceEventDispatcher::instance()->processBackgroundEvents(); 426 TraceEventDispatcher::instance()->processBackgroundEvents();
430 m_pendingFrameRecord = TimelineRecordFactory::createGenericRecord(timestamp( ), 0, TimelineRecordType::BeginFrame, TimelineRecordFactory::createFrameData(fra meId)); 427 m_pendingFrameRecord = TimelineRecordFactory::createGenericRecord(timestamp( ), 0, TimelineRecordType::BeginFrame, TimelineRecordFactory::createFrameData(fra meId));
431 } 428 }
432 429
(...skipping 873 matching lines...) Expand 10 before | Expand all | Expand 10 after
1306 1303
1307 #ifndef NDEBUG 1304 #ifndef NDEBUG
1308 bool TimelineRecordStack::isOpenRecordOfType(const String& type) 1305 bool TimelineRecordStack::isOpenRecordOfType(const String& type)
1309 { 1306 {
1310 return !m_stack.isEmpty() && m_stack.last().type == type; 1307 return !m_stack.isEmpty() && m_stack.last().type == type;
1311 } 1308 }
1312 #endif 1309 #endif
1313 1310
1314 } // namespace WebCore 1311 } // namespace WebCore
1315 1312
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698