1. 28 Mar, 2018 1 commit
    • Aleksey Kozyatinskiy's avatar
      Revert "[inspector] queryObjects returns result" · caf74f9c
      Aleksey Kozyatinskiy authored
      This reverts commit 9732f422.
      
      Reason for revert.
      
      Original change's description:
      > [inspector] queryObjects returns result
      > 
      > queryObjects command line API return array instead of sending
      > inspectRequest notification.
      > 
      > R=​pfeldman@chromium.org
      > 
      > Bug: chromium:825349
      > Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel
      > Change-Id: Ie6c64419cb108b313c43b66eab533c5a7d5d9024
      > Reviewed-on: https://chromium-review.googlesource.com/978464
      > Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org>
      > Reviewed-by: Pavel Feldman <pfeldman@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#52197}
      
      TBR=pfeldman@chromium.org,kozyatinskiy@chromium.org
      
      # Not skipping CQ checks because original CL landed > 1 day ago.
      
      Bug: chromium:825349
      Change-Id: I90f93b96981d8218b9ad1dc0f4ebfb5a7cb671bc
      Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel
      Reviewed-on: https://chromium-review.googlesource.com/982431Reviewed-by: 's avatarAleksey Kozyatinskiy <kozyatinskiy@chromium.org>
      Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#52254}
      caf74f9c
  2. 26 Mar, 2018 1 commit
  3. 23 Mar, 2018 1 commit
  4. 22 Mar, 2018 1 commit
  5. 20 Mar, 2018 1 commit
  6. 19 Mar, 2018 1 commit
    • Alexey Kozyatinskiy's avatar
      Reland "[inspector] added Runtime.terminateExecution" · 97fc20f3
      Alexey Kozyatinskiy authored
      This is a reland of 14824520
      
      Original change's description:
      > [inspector] added Runtime.terminateExecution
      >
      > Runtime.terminateExecution terminates current or next JavaScript
      > call. Termination flag is automatically reset as soon as v8 call
      > or microtasks are completed.
      >
      > R=pfeldman@chromium.org
      >
      > Bug: chromium:820640
      > Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel
      > Change-Id: Ie21c123be3a61fe25cf6e04c38a8b6c664622ed7
      > Reviewed-on: https://chromium-review.googlesource.com/957386
      > Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org>
      > Reviewed-by: Dmitry Gozman <dgozman@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#51912}
      
      Bug: chromium:820640
      Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng;master.tryserver.blink:linux_trusty_blink_rel
      Change-Id: I6dd30f65c06c2b7eefd1e7beb9a3cf50ea5bf8cd
      Reviewed-on: https://chromium-review.googlesource.com/967323
      Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org>
      Reviewed-by: 's avatarAleksey Kozyatinskiy <kozyatinskiy@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#52004}
      97fc20f3
  7. 17 Mar, 2018 2 commits
    • Michael Achenbach's avatar
      Revert "Reland "[inspector] added Runtime.terminateExecution"" · 7652bd27
      Michael Achenbach authored
      This reverts commit 14824520.
      
      Reason for revert: Breaks chromium tsan in roll:
      https://chromium-review.googlesource.com/c/chromium/src/+/967682
      
      Original change's description:
      > Reland "[inspector] added Runtime.terminateExecution"
      > 
      > This is a reland of 98dec8f2
      > 
      > Original change's description:
      > > [inspector] added Runtime.terminateExecution
      > > 
      > > Runtime.terminateExecution terminates current or next JavaScript
      > > call. Termination flag is automatically reset as soon as v8 call
      > > or microtasks are completed.
      > > 
      > > R=pfeldman@chromium.org
      > > 
      > > Bug: chromium:820640
      > > Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel
      > > Change-Id: Ie21c123be3a61fe25cf6e04c38a8b6c664622ed7
      > > Reviewed-on: https://chromium-review.googlesource.com/957386
      > > Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org>
      > > Reviewed-by: Dmitry Gozman <dgozman@chromium.org>
      > > Cr-Commit-Position: refs/heads/master@{#51912}
      > 
      > Bug: chromium:820640
      > Change-Id: I8f270c2fdbe732f0c40bfb149d26a6e73d988253
      > Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel
      > Reviewed-on: https://chromium-review.googlesource.com/966681
      > Reviewed-by: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org>
      > Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#52002}
      
      TBR=dgozman@chromium.org,pfeldman@chromium.org,kozyatinskiy@chromium.org
      
      Change-Id: I2f3d24b238f479082bfed349363240887b5ba751
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Bug: chromium:820640
      Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel
      Reviewed-on: https://chromium-review.googlesource.com/967781Reviewed-by: 's avatarMichael Achenbach <machenbach@chromium.org>
      Commit-Queue: Michael Achenbach <machenbach@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#52003}
      7652bd27
    • Alexey Kozyatinskiy's avatar
      Reland "[inspector] added Runtime.terminateExecution" · 14824520
      Alexey Kozyatinskiy authored
      This is a reland of 98dec8f2
      
      Original change's description:
      > [inspector] added Runtime.terminateExecution
      > 
      > Runtime.terminateExecution terminates current or next JavaScript
      > call. Termination flag is automatically reset as soon as v8 call
      > or microtasks are completed.
      > 
      > R=pfeldman@chromium.org
      > 
      > Bug: chromium:820640
      > Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel
      > Change-Id: Ie21c123be3a61fe25cf6e04c38a8b6c664622ed7
      > Reviewed-on: https://chromium-review.googlesource.com/957386
      > Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org>
      > Reviewed-by: Dmitry Gozman <dgozman@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#51912}
      
      Bug: chromium:820640
      Change-Id: I8f270c2fdbe732f0c40bfb149d26a6e73d988253
      Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel
      Reviewed-on: https://chromium-review.googlesource.com/966681Reviewed-by: 's avatarAleksey Kozyatinskiy <kozyatinskiy@chromium.org>
      Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#52002}
      14824520
  8. 14 Mar, 2018 2 commits
  9. 13 Mar, 2018 1 commit
  10. 09 Mar, 2018 1 commit
  11. 08 Mar, 2018 1 commit
  12. 28 Feb, 2018 1 commit
  13. 16 Feb, 2018 1 commit
  14. 08 Feb, 2018 1 commit
  15. 23 Jan, 2018 1 commit
  16. 10 Jan, 2018 1 commit
    • Timothy Gu's avatar
      [proxy] Set [[ProxyTarget]] to null during revocation · 5b9adade
      Timothy Gu authored
      Before this, only the [[ProxyHandler]] was set to null during revocation
      of the Proxy through either the v8::Proxy::Revoke() or the
      Proxy.revocable() API. To be consistent with the spec, the Proxy's
      target is set to null as well. This change should not be observable
      through JS, since the check for if the Proxy is revoked should always
      use the handler. But the changed value is exposed through the public
      v8::Proxy::GetTarget() API, which is used by the inspector API and
      Node.js.
      
      Also included is a much more comprehensive test for Inspector's support
      for Proxy, which prior to this commit did not work as intended.
      
      Bug: 
      Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_chromium_rel_ng
      Change-Id: I727607ec2b3cea8642cd636573932c1e6bb5cc07
      Reviewed-on: https://chromium-review.googlesource.com/854676
      Commit-Queue: Jakob Gruber <jgruber@chromium.org>
      Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
      Reviewed-by: 's avatarAdam Klein <adamk@chromium.org>
      Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Reviewed-by: 's avatarCamillo Bruni <cbruni@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#50476}
      5b9adade
  17. 28 Dec, 2017 1 commit
    • Eugene Ostroukhov's avatar
      [inspector] provide ArrayBuffer previews · 86abfd35
      Eugene Ostroukhov authored
      Add an easy way to preview ArrayBuffer as a typed array. This change
      will always allow previewing ArrayBuffer instances as Uint8Array and
      Int8Array. ArrayBuffer instances that have even length will allow
      Int16Array preview and ArrayBuffers that have length divisible by 4 will
      allow Int32Array previews.
      
      Bug: 
      Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel
      Change-Id: I07440147cc9e83c8a987f9316bd8d1b936db2717
      Reviewed-on: https://chromium-review.googlesource.com/842472
      Commit-Queue: Eugene Ostroukhov <eostroukhov@chromium.org>
      Reviewed-by: 's avatarAleksey Kozyatinskiy <kozyatinskiy@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#50315}
      86abfd35
  18. 19 Dec, 2017 1 commit
  19. 04 Dec, 2017 1 commit
    • Caitlin Potter's avatar
      [builtins] implement RunMicrotasks pump as a code stub · 52ff3ae4
      Caitlin Potter authored
      - Implement RunMicrotasks in CSA to prevent a potentially large number
        of jumps between C++ and JS code while consuming te queue. Appears to
        provide a ~60% speedup in microtask-heavy code, which from limited
        testing appears to scale linearly.
      
        The code-stub microtask pump bails out to the old C++ microtask pump
        if it encounters a CallHandlerInfo microtask, and remains in C++ for
        the remainder of the queue (returning to the JS/stub implementation
        after the bailed out queue is exhausted).
      
      - Add a variation of JSEntryStub which enters the new RunMicrotasks code
        stub.
      
      - Add a new RunMicrotasks helper to Execution, which uses the
        RunMicrotasks entry stub.
      
      Bug: 
      Change-Id: I4667d4dd633d24455ea5d7cef239da0af1a7365e
      Reviewed-on: https://chromium-review.googlesource.com/650486
      Commit-Queue: Caitlin Potter <caitp@igalia.com>
      Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
      Reviewed-by: 's avatarBenedikt Meurer <bmeurer@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#49842}
      52ff3ae4
  20. 01 Dec, 2017 2 commits
  21. 22 Nov, 2017 3 commits
    • Alexey Kozyatinskiy's avatar
      Reland [inspector] introduced stackTraceId and externalAsyncTask API · 885a5669
      Alexey Kozyatinskiy authored
      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: 's avatarAleksey Kozyatinskiy <kozyatinskiy@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#49591}
      885a5669
    • Clemens Hammacher's avatar
      Revert "[inspector] introduced stackTraceId and externalAsyncTask API" · 4379533c
      Clemens Hammacher authored
      This reverts commit 3a41b697.
      
      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/786152Reviewed-by: 's avatarClemens Hammacher <clemensh@chromium.org>
      Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#49584}
      4379533c
    • Alexey Kozyatinskiy's avatar
      [inspector] introduced stackTraceId and externalAsyncTask API · 3a41b697
      Alexey Kozyatinskiy authored
      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/754183Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Reviewed-by: 's avatarDmitry Gozman <dgozman@chromium.org>
      Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#49582}
      3a41b697
  22. 21 Nov, 2017 1 commit
    • Alexey Kozyatinskiy's avatar
      [inspector] reworked async instrumentation for promises · ed9b2072
      Alexey Kozyatinskiy authored
      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: 's avatarSathya Gunasekaran <gsathya@chromium.org>
      Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
      Reviewed-by: 's avatarDmitry Gozman <dgozman@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#49553}
      ed9b2072
  23. 06 Nov, 2017 1 commit
    • Alexey Kozyatinskiy's avatar
      [inspector] do not call native accessor in Rumtime.getProperties · ea04c667
      Alexey Kozyatinskiy authored
      In current implementation Object.getOwnPropertyDescriptor calls native
      getter. It can produce side effects. We can avoid calling it.
      DevTools frontend will show clickable dots and on click returns value.
      This CL does not affect Blink and only affect several Node.js
      properties, e.g. process.title.
      
      R=yangguo@chromium.org
      
      Bug: v8:6945
      Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_chromium_rel_ng
      Change-Id: I5764c779ceed4d50832edf68b2b4c6ee2c2dd65c
      Reviewed-on: https://chromium-review.googlesource.com/754223
      Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org>
      Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#49152}
      ea04c667
  24. 17 Oct, 2017 2 commits
  25. 07 Oct, 2017 1 commit
    • Alexey Kozyatinskiy's avatar
      [inspector] provisional breakpoints for anonymous script · 83198829
      Alexey Kozyatinskiy authored
      Use case: anonymous script with sourceMappingUrl. User can set
      breakpoint in source with sourceUrl from sourceMap, we persist this
      breakpoint in DevTools and on page reload breakpoint should be restored
      correctly.
      
      Debugger.setBreakpointByUrl method provides capabilities to set
      provisional breakpoints and looks like best candidate for new "scriptHash"
      argument.
      
      I considered other options such as replacing scriptId with something
      more persistent like "script-hash:script-with-this-hash-number" but it
      looks more complicated and doesn't provide clear advantages.
      
      One pager: http://bit.ly/2wkRHnt
      
      R=pfeldman@chromium.org
      
      Bug: chromium:459499
      Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel
      Change-Id: I0e2833fceffe6b04afac01d1a4522d6874b6067a
      Reviewed-on: https://chromium-review.googlesource.com/683597
      Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org>
      Reviewed-by: 's avatarDmitry Gozman <dgozman@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#48357}
      83198829
  26. 06 Oct, 2017 1 commit
  27. 12 Sep, 2017 1 commit
  28. 11 Sep, 2017 1 commit
  29. 07 Sep, 2017 1 commit
  30. 31 Aug, 2017 1 commit
  31. 29 Aug, 2017 2 commits
  32. 25 Aug, 2017 2 commits