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

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

Issue 433653003: Support Promises event-based instrumentation on backend. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Address comments 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) 2010 Apple Inc. All rights reserved. 2 * Copyright (C) 2010 Apple Inc. All rights reserved.
3 * Copyright (C) 2013 Google Inc. All rights reserved. 3 * Copyright (C) 2013 Google Inc. All rights reserved.
4 * 4 *
5 * Redistribution and use in source and binary forms, with or without 5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions 6 * modification, are permitted provided that the following conditions
7 * are met: 7 * are met:
8 * 8 *
9 * 1. Redistributions of source code must retain the above copyright 9 * 1. Redistributions of source code must retain the above copyright
10 * notice, this list of conditions and the following disclaimer. 10 * notice, this list of conditions and the following disclaimer.
(...skipping 886 matching lines...) Expand 10 before | Expand all | Expand 10 after
897 if (eventType == v8AsyncTaskEventEnqueue) 897 if (eventType == v8AsyncTaskEventEnqueue)
898 asyncCallStackTracker().didEnqueueV8AsyncTask(context, eventName, id, sc riptDebugServer().currentCallFramesForAsyncStack()); 898 asyncCallStackTracker().didEnqueueV8AsyncTask(context, eventName, id, sc riptDebugServer().currentCallFramesForAsyncStack());
899 else if (eventType == v8AsyncTaskEventWillHandle) 899 else if (eventType == v8AsyncTaskEventWillHandle)
900 asyncCallStackTracker().willHandleV8AsyncTask(context, eventName, id); 900 asyncCallStackTracker().willHandleV8AsyncTask(context, eventName, id);
901 else if (eventType == v8AsyncTaskEventDidHandle) 901 else if (eventType == v8AsyncTaskEventDidHandle)
902 asyncCallStackTracker().didFireAsyncCall(); 902 asyncCallStackTracker().didFireAsyncCall();
903 else 903 else
904 ASSERT_NOT_REACHED(); 904 ASSERT_NOT_REACHED();
905 } 905 }
906 906
907 void InspectorDebuggerAgent::didReceiveV8PromiseEvent(ScriptState* scriptState, v8::Handle<v8::Object> promise, v8::Handle<v8::Value> parentPromise, int status)
908 {
909 if (!m_promiseTracker.isEnabled())
910 return;
911 m_promiseTracker.didReceiveV8PromiseEvent(scriptState, promise, parentPromis e, status);
912 }
913
907 void InspectorDebuggerAgent::pause(ErrorString*) 914 void InspectorDebuggerAgent::pause(ErrorString*)
908 { 915 {
909 if (m_javaScriptPauseScheduled || isPaused()) 916 if (m_javaScriptPauseScheduled || isPaused())
910 return; 917 return;
911 clearBreakDetails(); 918 clearBreakDetails();
912 m_javaScriptPauseScheduled = true; 919 m_javaScriptPauseScheduled = true;
913 scriptDebugServer().setPauseOnNextStatement(true); 920 scriptDebugServer().setPauseOnNextStatement(true);
914 } 921 }
915 922
916 void InspectorDebuggerAgent::resume(ErrorString* errorString) 923 void InspectorDebuggerAgent::resume(ErrorString* errorString)
(...skipping 483 matching lines...) Expand 10 before | Expand all | Expand 10 after
1400 scriptDebugServer().breakProgram(); 1407 scriptDebugServer().breakProgram();
1401 } 1408 }
1402 1409
1403 void InspectorDebuggerAgent::clear() 1410 void InspectorDebuggerAgent::clear()
1404 { 1411 {
1405 m_pausedScriptState = nullptr; 1412 m_pausedScriptState = nullptr;
1406 m_currentCallStack = ScriptValue(); 1413 m_currentCallStack = ScriptValue();
1407 m_scripts.clear(); 1414 m_scripts.clear();
1408 m_breakpointIdToDebugServerBreakpointIds.clear(); 1415 m_breakpointIdToDebugServerBreakpointIds.clear();
1409 asyncCallStackTracker().clear(); 1416 asyncCallStackTracker().clear();
1417 m_promiseTracker.clear();
1410 m_continueToLocationBreakpointId = String(); 1418 m_continueToLocationBreakpointId = String();
1411 clearBreakDetails(); 1419 clearBreakDetails();
1412 m_javaScriptPauseScheduled = false; 1420 m_javaScriptPauseScheduled = false;
1413 m_debuggerStepScheduled = false; 1421 m_debuggerStepScheduled = false;
1414 m_steppingFromFramework = false; 1422 m_steppingFromFramework = false;
1415 m_pausingOnNativeEvent = false; 1423 m_pausingOnNativeEvent = false;
1416 ErrorString error; 1424 ErrorString error;
1417 setOverlayMessage(&error, 0); 1425 setOverlayMessage(&error, 0);
1418 } 1426 }
1419 1427
(...skipping 22 matching lines...) Expand all
1442 void InspectorDebuggerAgent::removeBreakpoint(const String& scriptId, int lineNu mber, int columnNumber, BreakpointSource source) 1450 void InspectorDebuggerAgent::removeBreakpoint(const String& scriptId, int lineNu mber, int columnNumber, BreakpointSource source)
1443 { 1451 {
1444 removeBreakpoint(generateBreakpointId(scriptId, lineNumber, columnNumber, so urce)); 1452 removeBreakpoint(generateBreakpointId(scriptId, lineNumber, columnNumber, so urce));
1445 } 1453 }
1446 1454
1447 void InspectorDebuggerAgent::reset() 1455 void InspectorDebuggerAgent::reset()
1448 { 1456 {
1449 m_scripts.clear(); 1457 m_scripts.clear();
1450 m_breakpointIdToDebugServerBreakpointIds.clear(); 1458 m_breakpointIdToDebugServerBreakpointIds.clear();
1451 asyncCallStackTracker().clear(); 1459 asyncCallStackTracker().clear();
1460 m_promiseTracker.clear();
1452 if (m_frontend) 1461 if (m_frontend)
1453 m_frontend->globalObjectCleared(); 1462 m_frontend->globalObjectCleared();
1454 } 1463 }
1455 1464
1456 void InspectorDebuggerAgent::trace(Visitor* visitor) 1465 void InspectorDebuggerAgent::trace(Visitor* visitor)
1457 { 1466 {
1458 visitor->trace(m_injectedScriptManager); 1467 visitor->trace(m_injectedScriptManager);
1459 visitor->trace(m_listener); 1468 visitor->trace(m_listener);
1460 visitor->trace(m_asyncCallStackTracker); 1469 visitor->trace(m_asyncCallStackTracker);
1461 InspectorBaseAgent::trace(visitor); 1470 InspectorBaseAgent::trace(visitor);
1462 } 1471 }
1463 1472
1464 } // namespace blink 1473 } // namespace blink
1465 1474
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698