1. 16 Aug, 2022 1 commit
  2. 08 Jul, 2022 1 commit
  3. 05 May, 2022 1 commit
  4. 02 May, 2022 1 commit
  5. 11 Apr, 2022 1 commit
    • Maksim Sadym's avatar
      Add `WebDriverBiDi` serialization to CDP · a913a75b
      Maksim Sadym authored
      1. Added `generateWebDriverValue` flag to `Runtime.evaluate` and `Runtime.callFunctionOn`.
      2. Added `webDriverValue` field to `RemoteObject`, and set it in case of the `generateWebDriverValue` flag was set.
      3. Added virtual method `bidiSerialize` to allow embedder-implemented serialization (like in https://crrev.com/c/3472491).
      4. Implemented V8 serialization in a separate class `V8WebDriverSerializer`.
      5. Hardcode `max_depth=1`.
      6. Added tests.
      
      Not implemented yet:
      1. `objectId`.
      2. Test of embedder-implemented serialization.
      
      Tested automatically by:
      ```
      python3 tools/run-tests.py --outdir out/foo inspector/runtime/add-web-driver-value
      ```
      
      Naming to be discussed. Suggestions are very welcome.
      
      Design doc: http://go/bidi-serialization
      
      Change-Id: Ib35ed8ff58e40b3304423cc2139050136d844e2c
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3472077Reviewed-by: 's avatarBenedikt Meurer <bmeurer@chromium.org>
      Commit-Queue: Maksim Sadym <sadym@chromium.org>
      Cr-Commit-Position: refs/heads/main@{#79922}
      a913a75b
  6. 08 Apr, 2022 1 commit
  7. 06 Apr, 2022 1 commit
  8. 22 Feb, 2022 1 commit
  9. 18 Feb, 2022 1 commit
  10. 01 Dec, 2021 1 commit
  11. 04 Nov, 2021 1 commit
    • Tim van der Lippe's avatar
      Revert "[inspector] Use side-effect free debug evaluate for inherited accessors." · e9d36117
      Tim van der Lippe authored
      This reverts commit f9ebad01.
      
      Reason for revert: suspected root cause of crbug.com/1257806 Additionally, this patch might actually be incorrect as we eagerly evaluate native accessors, which can only happen if the debugger is running.
      
      Original change's description:
      > [inspector] Use side-effect free debug evaluate for inherited accessors.
      >
      > Replace the hard-coded blocklist ("Response.body" and "Request.body") in
      > the V8 inspector with proper side-effect free debug evaluate. This is
      > otherwise a non-functional change and in particular preserves the
      > behavior of reporting accessors as (own) data properties. That will be
      > tackled in a follow-up CL.
      >
      > This CL is possible because with https://crrev.com/c/3056879 Blink now
      > properly marks accessors as side-effect free consistently with what the
      > V8 inspector had done before.
      >
      > Doc: http://doc/1gLyyOlssS5zyCSEyybVC-5sp0UnNJj2hBoFyf6ryrTc
      > Bug: chromium:829571, chromium:1076820, chromium:1119900
      > Change-Id: Idb256accaf4cfb5db5982b3eb06ddcef588be635
      > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3062573
      > Auto-Submit: Benedikt Meurer <bmeurer@chromium.org>
      > Commit-Queue: Philip Pfaffe <pfaffe@chromium.org>
      > Reviewed-by: Philip Pfaffe <pfaffe@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#76019}
      
      Bug: chromium:829571, chromium:1076820, chromium:1119900, chromium:1257806
      Fixed: chromium:1265372
      Change-Id: Ia31a3022aaa9ddeae1f01eaa90e345f8bdbb21c9
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3259653
      Commit-Queue: Tim van der Lippe <tvanderlippe@chromium.org>
      Reviewed-by: 's avatarBenedikt Meurer <bmeurer@chromium.org>
      Cr-Commit-Position: refs/heads/main@{#77708}
      e9d36117
  12. 27 Sep, 2021 1 commit
  13. 13 Sep, 2021 1 commit
  14. 24 Aug, 2021 1 commit
    • Dan Elphick's avatar
      Reland "[include] Split out v8.h" · ec06bb6c
      Dan Elphick authored
      This is a reland of d1b27019
      
      Fixes include:
      Adding missing file to bazel build
      Forward-declaring classing before friend-classing them to fix win/gcc
      Add missing v8-isolate.h include for vtune builds
      
      Original change's description:
      > [include] Split out v8.h
      >
      > This moves every single class/function out of include/v8.h into a
      > separate header in include/, which v8.h then includes so that
      > externally nothing appears to have changed.
      >
      > Every include of v8.h from inside v8 has been changed to a more
      > fine-grained include.
      >
      > Previously inline functions defined at the bottom of v8.h would call
      > private non-inline functions in the V8 class. Since that class is now
      > in v8-initialization.h and is rarely included (as that would create
      > dependency cycles), this is not possible and so those methods have been
      > moved out of the V8 class into the namespace v8::api_internal.
      >
      > None of the previous files in include/ now #include v8.h, which means
      > if embedders were relying on this transitive dependency then it will
      > give compile failures.
      >
      > v8-inspector.h does depend on v8-scripts.h for the time being to ensure
      > that Chrome continue to compile but that change will be reverted once
      > those transitive #includes in chrome are changed to include it directly.
      >
      > Full design:
      > https://docs.google.com/document/d/1rTD--I8hCAr-Rho1WTumZzFKaDpEp0IJ8ejZtk4nJdA/edit?usp=sharing
      >
      > Bug: v8:11965
      > Change-Id: I53b84b29581632710edc80eb11f819c2097a2877
      > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3097448
      > Reviewed-by: Yang Guo <yangguo@chromium.org>
      > Reviewed-by: Camillo Bruni <cbruni@chromium.org>
      > Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
      > Reviewed-by: Leszek Swirski <leszeks@chromium.org>
      > Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
      > Commit-Queue: Dan Elphick <delphick@chromium.org>
      > Cr-Commit-Position: refs/heads/main@{#76424}
      
      Cq-Include-Trybots: luci.v8.try:v8_linux_vtunejit
      Bug: v8:11965
      Change-Id: I99f5d3a73bf8fe25b650adfaf9567dc4e44a09e6
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3113629Reviewed-by: 's avatarLeszek Swirski <leszeks@chromium.org>
      Reviewed-by: 's avatarCamillo Bruni <cbruni@chromium.org>
      Reviewed-by: 's avatarMichael Lippautz <mlippautz@chromium.org>
      Reviewed-by: 's avatarJakob Kummerow <jkummerow@chromium.org>
      Reviewed-by: 's avatarSimon Zünd <szuend@chromium.org>
      Commit-Queue: Dan Elphick <delphick@chromium.org>
      Cr-Commit-Position: refs/heads/main@{#76460}
      ec06bb6c
  15. 23 Aug, 2021 3 commits
    • Benedikt Meurer's avatar
      [inspector] Treat rejected promises like exceptions for eager eval. · af03c93b
      Benedikt Meurer authored
      When eagerly evaluating native accessors in the inspector, treat
      rejected promises the same way that we treat exceptions, and also make
      sure to mark them as handled, so they are not logged as unhandled
      promise rejections by Chromium.
      
      Also-By: jarin@chromium.org
      Bug: chromium:1076820, chromium:1199247
      Change-Id: I3cef1e7c04ecbf9e734db946d669a3b5186eca5b
      Fixed: chromium:1241298
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3110610
      Auto-Submit: Benedikt Meurer <bmeurer@chromium.org>
      Commit-Queue: Jaroslav Sevcik <jarin@chromium.org>
      Reviewed-by: 's avatarJaroslav Sevcik <jarin@chromium.org>
      Cr-Commit-Position: refs/heads/main@{#76432}
      af03c93b
    • Dan Elphick's avatar
      Revert "[include] Split out v8.h" · 44fe02ce
      Dan Elphick authored
      This reverts commit d1b27019.
      
      Reason for revert: Broke vtune build, tsan build and possibly others
      
      Original change's description:
      > [include] Split out v8.h
      >
      > This moves every single class/function out of include/v8.h into a
      > separate header in include/, which v8.h then includes so that
      > externally nothing appears to have changed.
      >
      > Every include of v8.h from inside v8 has been changed to a more
      > fine-grained include.
      >
      > Previously inline functions defined at the bottom of v8.h would call
      > private non-inline functions in the V8 class. Since that class is now
      > in v8-initialization.h and is rarely included (as that would create
      > dependency cycles), this is not possible and so those methods have been
      > moved out of the V8 class into the namespace v8::api_internal.
      >
      > None of the previous files in include/ now #include v8.h, which means
      > if embedders were relying on this transitive dependency then it will
      > give compile failures.
      >
      > v8-inspector.h does depend on v8-scripts.h for the time being to ensure
      > that Chrome continue to compile but that change will be reverted once
      > those transitive #includes in chrome are changed to include it directly.
      >
      > Full design:
      > https://docs.google.com/document/d/1rTD--I8hCAr-Rho1WTumZzFKaDpEp0IJ8ejZtk4nJdA/edit?usp=sharing
      >
      > Bug: v8:11965
      > Change-Id: I53b84b29581632710edc80eb11f819c2097a2877
      > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3097448
      > Reviewed-by: Yang Guo <yangguo@chromium.org>
      > Reviewed-by: Camillo Bruni <cbruni@chromium.org>
      > Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
      > Reviewed-by: Leszek Swirski <leszeks@chromium.org>
      > Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
      > Commit-Queue: Dan Elphick <delphick@chromium.org>
      > Cr-Commit-Position: refs/heads/main@{#76424}
      
      Bug: v8:11965
      Change-Id: Id57313ae992e720c8b19abc975cd69729e1344aa
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3113627
      Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
      Commit-Queue: Leszek Swirski <leszeks@chromium.org>
      Owners-Override: Leszek Swirski <leszeks@chromium.org>
      Cr-Commit-Position: refs/heads/main@{#76428}
      44fe02ce
    • Dan Elphick's avatar
      [include] Split out v8.h · d1b27019
      Dan Elphick authored
      This moves every single class/function out of include/v8.h into a
      separate header in include/, which v8.h then includes so that
      externally nothing appears to have changed.
      
      Every include of v8.h from inside v8 has been changed to a more
      fine-grained include.
      
      Previously inline functions defined at the bottom of v8.h would call
      private non-inline functions in the V8 class. Since that class is now
      in v8-initialization.h and is rarely included (as that would create
      dependency cycles), this is not possible and so those methods have been
      moved out of the V8 class into the namespace v8::api_internal.
      
      None of the previous files in include/ now #include v8.h, which means
      if embedders were relying on this transitive dependency then it will
      give compile failures.
      
      v8-inspector.h does depend on v8-scripts.h for the time being to ensure
      that Chrome continue to compile but that change will be reverted once
      those transitive #includes in chrome are changed to include it directly.
      
      Full design:
      https://docs.google.com/document/d/1rTD--I8hCAr-Rho1WTumZzFKaDpEp0IJ8ejZtk4nJdA/edit?usp=sharing
      
      Bug: v8:11965
      Change-Id: I53b84b29581632710edc80eb11f819c2097a2877
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3097448Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
      Reviewed-by: 's avatarCamillo Bruni <cbruni@chromium.org>
      Reviewed-by: 's avatarJakob Kummerow <jkummerow@chromium.org>
      Reviewed-by: 's avatarLeszek Swirski <leszeks@chromium.org>
      Reviewed-by: 's avatarMichael Lippautz <mlippautz@chromium.org>
      Commit-Queue: Dan Elphick <delphick@chromium.org>
      Cr-Commit-Position: refs/heads/main@{#76424}
      d1b27019
  16. 18 Aug, 2021 1 commit
    • Benedikt Meurer's avatar
      [inspector] Add nonIndexedPropertiesOnly to Runtime.getProperties. · ffa4cda6
      Benedikt Meurer authored
      This introduces a new, optional `nonIndexedPropertiesOnly` flag to the
      `Runtime.getProperties` inspector request, which tells the inspector to
      only report properties whose name is not an (typed) array index. This is
      to support retrieving all properties except for the indexed ones when
      the DevTools front-end decides to use the array bucketing mechanism.
      Previously the DevTools front-end had some quite complicated logic in
      place to simulate this via injected JavaScript, but that logic didn't
      pick up internal properties and was also interfering with the inherited
      accessor mechanism. With this new flag, it's straight-forward to
      implement the correct behavior in the DevTools front-end.
      
      The corresponding devtools-frontend CL is https://crrev.com/c/3099011.
      
      Before: https://imgur.com/hMX6vaV.png
      After: https://imgur.com/MGgiuJQ.png
      Bug: chromium:1199701
      Change-Id: Iacbe9756ed8a2e6982efaebe1e7c606d37c05379
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3099686
      Auto-Submit: Benedikt Meurer <bmeurer@chromium.org>
      Reviewed-by: 's avatarPhilip Pfaffe <pfaffe@chromium.org>
      Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
      Cr-Commit-Position: refs/heads/main@{#76360}
      ffa4cda6
  17. 13 Aug, 2021 1 commit
    • Benedikt Meurer's avatar
      [inspector] Don't pretend that native accessors are own properties. · 52720f63
      Benedikt Meurer authored
      Previously the V8 inspector would report native accessors, whose getter
      evaluates to a value without causing a side effect, as own data
      properties. But then the DevTools front-end will not be able to tell
      whether that accessor was actually an own property or just an inherited
      accessor.
      
      The reason for reporting them as own properties in the first place was
      to ensure that these properties show up in the object's preview. But
      that we can handle differently by just marking these properties as
      synthetic internally and including them in the preview.
      
      Bug: chromium:1076820
      Change-Id: I223299af7954e7b1a4a16bb5180d4ceff50f170f
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3094005
      Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
      Commit-Queue: Kim-Anh Tran <kimanh@chromium.org>
      Auto-Submit: Benedikt Meurer <bmeurer@chromium.org>
      Reviewed-by: 's avatarKim-Anh Tran <kimanh@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#76276}
      52720f63
  18. 04 Aug, 2021 2 commits
  19. 03 Aug, 2021 1 commit
  20. 30 Jul, 2021 1 commit
  21. 01 Jul, 2021 1 commit
  22. 29 Jun, 2021 1 commit
  23. 11 Jun, 2021 1 commit
  24. 02 Jun, 2021 1 commit
  25. 31 May, 2021 1 commit
  26. 28 May, 2021 1 commit
  27. 12 May, 2021 1 commit
  28. 26 Apr, 2021 1 commit
    • Mathias Bynens's avatar
      [inspector] Improve regular expression printing · 50be01b2
      Mathias Bynens authored
      Prior to this patch, `new RegExp('a/b')` logs the following in
      the DevTools Console:
      
          /a/b/
      
      This is syntactically invalid.
      
      This patch fixes this while simplifying regular expression printing
      in general by leveraging `RegExp#toString`, instead of duplicating
      the logic on the inspector side. This is possible thanks to the recent
      work on making `RegExp#toString` more robust (v8:1982).
      
      Bug: chromium:1202013, v8:1982
      Change-Id: I14ccc1892f4a99361ad170fea608ace630740991
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2848463
      Commit-Queue: Mathias Bynens <mathias@chromium.org>
      Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#74169}
      50be01b2
  29. 23 Apr, 2021 1 commit
  30. 16 Apr, 2021 1 commit
  31. 12 Apr, 2021 2 commits
  32. 09 Apr, 2021 2 commits
  33. 07 Apr, 2021 1 commit
    • Benedikt Meurer's avatar
      [inspector] Skip special __proto__ property if already present. · 0d5f6a49
      Benedikt Meurer authored
      The inspector has some magic to add a special __proto__ property to
      object value mirrors as long as the object itself has a [[Prototype]].
      However it doesn't check whether the object already has a regular
      property named __proto__ and thus confuses the front-end by sending two
      properties with the same name.
      
      Fixed: chromium:1193250
      Change-Id: I75a1cd78ba94aeda4afedcc0f1e69b8dadb6673f
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2810784
      Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
      Commit-Queue: Yang Guo <yangguo@chromium.org>
      Auto-Submit: Benedikt Meurer <bmeurer@chromium.org>
      Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#73836}
      0d5f6a49
  34. 05 Mar, 2021 2 commits