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

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 review comments + REBASE Created 6 years, 3 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 897 matching lines...) Expand 10 before | Expand all | Expand 10 after
908 if (eventType == v8AsyncTaskEventEnqueue) 908 if (eventType == v8AsyncTaskEventEnqueue)
909 asyncCallStackTracker().didEnqueueV8AsyncTask(context, eventName, id, sc riptDebugServer().currentCallFramesForAsyncStack()); 909 asyncCallStackTracker().didEnqueueV8AsyncTask(context, eventName, id, sc riptDebugServer().currentCallFramesForAsyncStack());
910 else if (eventType == v8AsyncTaskEventWillHandle) 910 else if (eventType == v8AsyncTaskEventWillHandle)
911 asyncCallStackTracker().willHandleV8AsyncTask(context, eventName, id); 911 asyncCallStackTracker().willHandleV8AsyncTask(context, eventName, id);
912 else if (eventType == v8AsyncTaskEventDidHandle) 912 else if (eventType == v8AsyncTaskEventDidHandle)
913 asyncCallStackTracker().didFireAsyncCall(); 913 asyncCallStackTracker().didFireAsyncCall();
914 else 914 else
915 ASSERT_NOT_REACHED(); 915 ASSERT_NOT_REACHED();
916 } 916 }
917 917
918 void InspectorDebuggerAgent::didReceiveV8PromiseEvent(ScriptState* scriptState, v8::Handle<v8::Object> promise, v8::Handle<v8::Value> parentPromise, int status)
919 {
920 if (!m_promiseTracker.isEnabled())
921 return;
922 m_promiseTracker.didReceiveV8PromiseEvent(scriptState, promise, parentPromis e, status);
923 }
924
918 void InspectorDebuggerAgent::pause(ErrorString*) 925 void InspectorDebuggerAgent::pause(ErrorString*)
919 { 926 {
920 if (m_javaScriptPauseScheduled || isPaused()) 927 if (m_javaScriptPauseScheduled || isPaused())
921 return; 928 return;
922 clearBreakDetails(); 929 clearBreakDetails();
923 m_javaScriptPauseScheduled = true; 930 m_javaScriptPauseScheduled = true;
924 scriptDebugServer().setPauseOnNextStatement(true); 931 scriptDebugServer().setPauseOnNextStatement(true);
925 } 932 }
926 933
927 void InspectorDebuggerAgent::resume(ErrorString* errorString) 934 void InspectorDebuggerAgent::resume(ErrorString* errorString)
(...skipping 483 matching lines...) Expand 10 before | Expand all | Expand 10 after
1411 scriptDebugServer().breakProgram(); 1418 scriptDebugServer().breakProgram();
1412 } 1419 }
1413 1420
1414 void InspectorDebuggerAgent::clear() 1421 void InspectorDebuggerAgent::clear()
1415 { 1422 {
1416 m_pausedScriptState = nullptr; 1423 m_pausedScriptState = nullptr;
1417 m_currentCallStack = ScriptValue(); 1424 m_currentCallStack = ScriptValue();
1418 m_scripts.clear(); 1425 m_scripts.clear();
1419 m_breakpointIdToDebugServerBreakpointIds.clear(); 1426 m_breakpointIdToDebugServerBreakpointIds.clear();
1420 asyncCallStackTracker().clear(); 1427 asyncCallStackTracker().clear();
1428 m_promiseTracker.clear();
1421 m_continueToLocationBreakpointId = String(); 1429 m_continueToLocationBreakpointId = String();
1422 clearBreakDetails(); 1430 clearBreakDetails();
1423 m_javaScriptPauseScheduled = false; 1431 m_javaScriptPauseScheduled = false;
1424 m_debuggerStepScheduled = false; 1432 m_debuggerStepScheduled = false;
1425 m_steppingFromFramework = false; 1433 m_steppingFromFramework = false;
1426 m_pausingOnNativeEvent = false; 1434 m_pausingOnNativeEvent = false;
1427 ErrorString error; 1435 ErrorString error;
1428 setOverlayMessage(&error, 0); 1436 setOverlayMessage(&error, 0);
1429 } 1437 }
1430 1438
(...skipping 22 matching lines...) Expand all
1453 void InspectorDebuggerAgent::removeBreakpoint(const String& scriptId, int lineNu mber, int columnNumber, BreakpointSource source) 1461 void InspectorDebuggerAgent::removeBreakpoint(const String& scriptId, int lineNu mber, int columnNumber, BreakpointSource source)
1454 { 1462 {
1455 removeBreakpoint(generateBreakpointId(scriptId, lineNumber, columnNumber, so urce)); 1463 removeBreakpoint(generateBreakpointId(scriptId, lineNumber, columnNumber, so urce));
1456 } 1464 }
1457 1465
1458 void InspectorDebuggerAgent::reset() 1466 void InspectorDebuggerAgent::reset()
1459 { 1467 {
1460 m_scripts.clear(); 1468 m_scripts.clear();
1461 m_breakpointIdToDebugServerBreakpointIds.clear(); 1469 m_breakpointIdToDebugServerBreakpointIds.clear();
1462 asyncCallStackTracker().clear(); 1470 asyncCallStackTracker().clear();
1471 m_promiseTracker.clear();
1463 if (m_frontend) 1472 if (m_frontend)
1464 m_frontend->globalObjectCleared(); 1473 m_frontend->globalObjectCleared();
1465 } 1474 }
1466 1475
1467 void InspectorDebuggerAgent::trace(Visitor* visitor) 1476 void InspectorDebuggerAgent::trace(Visitor* visitor)
1468 { 1477 {
1469 visitor->trace(m_injectedScriptManager); 1478 visitor->trace(m_injectedScriptManager);
1470 visitor->trace(m_listener); 1479 visitor->trace(m_listener);
1471 visitor->trace(m_asyncCallStackTracker); 1480 visitor->trace(m_asyncCallStackTracker);
1472 InspectorBaseAgent::trace(visitor); 1481 InspectorBaseAgent::trace(visitor);
1473 } 1482 }
1474 1483
1475 } // namespace blink 1484 } // namespace blink
1476 1485
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698