- We should be able to trace it similarly to async step-in, except for being cross-target. - Users expect to see the async stack from the page and vice versa on the cross thread calls.
The following revision refers to this bug: https://chromium.googlesource.com/v8/v8.git/+/079c0fd8f6a8e7fec66bd340f04aec21a1a4fad8 commit 079c0fd8f6a8e7fec66bd340f04aec21a1a4fad8 Author: Alexey Kozyatinskiy <kozyatinskiy@chromium.org> Date: Mon Nov 06 06:40:14 2017 [inspector] added new way to step into async task It is preparation step for step-into-worker. There are few changes: - added breakOnAsyncCall flag for Debugger.stepInto. When flag is set and async task is scheduled before step-into finished, we pause execution with additional Debugger.paused event. This event contains additional scheduledAsyncTaskId field. - added Debugger.pauseOnAsyncTask. This method will pause execution as soon as given async task is started. This mechanism is replacement for Debugger.scheduleStepIntoAsync which can not be used between multiple targets. As result we can split async task scheduling in one target and requesting break for this async task running in another target. R=pfeldman@chromium.org Bug: chromium:778796 Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel Change-Id: I77be0c880d91253d333c54a23a4c084e7b8549e9 Reviewed-on: https://chromium-review.googlesource.com/750071 Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Pavel Feldman <pfeldman@chromium.org> Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Cr-Commit-Position: refs/heads/master@{#49127} [modify] https://crrev.com/079c0fd8f6a8e7fec66bd340f04aec21a1a4fad8/src/debug/debug.cc [modify] https://crrev.com/079c0fd8f6a8e7fec66bd340f04aec21a1a4fad8/src/inspector/js_protocol.json [modify] https://crrev.com/079c0fd8f6a8e7fec66bd340f04aec21a1a4fad8/src/inspector/string-16.cc [modify] https://crrev.com/079c0fd8f6a8e7fec66bd340f04aec21a1a4fad8/src/inspector/string-16.h [modify] https://crrev.com/079c0fd8f6a8e7fec66bd340f04aec21a1a4fad8/src/inspector/v8-debugger-agent-impl.cc [modify] https://crrev.com/079c0fd8f6a8e7fec66bd340f04aec21a1a4fad8/src/inspector/v8-debugger-agent-impl.h [modify] https://crrev.com/079c0fd8f6a8e7fec66bd340f04aec21a1a4fad8/src/inspector/v8-debugger.cc [modify] https://crrev.com/079c0fd8f6a8e7fec66bd340f04aec21a1a4fad8/src/inspector/v8-debugger.h [add] https://crrev.com/079c0fd8f6a8e7fec66bd340f04aec21a1a4fad8/test/inspector/debugger/pause-on-async-call-expected.txt [add] https://crrev.com/079c0fd8f6a8e7fec66bd340f04aec21a1a4fad8/test/inspector/debugger/pause-on-async-call.js [modify] https://crrev.com/079c0fd8f6a8e7fec66bd340f04aec21a1a4fad8/test/inspector/debugger/schedule-step-into-async-set-timeout-expected.txt [add] https://crrev.com/079c0fd8f6a8e7fec66bd340f04aec21a1a4fad8/test/inspector/debugger/step-into-break-on-async-call-expected.txt [add] https://crrev.com/079c0fd8f6a8e7fec66bd340f04aec21a1a4fad8/test/inspector/debugger/step-into-break-on-async-call.js
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/3b537802abdcea57a2ef9bfd72700cfcbc53ceea commit 3b537802abdcea57a2ef9bfd72700cfcbc53ceea Author: Alexey Kozyatinskiy <kozyatinskiy@chromium.org> Date: Mon Nov 13 23:31:04 2017 [DevTools] prepared tests for reworked async instrumentation - Promise.resolve -> Promise.then - Promise.reject -> Promise.catch R=dgozman@chromium.org Bug: chromium:778796 Change-Id: Ieca9cb08f474a600752e8ae6520a6d93452cb084 Reviewed-on: https://chromium-review.googlesource.com/767008 Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Reviewed-by: Dmitry Gozman <dgozman@chromium.org> Cr-Commit-Position: refs/heads/master@{#516096} [modify] https://crrev.com/3b537802abdcea57a2ef9bfd72700cfcbc53ceea/third_party/WebKit/LayoutTests/TestExpectations [modify] https://crrev.com/3b537802abdcea57a2ef9bfd72700cfcbc53ceea/third_party/WebKit/LayoutTests/http/tests/devtools/console/console-custom-formatters-expected.txt [modify] https://crrev.com/3b537802abdcea57a2ef9bfd72700cfcbc53ceea/third_party/WebKit/LayoutTests/http/tests/devtools/console/console-uncaught-promise-in-worker-expected.txt [modify] https://crrev.com/3b537802abdcea57a2ef9bfd72700cfcbc53ceea/third_party/WebKit/LayoutTests/http/tests/devtools/sources/debugger-async/async-callstack-promises-expected.txt [modify] https://crrev.com/3b537802abdcea57a2ef9bfd72700cfcbc53ceea/third_party/WebKit/LayoutTests/http/tests/devtools/sources/debugger-step/debugger-step-through-promises-expected.txt [modify] https://crrev.com/3b537802abdcea57a2ef9bfd72700cfcbc53ceea/third_party/WebKit/LayoutTests/http/tests/devtools/sources/debugger/async-callstack-fetch-expected.txt
The following revision refers to this bug: https://chromium.googlesource.com/deps/inspector_protocol/+/a9ec9c8c5b244e1dd2ceddacdbb58ca2f324f506 commit a9ec9c8c5b244e1dd2ceddacdbb58ca2f324f506 Author: Alexey Kozyatinskiy <kozyatinskiy@chromium.org> Date: Fri Nov 17 18:01:51 2017 [inspector_protocol] generated only used types Code generator can calculate used types and generate only them. Bug: chromium:778796 Change-Id: Iebd89c6b55d80624ba84c04bffb2a02085248933 TBR=dgozman@chromium.org [modify] https://crrev.com/a9ec9c8c5b244e1dd2ceddacdbb58ca2f324f506/CodeGenerator.py
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/e419e933066c2fa4c4563636e968dde4beab47e0 commit e419e933066c2fa4c4563636e968dde4beab47e0 Author: Alexey Kozyatinskiy <kozyatinskiy@chromium.org> Date: Fri Nov 17 20:14:08 2017 [DevTools] merged AXPropertyName enums in protocol We do not support enum splitted into parts in protocol. It is preparation step before landing improved version of our code generator which will generate only used types. R=dgozman@chromium.org Bug: chromium:778796 Change-Id: I2eceb334b81e59bdb8f4c6ce415f907b7207d0da Reviewed-on: https://chromium-review.googlesource.com/775663 Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Reviewed-by: Dmitry Gozman <dgozman@chromium.org> Cr-Commit-Position: refs/heads/master@{#517530} [modify] https://crrev.com/e419e933066c2fa4c4563636e968dde4beab47e0/third_party/WebKit/Source/core/inspector/browser_protocol.json [modify] https://crrev.com/e419e933066c2fa4c4563636e968dde4beab47e0/third_party/WebKit/Source/devtools/front_end/accessibility/AccessibilityNodeView.js [modify] https://crrev.com/e419e933066c2fa4c4563636e968dde4beab47e0/third_party/WebKit/Source/modules/accessibility/InspectorAccessibilityAgent.cpp
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/91f4e36c666ba45c46b86c2ea8e99631bfa46cef commit 91f4e36c666ba45c46b86c2ea8e99631bfa46cef Author: Alexey Kozyatinskiy <kozyatinskiy@chromium.org> Date: Fri Nov 17 23:36:45 2017 Roll third_party/inspector_protocol to a9ec9c8c5b244e1dd2ceddacdbb58ca2f324f506 This roll includes one commit: - [inspector_protocol] generated only used types. R=dgozman@chromium.org Bug: chromium:778796 Change-Id: I1bbf953340308b1f3ccbfa972dd2cc2a65dab439 Reviewed-on: https://chromium-review.googlesource.com/775619 Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Reviewed-by: Dmitry Gozman <dgozman@chromium.org> Cr-Commit-Position: refs/heads/master@{#517607} [modify] https://crrev.com/91f4e36c666ba45c46b86c2ea8e99631bfa46cef/chrome/browser/devtools/inspector_protocol_config.json [modify] https://crrev.com/91f4e36c666ba45c46b86c2ea8e99631bfa46cef/content/browser/devtools/protocol_config.json [modify] https://crrev.com/91f4e36c666ba45c46b86c2ea8e99631bfa46cef/third_party/inspector_protocol/CodeGenerator.py [modify] https://crrev.com/91f4e36c666ba45c46b86c2ea8e99631bfa46cef/third_party/inspector_protocol/README.chromium
The following revision refers to this bug: https://chromium.googlesource.com/v8/v8.git/+/ed9b2072a61bc4994805f77b48171e5444e21e56 commit ed9b2072a61bc4994805f77b48171e5444e21e56 Author: Alexey Kozyatinskiy <kozyatinskiy@chromium.org> Date: Tue Nov 21 16:56:00 2017 [inspector] reworked async instrumentation for promises Old instrumentation was designed to collect promise creation stack and promise scheduled stack together. In DevTools for last 6 months we show only creation stack for promises. We got strong support from users for new model. Now we can drop support for scheduled stacks and simplify implementation. New promise instrumentation is straightforward: - we send kDebugPromiseThen when promise is created by .then call, - we send kDebugPromiseCatch when promise is created by .catch call, - we send kDebugWillHandle before chained callback and kDebugDidHandle after chained callback, - and we send separate kDebugAsyncFunctionPromiseCreated for internal promise inside async await function. Advantages: - we reduce amount of captured stacks (we do not capture stack for promise that constructed not by .then or .catch), - we can consider async task related to .then and .catch as one shot since chained callback is executed once, - on V8 side we can implement required instrumentation using only promise hooks, Disadvantage: - see await-promise test, sometimes scheduled stack was useful since we add catch handler in native code, Implementation details: - on kInit promise hook we need to figure out why promise was created. We analyze builtin functions until first user defined function on current stack. If there is kAsyncFunctionPromiseCreate function then we send kDebugAsyncFunctionPromiseCreated event. If there is kPromiseThen or kPromiseCatch then only if this function is bottom builtin function we send corresponded event to inspector. We need it because Promise.all internally calls .then and in this case we have Promise.all and Promise.then on stack at the same time and we do not need to report this internally created promise to inspector. Bug: chromium:778796 Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel Change-Id: I53f47ce8c5c4a9897655c3396c249ea59529ae47 Reviewed-on: https://chromium-review.googlesource.com/765208 Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Dmitry Gozman <dgozman@chromium.org> Cr-Commit-Position: refs/heads/master@{#49553} [modify] https://crrev.com/ed9b2072a61bc4994805f77b48171e5444e21e56/src/builtins/builtins-promise-gen.cc [modify] https://crrev.com/ed9b2072a61bc4994805f77b48171e5444e21e56/src/debug/debug-interface.h [modify] https://crrev.com/ed9b2072a61bc4994805f77b48171e5444e21e56/src/debug/debug.cc [modify] https://crrev.com/ed9b2072a61bc4994805f77b48171e5444e21e56/src/debug/debug.h [modify] https://crrev.com/ed9b2072a61bc4994805f77b48171e5444e21e56/src/debug/interface-types.h [modify] https://crrev.com/ed9b2072a61bc4994805f77b48171e5444e21e56/src/inspector/js_protocol.json [modify] https://crrev.com/ed9b2072a61bc4994805f77b48171e5444e21e56/src/inspector/v8-debugger-agent-impl.cc [modify] https://crrev.com/ed9b2072a61bc4994805f77b48171e5444e21e56/src/inspector/v8-debugger.cc [modify] https://crrev.com/ed9b2072a61bc4994805f77b48171e5444e21e56/src/inspector/v8-debugger.h [modify] https://crrev.com/ed9b2072a61bc4994805f77b48171e5444e21e56/src/inspector/v8-stack-trace-impl.cc [modify] https://crrev.com/ed9b2072a61bc4994805f77b48171e5444e21e56/src/inspector/v8-stack-trace-impl.h [modify] https://crrev.com/ed9b2072a61bc4994805f77b48171e5444e21e56/src/runtime/runtime-debug.cc [modify] https://crrev.com/ed9b2072a61bc4994805f77b48171e5444e21e56/src/runtime/runtime-promise.cc [modify] https://crrev.com/ed9b2072a61bc4994805f77b48171e5444e21e56/src/runtime/runtime.h [modify] https://crrev.com/ed9b2072a61bc4994805f77b48171e5444e21e56/test/inspector/debugger/async-instrumentation-expected.txt [modify] https://crrev.com/ed9b2072a61bc4994805f77b48171e5444e21e56/test/inspector/debugger/async-promise-late-then-expected.txt [modify] https://crrev.com/ed9b2072a61bc4994805f77b48171e5444e21e56/test/inspector/debugger/async-stack-await-expected.txt [modify] https://crrev.com/ed9b2072a61bc4994805f77b48171e5444e21e56/test/inspector/debugger/async-stack-created-frame-expected.txt [modify] https://crrev.com/ed9b2072a61bc4994805f77b48171e5444e21e56/test/inspector/debugger/async-stack-for-promise-expected.txt [modify] https://crrev.com/ed9b2072a61bc4994805f77b48171e5444e21e56/test/inspector/debugger/async-stack-for-promise.js [modify] https://crrev.com/ed9b2072a61bc4994805f77b48171e5444e21e56/test/inspector/debugger/collect-obsolete-async-tasks-expected.txt [modify] https://crrev.com/ed9b2072a61bc4994805f77b48171e5444e21e56/test/inspector/debugger/collect-obsolete-async-tasks.js [modify] https://crrev.com/ed9b2072a61bc4994805f77b48171e5444e21e56/test/inspector/debugger/collect-old-async-call-chains-expected.txt [modify] https://crrev.com/ed9b2072a61bc4994805f77b48171e5444e21e56/test/inspector/debugger/collect-old-async-call-chains.js [modify] https://crrev.com/ed9b2072a61bc4994805f77b48171e5444e21e56/test/inspector/debugger/max-async-call-chain-depth-expected.txt [modify] https://crrev.com/ed9b2072a61bc4994805f77b48171e5444e21e56/test/inspector/debugger/promise-chain-when-limit-hit-expected.txt [modify] https://crrev.com/ed9b2072a61bc4994805f77b48171e5444e21e56/test/inspector/debugger/promise-chain-when-limit-hit.js [modify] https://crrev.com/ed9b2072a61bc4994805f77b48171e5444e21e56/test/inspector/runtime/await-promise-expected.txt
The following revision refers to this bug: https://chromium.googlesource.com/v8/v8.git/+/3a41b697cd9ba043b670a063f595a85c904d3878 commit 3a41b697cd9ba043b670a063f595a85c904d3878 Author: Alexey Kozyatinskiy <kozyatinskiy@chromium.org> Date: Wed Nov 22 16:33:06 2017 [inspector] introduced stackTraceId and externalAsyncTask API Sometimes we need to capture stack trace on one debugger and use it later as a parent stack on another debugger (e.g. worker.postMessage). This CL includes following addition to our protocol and v8-inspector.h: - added Runtime.StackTraceId, this id represents stack trace captured on debugger with given id, - protocol client can fetch Runtime.StackTrace by Runtime.StacKTraceId using Debugger.getStackTrace method, - externalParent field is added to Debugger.paused event, it may contain external parent stack trace, - V8Inspector::storeCurrentStackTrace captures current stack trace and returns V8StackTraceId for embedder this id can be used as argument for V8Inspector::externalAsyncTaskStarted and V8Inspector::externalAsyncTaskFinished method. Any async stack trace captured between these calls will get passed external stack trace as external parent. These methods are designed to be called on different debuggers. If async task is scheduled and started on one debugger user should continue to use asyncTask* API, - Debugger.enable methods returns unique debuggerId. Bug: chromium:778796 Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_chromium_rel_ng Change-Id: I16aba0d04bfcea90f3e187e635a0588c92354539 Reviewed-on: https://chromium-review.googlesource.com/754183 Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Dmitry Gozman <dgozman@chromium.org> Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Cr-Commit-Position: refs/heads/master@{#49582} [modify] https://crrev.com/3a41b697cd9ba043b670a063f595a85c904d3878/include/v8-inspector.h [modify] https://crrev.com/3a41b697cd9ba043b670a063f595a85c904d3878/src/api.cc [modify] https://crrev.com/3a41b697cd9ba043b670a063f595a85c904d3878/src/debug/debug-interface.h [modify] https://crrev.com/3a41b697cd9ba043b670a063f595a85c904d3878/src/inspector/inspector_protocol_config.json [modify] https://crrev.com/3a41b697cd9ba043b670a063f595a85c904d3878/src/inspector/js_protocol.json [modify] https://crrev.com/3a41b697cd9ba043b670a063f595a85c904d3878/src/inspector/string-util.cc [modify] https://crrev.com/3a41b697cd9ba043b670a063f595a85c904d3878/src/inspector/string-util.h [modify] https://crrev.com/3a41b697cd9ba043b670a063f595a85c904d3878/src/inspector/v8-debugger-agent-impl.cc [modify] https://crrev.com/3a41b697cd9ba043b670a063f595a85c904d3878/src/inspector/v8-debugger-agent-impl.h [modify] https://crrev.com/3a41b697cd9ba043b670a063f595a85c904d3878/src/inspector/v8-debugger.cc [modify] https://crrev.com/3a41b697cd9ba043b670a063f595a85c904d3878/src/inspector/v8-debugger.h [modify] https://crrev.com/3a41b697cd9ba043b670a063f595a85c904d3878/src/inspector/v8-inspector-impl.cc [modify] https://crrev.com/3a41b697cd9ba043b670a063f595a85c904d3878/src/inspector/v8-inspector-impl.h [modify] https://crrev.com/3a41b697cd9ba043b670a063f595a85c904d3878/src/inspector/v8-stack-trace-impl.cc [modify] https://crrev.com/3a41b697cd9ba043b670a063f595a85c904d3878/src/inspector/v8-stack-trace-impl.h [add] https://crrev.com/3a41b697cd9ba043b670a063f595a85c904d3878/test/inspector/debugger/external-stack-trace-expected.txt [add] https://crrev.com/3a41b697cd9ba043b670a063f595a85c904d3878/test/inspector/debugger/external-stack-trace.js [modify] https://crrev.com/3a41b697cd9ba043b670a063f595a85c904d3878/test/inspector/inspector-test.cc [modify] https://crrev.com/3a41b697cd9ba043b670a063f595a85c904d3878/test/inspector/isolate-data.cc [modify] https://crrev.com/3a41b697cd9ba043b670a063f595a85c904d3878/test/inspector/isolate-data.h [modify] https://crrev.com/3a41b697cd9ba043b670a063f595a85c904d3878/test/inspector/protocol-test.js [modify] https://crrev.com/3a41b697cd9ba043b670a063f595a85c904d3878/test/inspector/runtime/create-context-expected.txt
The following revision refers to this bug: https://chromium.googlesource.com/v8/v8.git/+/4379533ca421e21b196ae4764aac0a2822849677 commit 4379533ca421e21b196ae4764aac0a2822849677 Author: Clemens Hammacher <clemensh@chromium.org> Date: Wed Nov 22 17:39:00 2017 Revert "[inspector] introduced stackTraceId and externalAsyncTask API" This reverts commit 3a41b697cd9ba043b670a063f595a85c904d3878. Reason for revert: Break msvc: https://build.chromium.org/p/client.v8/builders/V8%20Win64%20-%20msvc/builds/250 Original change's description: > [inspector] introduced stackTraceId and externalAsyncTask API > > Sometimes we need to capture stack trace on one debugger and use it > later as a parent stack on another debugger (e.g. worker.postMessage). > > This CL includes following addition to our protocol and v8-inspector.h: > - added Runtime.StackTraceId, this id represents stack trace captured > on debugger with given id, > - protocol client can fetch Runtime.StackTrace by > Runtime.StacKTraceId using Debugger.getStackTrace method, > - externalParent field is added to Debugger.paused event, it may > contain external parent stack trace, > - V8Inspector::storeCurrentStackTrace captures current stack trace > and returns V8StackTraceId for embedder this id can be used as > argument for V8Inspector::externalAsyncTaskStarted and > V8Inspector::externalAsyncTaskFinished method. Any async stack > trace captured between these calls will get passed external stack > trace as external parent. These methods are designed to be called > on different debuggers. If async task is scheduled and started on > one debugger user should continue to use asyncTask* API, > - Debugger.enable methods returns unique debuggerId. > > Bug: chromium:778796 > Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_chromium_rel_ng > Change-Id: I16aba0d04bfcea90f3e187e635a0588c92354539 > Reviewed-on: https://chromium-review.googlesource.com/754183 > Reviewed-by: Jakob Gruber <jgruber@chromium.org> > Reviewed-by: Dmitry Gozman <dgozman@chromium.org> > Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> > Cr-Commit-Position: refs/heads/master@{#49582} TBR=dgozman@chromium.org,pfeldman@chromium.org,yangguo@chromium.org,kozyatinskiy@chromium.org,jgruber@chromium.org Change-Id: I9b52354fa0841e5148596cf594317f2e5fe508ea No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: chromium:778796 Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_chromium_rel_ng Reviewed-on: https://chromium-review.googlesource.com/786152 Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#49584} [modify] https://crrev.com/4379533ca421e21b196ae4764aac0a2822849677/include/v8-inspector.h [modify] https://crrev.com/4379533ca421e21b196ae4764aac0a2822849677/src/api.cc [modify] https://crrev.com/4379533ca421e21b196ae4764aac0a2822849677/src/debug/debug-interface.h [modify] https://crrev.com/4379533ca421e21b196ae4764aac0a2822849677/src/inspector/inspector_protocol_config.json [modify] https://crrev.com/4379533ca421e21b196ae4764aac0a2822849677/src/inspector/js_protocol.json [modify] https://crrev.com/4379533ca421e21b196ae4764aac0a2822849677/src/inspector/string-util.cc [modify] https://crrev.com/4379533ca421e21b196ae4764aac0a2822849677/src/inspector/string-util.h [modify] https://crrev.com/4379533ca421e21b196ae4764aac0a2822849677/src/inspector/v8-debugger-agent-impl.cc [modify] https://crrev.com/4379533ca421e21b196ae4764aac0a2822849677/src/inspector/v8-debugger-agent-impl.h [modify] https://crrev.com/4379533ca421e21b196ae4764aac0a2822849677/src/inspector/v8-debugger.cc [modify] https://crrev.com/4379533ca421e21b196ae4764aac0a2822849677/src/inspector/v8-debugger.h [modify] https://crrev.com/4379533ca421e21b196ae4764aac0a2822849677/src/inspector/v8-inspector-impl.cc [modify] https://crrev.com/4379533ca421e21b196ae4764aac0a2822849677/src/inspector/v8-inspector-impl.h [modify] https://crrev.com/4379533ca421e21b196ae4764aac0a2822849677/src/inspector/v8-stack-trace-impl.cc [modify] https://crrev.com/4379533ca421e21b196ae4764aac0a2822849677/src/inspector/v8-stack-trace-impl.h [delete] https://crrev.com/00a781dbc3a2499fa198279db4eeb0519c2b65b9/test/inspector/debugger/external-stack-trace-expected.txt [delete] https://crrev.com/00a781dbc3a2499fa198279db4eeb0519c2b65b9/test/inspector/debugger/external-stack-trace.js [modify] https://crrev.com/4379533ca421e21b196ae4764aac0a2822849677/test/inspector/inspector-test.cc [modify] https://crrev.com/4379533ca421e21b196ae4764aac0a2822849677/test/inspector/isolate-data.cc [modify] https://crrev.com/4379533ca421e21b196ae4764aac0a2822849677/test/inspector/isolate-data.h [modify] https://crrev.com/4379533ca421e21b196ae4764aac0a2822849677/test/inspector/protocol-test.js [modify] https://crrev.com/4379533ca421e21b196ae4764aac0a2822849677/test/inspector/runtime/create-context-expected.txt
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/dafda5654b89d4fbf7f11436557e6ad3e9fdbbd2 commit dafda5654b89d4fbf7f11436557e6ad3e9fdbbd2 Author: Alexey Kozyatinskiy <kozyatinskiy@chromium.org> Date: Wed Nov 22 17:38:14 2017 [DevTools] reenable tests Reenabled test after [1] rolled to Chromium. [1] https://chromium-review.googlesource.com/c/v8/v8/+/765208 TBR=dgozman@chromium.org Bug: chromium:778796 Change-Id: I33db12eb9434a4a52dbd9228fdede1551f661b5e Reviewed-on: https://chromium-review.googlesource.com/767051 Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Reviewed-by: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Cr-Commit-Position: refs/heads/master@{#518671} [modify] https://crrev.com/dafda5654b89d4fbf7f11436557e6ad3e9fdbbd2/third_party/WebKit/LayoutTests/TestExpectations
The following revision refers to this bug: https://chromium.googlesource.com/v8/v8.git/+/885a5669aadce3001bec5430669884c4c2a41559 commit 885a5669aadce3001bec5430669884c4c2a41559 Author: Alexey Kozyatinskiy <kozyatinskiy@chromium.org> Date: Wed Nov 22 20:56:10 2017 Reland [inspector] introduced stackTraceId and externalAsyncTask API Sometimes we need to capture stack trace on one debugger and use it later as a parent stack on another debugger (e.g. worker.postMessage). This CL includes following addition to our protocol and v8-inspector.h: - added Runtime.StackTraceId, this id represents stack trace captured on debugger with given id, - protocol client can fetch Runtime.StackTrace by Runtime.StacKTraceId using Debugger.getStackTrace method, - externalParent field is added to Debugger.paused event, it may contain external parent stack trace, - V8Inspector::storeCurrentStackTrace captures current stack trace and returns V8StackTraceId for embedder this id can be used as argument for V8Inspector::externalAsyncTaskStarted and V8Inspector::externalAsyncTaskFinished method. Any async stack trace captured between these calls will get passed external stack trace as external parent. These methods are designed to be called on different debuggers. If async task is scheduled and started on one debugger user should continue to use asyncTask* API, - Debugger.enable methods returns unique debuggerId. TBR=dgozman@chromium.org,jgruber@chromium.org Bug: chromium:778796 Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_chromium_rel_ng Change-Id: I2c1a2b2e30ed69ccb61d10f08686f4edb09f50e4 Reviewed-on: https://chromium-review.googlesource.com/786274 Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Reviewed-by: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Cr-Commit-Position: refs/heads/master@{#49591} [modify] https://crrev.com/885a5669aadce3001bec5430669884c4c2a41559/include/v8-inspector.h [modify] https://crrev.com/885a5669aadce3001bec5430669884c4c2a41559/src/api.cc [modify] https://crrev.com/885a5669aadce3001bec5430669884c4c2a41559/src/debug/debug-interface.h [modify] https://crrev.com/885a5669aadce3001bec5430669884c4c2a41559/src/inspector/inspector_protocol_config.json [modify] https://crrev.com/885a5669aadce3001bec5430669884c4c2a41559/src/inspector/js_protocol.json [modify] https://crrev.com/885a5669aadce3001bec5430669884c4c2a41559/src/inspector/string-util.cc [modify] https://crrev.com/885a5669aadce3001bec5430669884c4c2a41559/src/inspector/string-util.h [modify] https://crrev.com/885a5669aadce3001bec5430669884c4c2a41559/src/inspector/v8-debugger-agent-impl.cc [modify] https://crrev.com/885a5669aadce3001bec5430669884c4c2a41559/src/inspector/v8-debugger-agent-impl.h [modify] https://crrev.com/885a5669aadce3001bec5430669884c4c2a41559/src/inspector/v8-debugger.cc [modify] https://crrev.com/885a5669aadce3001bec5430669884c4c2a41559/src/inspector/v8-debugger.h [modify] https://crrev.com/885a5669aadce3001bec5430669884c4c2a41559/src/inspector/v8-inspector-impl.cc [modify] https://crrev.com/885a5669aadce3001bec5430669884c4c2a41559/src/inspector/v8-inspector-impl.h [modify] https://crrev.com/885a5669aadce3001bec5430669884c4c2a41559/src/inspector/v8-stack-trace-impl.cc [modify] https://crrev.com/885a5669aadce3001bec5430669884c4c2a41559/src/inspector/v8-stack-trace-impl.h [add] https://crrev.com/885a5669aadce3001bec5430669884c4c2a41559/test/inspector/debugger/external-stack-trace-expected.txt [add] https://crrev.com/885a5669aadce3001bec5430669884c4c2a41559/test/inspector/debugger/external-stack-trace.js [modify] https://crrev.com/885a5669aadce3001bec5430669884c4c2a41559/test/inspector/inspector-test.cc [modify] https://crrev.com/885a5669aadce3001bec5430669884c4c2a41559/test/inspector/isolate-data.cc [modify] https://crrev.com/885a5669aadce3001bec5430669884c4c2a41559/test/inspector/isolate-data.h [modify] https://crrev.com/885a5669aadce3001bec5430669884c4c2a41559/test/inspector/protocol-test.js [modify] https://crrev.com/885a5669aadce3001bec5430669884c4c2a41559/test/inspector/runtime/create-context-expected.txt
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/34540440a8c96f36917f20de79c4cf3eeb315bd4 commit 34540440a8c96f36917f20de79c4cf3eeb315bd4 Author: Alexey Kozyatinskiy <kozyatinskiy@chromium.org> Date: Thu Nov 23 00:03:38 2017 [DevTools] fixed continue-to-location marker in top level function Debugger.getPossibleBreakpoints can returns breakable locations only in current function. We can pass functionLocation as start position and fallback to current position if functionLocation is not available (should never happens). R=dgozman@chromium.org Bug: chromium:778796 Change-Id: I40bc1a3a1a9c8465e952bb5cdcd97e0d7dc4d1be Reviewed-on: https://chromium-review.googlesource.com/786543 Reviewed-by: Dmitry Gozman <dgozman@chromium.org> Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Cr-Commit-Position: refs/heads/master@{#518810} [add] https://crrev.com/34540440a8c96f36917f20de79c4cf3eeb315bd4/third_party/WebKit/LayoutTests/http/tests/devtools/sources/debugger-ui/continue-to-location-markers-in-top-level-function-expected.txt [add] https://crrev.com/34540440a8c96f36917f20de79c4cf3eeb315bd4/third_party/WebKit/LayoutTests/http/tests/devtools/sources/debugger-ui/continue-to-location-markers-in-top-level-function.js [modify] https://crrev.com/34540440a8c96f36917f20de79c4cf3eeb315bd4/third_party/WebKit/Source/devtools/front_end/sdk/DebuggerModel.js [modify] https://crrev.com/34540440a8c96f36917f20de79c4cf3eeb315bd4/third_party/WebKit/Source/devtools/front_end/sources/JavaScriptSourceFrame.js
The following revision refers to this bug: https://chromium.googlesource.com/v8/v8.git/+/653a9e2bd322707e7b265129e066ccd0998efa11 commit 653a9e2bd322707e7b265129e066ccd0998efa11 Author: Alexey Kozyatinskiy <kozyatinskiy@chromium.org> Date: Thu Nov 23 00:20:10 2017 [inspector] introduced universal Debugger.pauseOnAsyncCall If protocol client needs to make step-into async call: - pause before async call using any Debugger agent capabilities, - call Debugger.stepInto with breakOnAsyncCall flag, - wait for Debugger.paused event, this event will contain asyncCallStackTrace if async call is scheduled, - call Debugger.pauseOnAsyncCall on each known target, - resume execution in current debugger by Debugger.resume. Bug: chromium:778796 Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel Change-Id: I40c56278e7b1ceafc3bf81608b8ca6716c2b3168 Reviewed-on: https://chromium-review.googlesource.com/773573 Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Reviewed-by: Dmitry Gozman <dgozman@chromium.org> Cr-Commit-Position: refs/heads/master@{#49594} [modify] https://crrev.com/653a9e2bd322707e7b265129e066ccd0998efa11/src/inspector/js_protocol.json [modify] https://crrev.com/653a9e2bd322707e7b265129e066ccd0998efa11/src/inspector/v8-debugger-agent-impl.cc [modify] https://crrev.com/653a9e2bd322707e7b265129e066ccd0998efa11/src/inspector/v8-debugger-agent-impl.h [modify] https://crrev.com/653a9e2bd322707e7b265129e066ccd0998efa11/src/inspector/v8-debugger.cc [modify] https://crrev.com/653a9e2bd322707e7b265129e066ccd0998efa11/src/inspector/v8-debugger.h [modify] https://crrev.com/653a9e2bd322707e7b265129e066ccd0998efa11/test/inspector/debugger/pause-on-async-call-expected.txt [modify] https://crrev.com/653a9e2bd322707e7b265129e066ccd0998efa11/test/inspector/debugger/pause-on-async-call.js [modify] https://crrev.com/653a9e2bd322707e7b265129e066ccd0998efa11/test/inspector/debugger/step-into-break-on-async-call-expected.txt [modify] https://crrev.com/653a9e2bd322707e7b265129e066ccd0998efa11/test/inspector/debugger/step-into-break-on-async-call.js [add] https://crrev.com/653a9e2bd322707e7b265129e066ccd0998efa11/test/inspector/debugger/step-into-external-async-task-expected.txt [add] https://crrev.com/653a9e2bd322707e7b265129e066ccd0998efa11/test/inspector/debugger/step-into-external-async-task.js
The following revision refers to this bug: https://chromium.googlesource.com/v8/v8.git/+/48c1cb9746ee5506a693c92544f6a89c79fcd286 commit 48c1cb9746ee5506a693c92544f6a89c79fcd286 Author: Alexey Kozyatinskiy <kozyatinskiy@chromium.org> Date: Thu Nov 23 00:22:40 2017 [inspector] introduce way to get full stored async stack If async stack is longer then max depth, we add externalParent as id, client can fetch next max depth async stacks by Debugger.getStackTrace. R=dgozman@chromium.org Bug: chromium:778796 Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel Change-Id: I89d461e672251f03fb239f4f16ae3b0374fce766 Reviewed-on: https://chromium-review.googlesource.com/776242 Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Reviewed-by: Dmitry Gozman <dgozman@chromium.org> Cr-Commit-Position: refs/heads/master@{#49595} [modify] https://crrev.com/48c1cb9746ee5506a693c92544f6a89c79fcd286/src/inspector/injected-script.cc [modify] https://crrev.com/48c1cb9746ee5506a693c92544f6a89c79fcd286/src/inspector/js_protocol.json [modify] https://crrev.com/48c1cb9746ee5506a693c92544f6a89c79fcd286/src/inspector/v8-console-message.cc [modify] https://crrev.com/48c1cb9746ee5506a693c92544f6a89c79fcd286/src/inspector/v8-debugger-agent-impl.cc [modify] https://crrev.com/48c1cb9746ee5506a693c92544f6a89c79fcd286/src/inspector/v8-debugger.cc [modify] https://crrev.com/48c1cb9746ee5506a693c92544f6a89c79fcd286/src/inspector/v8-debugger.h [modify] https://crrev.com/48c1cb9746ee5506a693c92544f6a89c79fcd286/src/inspector/v8-stack-trace-impl.cc [modify] https://crrev.com/48c1cb9746ee5506a693c92544f6a89c79fcd286/src/inspector/v8-stack-trace-impl.h [add] https://crrev.com/48c1cb9746ee5506a693c92544f6a89c79fcd286/test/inspector/debugger/async-stack-load-more-expected.txt [add] https://crrev.com/48c1cb9746ee5506a693c92544f6a89c79fcd286/test/inspector/debugger/async-stack-load-more.js
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/61b2b7984018f74b820ea354ed08de437c487542 commit 61b2b7984018f74b820ea354ed08de437c487542 Author: Alexey Kozyatinskiy <kozyatinskiy@chromium.org> Date: Thu Nov 23 20:07:42 2017 [DevTools] instrumented worker constructor With this instrumentation DevTools can: - inside worker script we can append async stack trace that points to worker constructor in page context, - step-into-async new Worker(...) expression which will break at first line of worker script. TBR=pfeldman@chromium.org Bug: chromium:778796 Change-Id: I6dab7a0f038ad80929e379c7d9e02f4a776371fb Reviewed-on: https://chromium-review.googlesource.com/757024 Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Reviewed-by: Alexei Filippov <alph@chromium.org> Cr-Commit-Position: refs/heads/master@{#519012} [modify] https://crrev.com/61b2b7984018f74b820ea354ed08de437c487542/third_party/WebKit/LayoutTests/http/tests/inspector-protocol/resources/inspector-protocol-test.js [add] https://crrev.com/61b2b7984018f74b820ea354ed08de437c487542/third_party/WebKit/LayoutTests/inspector-protocol/worker/worker-constructor-async-stacks-expected.txt [add] https://crrev.com/61b2b7984018f74b820ea354ed08de437c487542/third_party/WebKit/LayoutTests/inspector-protocol/worker/worker-constructor-async-stacks.js [modify] https://crrev.com/61b2b7984018f74b820ea354ed08de437c487542/third_party/WebKit/Source/core/exported/WebSharedWorkerImpl.cpp [modify] https://crrev.com/61b2b7984018f74b820ea354ed08de437c487542/third_party/WebKit/Source/core/inspector/ThreadDebugger.cpp [modify] https://crrev.com/61b2b7984018f74b820ea354ed08de437c487542/third_party/WebKit/Source/core/inspector/ThreadDebugger.h [modify] https://crrev.com/61b2b7984018f74b820ea354ed08de437c487542/third_party/WebKit/Source/core/workers/DedicatedWorker.cpp [modify] https://crrev.com/61b2b7984018f74b820ea354ed08de437c487542/third_party/WebKit/Source/core/workers/DedicatedWorker.h [modify] https://crrev.com/61b2b7984018f74b820ea354ed08de437c487542/third_party/WebKit/Source/core/workers/DedicatedWorkerMessagingProxy.cpp [modify] https://crrev.com/61b2b7984018f74b820ea354ed08de437c487542/third_party/WebKit/Source/core/workers/DedicatedWorkerMessagingProxy.h [modify] https://crrev.com/61b2b7984018f74b820ea354ed08de437c487542/third_party/WebKit/Source/core/workers/DedicatedWorkerTest.cpp [modify] https://crrev.com/61b2b7984018f74b820ea354ed08de437c487542/third_party/WebKit/Source/core/workers/ThreadedMessagingProxyBase.cpp [modify] https://crrev.com/61b2b7984018f74b820ea354ed08de437c487542/third_party/WebKit/Source/core/workers/ThreadedMessagingProxyBase.h [modify] https://crrev.com/61b2b7984018f74b820ea354ed08de437c487542/third_party/WebKit/Source/core/workers/ThreadedWorkletMessagingProxy.cpp [modify] https://crrev.com/61b2b7984018f74b820ea354ed08de437c487542/third_party/WebKit/Source/core/workers/ThreadedWorkletTest.cpp [modify] https://crrev.com/61b2b7984018f74b820ea354ed08de437c487542/third_party/WebKit/Source/core/workers/WorkerInspectorProxy.cpp [modify] https://crrev.com/61b2b7984018f74b820ea354ed08de437c487542/third_party/WebKit/Source/core/workers/WorkerInspectorProxy.h [modify] https://crrev.com/61b2b7984018f74b820ea354ed08de437c487542/third_party/WebKit/Source/core/workers/WorkerThread.cpp [modify] https://crrev.com/61b2b7984018f74b820ea354ed08de437c487542/third_party/WebKit/Source/core/workers/WorkerThread.h [modify] https://crrev.com/61b2b7984018f74b820ea354ed08de437c487542/third_party/WebKit/Source/core/workers/WorkerThreadTest.cpp [modify] https://crrev.com/61b2b7984018f74b820ea354ed08de437c487542/third_party/WebKit/Source/core/workers/WorkerThreadTestHelper.h [modify] https://crrev.com/61b2b7984018f74b820ea354ed08de437c487542/third_party/WebKit/Source/modules/animationworklet/AnimationWorkletGlobalScopeTest.cpp [modify] https://crrev.com/61b2b7984018f74b820ea354ed08de437c487542/third_party/WebKit/Source/modules/animationworklet/AnimationWorkletThreadTest.cpp [modify] https://crrev.com/61b2b7984018f74b820ea354ed08de437c487542/third_party/WebKit/Source/modules/exported/WebEmbeddedWorkerImpl.cpp [modify] https://crrev.com/61b2b7984018f74b820ea354ed08de437c487542/third_party/WebKit/Source/modules/webaudio/AudioWorkletGlobalScopeTest.cpp [modify] https://crrev.com/61b2b7984018f74b820ea354ed08de437c487542/third_party/WebKit/Source/modules/webaudio/AudioWorkletThreadTest.cpp
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/bb89a0deef6e61a98da76c588348f0e06395fab0 commit bb89a0deef6e61a98da76c588348f0e06395fab0 Author: Alexey Kozyatinskiy <kozyatinskiy@chromium.org> Date: Fri Nov 24 06:04:42 2017 [DevTools] instrumented worker.postMessage With this instrumentation DevTools can show async stacks for worker.postMessage and uses it for step-into-async. TBR=pfeldman@chromium.org Bug: chromium:778796 Change-Id: Ie84600d6856cdfa9724112445d3432570d838a1d Reviewed-on: https://chromium-review.googlesource.com/757681 Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Reviewed-by: Alexei Filippov <alph@chromium.org> Cr-Commit-Position: refs/heads/master@{#519064} [add] https://crrev.com/bb89a0deef6e61a98da76c588348f0e06395fab0/third_party/WebKit/LayoutTests/inspector-protocol/worker/worker-post-message-async-stacks-expected.txt [add] https://crrev.com/bb89a0deef6e61a98da76c588348f0e06395fab0/third_party/WebKit/LayoutTests/inspector-protocol/worker/worker-post-message-async-stacks.js [modify] https://crrev.com/bb89a0deef6e61a98da76c588348f0e06395fab0/third_party/WebKit/Source/core/inspector/ThreadDebugger.h [modify] https://crrev.com/bb89a0deef6e61a98da76c588348f0e06395fab0/third_party/WebKit/Source/core/workers/DedicatedWorker.cpp [modify] https://crrev.com/bb89a0deef6e61a98da76c588348f0e06395fab0/third_party/WebKit/Source/core/workers/DedicatedWorkerMessagingProxy.cpp [modify] https://crrev.com/bb89a0deef6e61a98da76c588348f0e06395fab0/third_party/WebKit/Source/core/workers/DedicatedWorkerMessagingProxy.h [modify] https://crrev.com/bb89a0deef6e61a98da76c588348f0e06395fab0/third_party/WebKit/Source/core/workers/DedicatedWorkerObjectProxy.cpp [modify] https://crrev.com/bb89a0deef6e61a98da76c588348f0e06395fab0/third_party/WebKit/Source/core/workers/DedicatedWorkerObjectProxy.h [modify] https://crrev.com/bb89a0deef6e61a98da76c588348f0e06395fab0/third_party/WebKit/Source/core/workers/DedicatedWorkerTest.cpp
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/1cd17e616552c26a2787b6289a9b3ab931c04ee4 commit 1cd17e616552c26a2787b6289a9b3ab931c04ee4 Author: Alexey Kozyatinskiy <kozyatinskiy@chromium.org> Date: Sat Nov 25 19:14:19 2017 [DevTools] instrumented worker.onmessage - async stacks supported postMessage on worker side, - step-into-async works for postMessage from worker. TBR=pfeldman@chromium.org Bug: chromium:778796 Change-Id: I7fbca56700800b838147dc215ba8b57a81bc7b9d Reviewed-on: https://chromium-review.googlesource.com/757589 Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Reviewed-by: Alexei Filippov <alph@chromium.org> Cr-Commit-Position: refs/heads/master@{#519185} [modify] https://crrev.com/1cd17e616552c26a2787b6289a9b3ab931c04ee4/third_party/WebKit/LayoutTests/http/tests/inspector-protocol/resources/inspector-protocol-test.js [add] https://crrev.com/1cd17e616552c26a2787b6289a9b3ab931c04ee4/third_party/WebKit/LayoutTests/inspector-protocol/worker/worker-on-message-async-stacks-expected.txt [add] https://crrev.com/1cd17e616552c26a2787b6289a9b3ab931c04ee4/third_party/WebKit/LayoutTests/inspector-protocol/worker/worker-on-message-async-stacks.js [modify] https://crrev.com/1cd17e616552c26a2787b6289a9b3ab931c04ee4/third_party/WebKit/Source/core/workers/DedicatedWorkerGlobalScope.cpp [modify] https://crrev.com/1cd17e616552c26a2787b6289a9b3ab931c04ee4/third_party/WebKit/Source/core/workers/DedicatedWorkerMessagingProxy.cpp [modify] https://crrev.com/1cd17e616552c26a2787b6289a9b3ab931c04ee4/third_party/WebKit/Source/core/workers/DedicatedWorkerMessagingProxy.h [modify] https://crrev.com/1cd17e616552c26a2787b6289a9b3ab931c04ee4/third_party/WebKit/Source/core/workers/DedicatedWorkerObjectProxy.cpp [modify] https://crrev.com/1cd17e616552c26a2787b6289a9b3ab931c04ee4/third_party/WebKit/Source/core/workers/DedicatedWorkerObjectProxy.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/820c5f1347bf5fe92b6be1a23e16158cb49cd842 commit 820c5f1347bf5fe92b6be1a23e16158cb49cd842 Author: Alexey Kozyatinskiy <kozyatinskiy@chromium.org> Date: Sat Nov 25 22:01:30 2017 [DevTools] show external async stacks on frontend We need it at least for workers. R=dgozman@chromium.org Bug: chromium:778796 Change-Id: I4e9f71adfbc82ecf3cfc7f15691425926b530bda Reviewed-on: https://chromium-review.googlesource.com/758504 Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Reviewed-by: Dmitry Gozman <dgozman@chromium.org> Cr-Commit-Position: refs/heads/master@{#519187} [modify] https://crrev.com/820c5f1347bf5fe92b6be1a23e16158cb49cd842/third_party/WebKit/LayoutTests/http/tests/devtools/sources/debugger-pause/debugger-change-variable.js [modify] https://crrev.com/820c5f1347bf5fe92b6be1a23e16158cb49cd842/third_party/WebKit/LayoutTests/http/tests/devtools/sources/debugger-pause/debugger-eval-while-paused.js [modify] https://crrev.com/820c5f1347bf5fe92b6be1a23e16158cb49cd842/third_party/WebKit/LayoutTests/http/tests/devtools/sources/debugger-ui/async-call-stack-async-function.js [modify] https://crrev.com/820c5f1347bf5fe92b6be1a23e16158cb49cd842/third_party/WebKit/LayoutTests/http/tests/devtools/sources/debugger-ui/async-call-stack-url.js [add] https://crrev.com/820c5f1347bf5fe92b6be1a23e16158cb49cd842/third_party/WebKit/LayoutTests/http/tests/devtools/sources/debugger-ui/async-call-stack-worker-expected.txt [add] https://crrev.com/820c5f1347bf5fe92b6be1a23e16158cb49cd842/third_party/WebKit/LayoutTests/http/tests/devtools/sources/debugger-ui/async-call-stack-worker.js [modify] https://crrev.com/820c5f1347bf5fe92b6be1a23e16158cb49cd842/third_party/WebKit/LayoutTests/http/tests/devtools/sources/debugger-ui/copy-stack-trace.js [modify] https://crrev.com/820c5f1347bf5fe92b6be1a23e16158cb49cd842/third_party/WebKit/LayoutTests/http/tests/devtools/sources/debugger/debugger-minified-variables-evalution.js [modify] https://crrev.com/820c5f1347bf5fe92b6be1a23e16158cb49cd842/third_party/WebKit/Source/devtools/front_end/sdk/DebuggerModel.js [modify] https://crrev.com/820c5f1347bf5fe92b6be1a23e16158cb49cd842/third_party/WebKit/Source/devtools/front_end/sdk/Script.js [modify] https://crrev.com/820c5f1347bf5fe92b6be1a23e16158cb49cd842/third_party/WebKit/Source/devtools/front_end/sources/CallStackSidebarPane.js
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/5eae5f19e0a1c5e400fbf9519816eb3e913de933 commit 5eae5f19e0a1c5e400fbf9519816eb3e913de933 Author: Alexey Kozyatinskiy <kozyatinskiy@chromium.org> Date: Sat Nov 25 22:10:20 2017 [DevTools] added "Show more" button for very long async stacks Screenshot: https://imgur.com/a/KcS2E Bug: chromium:778796 Change-Id: I8000e08c063f86c10278714e2ab8056d35a4e3e6 Reviewed-on: https://chromium-review.googlesource.com/777998 Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Reviewed-by: Dmitry Gozman <dgozman@chromium.org> Cr-Commit-Position: refs/heads/master@{#519188} [add] https://crrev.com/5eae5f19e0a1c5e400fbf9519816eb3e913de933/third_party/WebKit/LayoutTests/http/tests/devtools/sources/debugger-ui/call-stack-show-more-expected.txt [add] https://crrev.com/5eae5f19e0a1c5e400fbf9519816eb3e913de933/third_party/WebKit/LayoutTests/http/tests/devtools/sources/debugger-ui/call-stack-show-more.js [modify] https://crrev.com/5eae5f19e0a1c5e400fbf9519816eb3e913de933/third_party/WebKit/Source/devtools/front_end/sources/CallStackSidebarPane.js [modify] https://crrev.com/5eae5f19e0a1c5e400fbf9519816eb3e913de933/third_party/WebKit/Source/devtools/front_end/sources/callStackSidebarPane.css
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/e862ffe4174ebe2a91b5ddeac2b4eed92848b612 commit e862ffe4174ebe2a91b5ddeac2b4eed92848b612 Author: Alexey Kozyatinskiy <kozyatinskiy@chromium.org> Date: Thu Nov 30 00:47:04 2017 [DevTools] added step-into-async action New action introduces way to make step-into asynchronous call using shortcut. When action is triggered at position with asynchronous call, execution will be paused on asynchronous call started. At any other position action behaves like step-into. Screenshot: https://imgur.com/a/ebbQT Shortcut: F9 R=dgozman@chromium.org Bug: chromium:778796 , chromium:432469 Change-Id: I10ce00c0c50d1431a02615714bfe0b07115ba03a Reviewed-on: https://chromium-review.googlesource.com/790760 Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Reviewed-by: Dmitry Gozman <dgozman@chromium.org> Cr-Commit-Position: refs/heads/master@{#520348} [modify] https://crrev.com/e862ffe4174ebe2a91b5ddeac2b4eed92848b612/third_party/WebKit/Source/devtools/front_end/Images/largeIcons.png [modify] https://crrev.com/e862ffe4174ebe2a91b5ddeac2b4eed92848b612/third_party/WebKit/Source/devtools/front_end/Images/largeIcons_2x.png [modify] https://crrev.com/e862ffe4174ebe2a91b5ddeac2b4eed92848b612/third_party/WebKit/Source/devtools/front_end/Images/mediumIcons.png [modify] https://crrev.com/e862ffe4174ebe2a91b5ddeac2b4eed92848b612/third_party/WebKit/Source/devtools/front_end/Images/mediumIcons_2x.png [modify] https://crrev.com/e862ffe4174ebe2a91b5ddeac2b4eed92848b612/third_party/WebKit/Source/devtools/front_end/Images/smallIcons.png [modify] https://crrev.com/e862ffe4174ebe2a91b5ddeac2b4eed92848b612/third_party/WebKit/Source/devtools/front_end/Images/smallIcons_2x.png [modify] https://crrev.com/e862ffe4174ebe2a91b5ddeac2b4eed92848b612/third_party/WebKit/Source/devtools/front_end/Images/src/largeIcons.svg [modify] https://crrev.com/e862ffe4174ebe2a91b5ddeac2b4eed92848b612/third_party/WebKit/Source/devtools/front_end/Images/src/optimize_png.hashes [modify] https://crrev.com/e862ffe4174ebe2a91b5ddeac2b4eed92848b612/third_party/WebKit/Source/devtools/front_end/Images/src/svg2png.hashes [modify] https://crrev.com/e862ffe4174ebe2a91b5ddeac2b4eed92848b612/third_party/WebKit/Source/devtools/front_end/main/Main.js [modify] https://crrev.com/e862ffe4174ebe2a91b5ddeac2b4eed92848b612/third_party/WebKit/Source/devtools/front_end/sdk/DebuggerModel.js [modify] https://crrev.com/e862ffe4174ebe2a91b5ddeac2b4eed92848b612/third_party/WebKit/Source/devtools/front_end/sources/CallStackSidebarPane.js [modify] https://crrev.com/e862ffe4174ebe2a91b5ddeac2b4eed92848b612/third_party/WebKit/Source/devtools/front_end/sources/JavaScriptSourceFrame.js [modify] https://crrev.com/e862ffe4174ebe2a91b5ddeac2b4eed92848b612/third_party/WebKit/Source/devtools/front_end/sources/SourcesPanel.js [modify] https://crrev.com/e862ffe4174ebe2a91b5ddeac2b4eed92848b612/third_party/WebKit/Source/devtools/front_end/sources/module.json [modify] https://crrev.com/e862ffe4174ebe2a91b5ddeac2b4eed92848b612/third_party/WebKit/Source/devtools/front_end/ui/Icon.js
Async stacks are ready, step-into supports stepping into worker constructor and postMessage on both sides.
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/07b2da7e739f822b90789b91beadd9c15ed94a9d commit 07b2da7e739f822b90789b91beadd9c15ed94a9d Author: Hiroki Nakagawa <nhiroki@chromium.org> Date: Thu Dec 14 21:01:58 2017 Worker: Call ExternalAsyncTaskFinished() after classic script evaluation Bug: 778796 Change-Id: I323c022b01bab44be459fca6cd7fcac88ef65e67 Reviewed-on: https://chromium-review.googlesource.com/822313 Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Reviewed-by: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Cr-Commit-Position: refs/heads/master@{#524170} [modify] https://crrev.com/07b2da7e739f822b90789b91beadd9c15ed94a9d/third_party/WebKit/Source/core/workers/WorkerThread.cpp
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/b0ddfc583958e08bd4af396dc206fbc12fed2a91 commit b0ddfc583958e08bd4af396dc206fbc12fed2a91 Author: Alexey Kozyatinskiy <kozyatinskiy@chromium.org> Date: Wed Jan 17 02:40:12 2018 [DevTools] continue-to-location-markers + workers = best friends Highligh step-into-async opportunities for postMessage and new Worker. Screenshot: https://imgur.com/a/nuVq0 R=dgozman@chromium.org Bug: chromium:778796 Change-Id: I286d1a2fd072f401a47693032f38ea1b21657ef3 Reviewed-on: https://chromium-review.googlesource.com/794510 Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Reviewed-by: Dmitry Gozman <dgozman@chromium.org> Cr-Commit-Position: refs/heads/master@{#529551} [modify] https://crrev.com/b0ddfc583958e08bd4af396dc206fbc12fed2a91/third_party/WebKit/LayoutTests/http/tests/devtools/sources/debugger-ui/continue-to-location-markers-expected.txt [modify] https://crrev.com/b0ddfc583958e08bd4af396dc206fbc12fed2a91/third_party/WebKit/LayoutTests/http/tests/devtools/sources/debugger-ui/continue-to-location-markers.js [modify] https://crrev.com/b0ddfc583958e08bd4af396dc206fbc12fed2a91/third_party/WebKit/Source/devtools/front_end/sources/JavaScriptSourceFrame.js
Comment 1 by bugdroid1@chromium.org
, Nov 6 2017