New issue
Advanced search Search tips

Issue 778796 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Dec 2017
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug



Sign in to add a comment

DevTools: step into worker / step into postMessage, async stacks

Project Member Reported by pfeldman@chromium.org, Oct 26 2017

Issue description

- 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.
 
Project Member

Comment 1 by bugdroid1@chromium.org, Nov 6 2017

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

Project Member

Comment 2 by bugdroid1@chromium.org, Nov 13 2017

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

Project Member

Comment 3 by bugdroid1@chromium.org, Nov 17 2017

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

Project Member

Comment 4 by bugdroid1@chromium.org, Nov 17 2017

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

Project Member

Comment 6 by bugdroid1@chromium.org, Nov 21 2017

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

Project Member

Comment 7 by bugdroid1@chromium.org, Nov 22 2017

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

Project Member

Comment 8 by bugdroid1@chromium.org, Nov 22 2017

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

Project Member

Comment 9 by bugdroid1@chromium.org, Nov 22 2017

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

Project Member

Comment 10 by bugdroid1@chromium.org, Nov 22 2017

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

Project Member

Comment 11 by bugdroid1@chromium.org, Nov 23 2017

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

Project Member

Comment 12 by bugdroid1@chromium.org, Nov 23 2017

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

Project Member

Comment 13 by bugdroid1@chromium.org, Nov 23 2017

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

Project Member

Comment 14 by bugdroid1@chromium.org, Nov 23 2017

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

Project Member

Comment 15 by bugdroid1@chromium.org, Nov 24 2017

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

Project Member

Comment 16 by bugdroid1@chromium.org, Nov 25 2017

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

Project Member

Comment 17 by bugdroid1@chromium.org, Nov 25 2017

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

Project Member

Comment 19 by bugdroid1@chromium.org, Nov 30 2017

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

Comment 20 by kozy@chromium.org, Dec 13 2017

Status: Fixed (was: Assigned)
Async stacks are ready, step-into supports stepping into worker constructor and postMessage on both sides.
Project Member

Comment 21 by bugdroid1@chromium.org, Dec 14 2017

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

Sign in to add a comment