1. 17 Sep, 2021 1 commit
    • Benedikt Meurer's avatar
      [inspector] Make `ArrayBuffer.[[ArrayBufferData]]` deterministic. · 833b3c96
      Benedikt Meurer authored
      Previously the internal `[[ArrayBufferData]]` property for `ArrayBuffer`
      objects reported by the inspector (and used by the DevTools front-end to
      identify `ArrayBuffer`s and `WebAssembly.Memory`s using the same backing
      store) simply contained a hex string representation of the backing store
      pointer. However that unnecessarily leaks internal addresses and more
      importantly is not deterministic, which complicates tests (just blew up
      on layout tests).
      
      This CL introduces an automatically incremented `BackingStore::id()`,
      which is used instead now and is deterministic.
      
      Bug: chromium:1199701, chromium:1163802, chromium:1249961
      Change-Id: I8ee47009cd825cfdbe00230f617c87c90508ab2a
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3162144
      Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
      Reviewed-by: 's avatarJakob Kummerow <jkummerow@chromium.org>
      Cr-Commit-Position: refs/heads/main@{#76893}
      833b3c96
  2. 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
  3. 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
  4. 12 Apr, 2021 1 commit
  5. 09 Apr, 2021 2 commits
  6. 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
  7. 28 Jan, 2021 1 commit
  8. 11 Jan, 2021 1 commit
  9. 29 Dec, 2020 1 commit
    • Benedikt Meurer's avatar
      [debug] Make JSArrayBuffer (pre)views into internal properties. · 2cab7ae9
      Benedikt Meurer authored
      For JSArrayBuffer instances (which map to both v8::ArrayBuffer and
      v8::SharedArrayBuffer), we add a couple of synthetic views to its
      ValueMirror to make it easy for developers to peak into the contents of
      the JSArrayBuffer. These were previously real properties, but that's
      just wrong (both intuitively and semantically), and they should instead
      be internal properties.
      
      Drive-by-fix: The [[IsDetached]] internal property should only be shown
      on actually detached JSArrayBuffer's to reduce visual clutter. And for
      detached JSArrayBuffers creating views on them throws TypeErrors per
      specification, so we shouldn't attempt to display views on them.
      
      Bug: v8:9308, chromium:1162229
      Change-Id: Ia006de7873ca4b27aae7d00d46e1b69d2e326449
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2606047
      Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
      Auto-Submit: Benedikt Meurer <bmeurer@chromium.org>
      Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#71892}
      2cab7ae9
  10. 24 Jul, 2020 1 commit
    • Benedikt Meurer's avatar
      [inspector] Add internal property to identify detached ArrayBuffers. · b886e153
      Benedikt Meurer authored
      This adds an internal property [[IsDetached]] to the inspector preview
      of ArrayBuffer instances, which indicates whether the ArrayBuffer was
      detached (i.e. transfered via `postMessage`). Previously it was rather
      impossible to tell whether an ArrayBuffer was detached, you had to know
      that V8 violates the ECMAScript specification and simply sets the
      byteLength accessor to 0 upon detaching an ArrayBuffer (but even then it
      was still impossible to tell whether that ArrayBuffer wasn't simply an
      empty one from the get go).
      
      Before: https://imgur.com/UcOF83c
      After: https://imgur.com/WjmTehZ
      
      Fixed: chromium:1109102
      Change-Id: I8fb6e2be2fbfe5c62b05dc9d2a0f18378eb4de6c
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2316075
      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@{#69034}
      b886e153
  11. 18 Jun, 2019 1 commit
  12. 08 Mar, 2019 1 commit
  13. 06 Dec, 2018 1 commit
    • Dmitry Gozman's avatar
      Revert "inspector: return [[StableObjectId]] as internal property" · 4401ac44
      Dmitry Gozman authored
      This reverts commit d9fbfeb8.
      
      Reason for revert: see bug.
      Bug: 906847
      
      Original change's description:
      > inspector: return [[StableObjectId]] as internal property
      > 
      > This property might be useful for fast '===' check.
      > 
      > R=​dgozman@chromium.org,yangguo@chromium.org
      > 
      > Bug: none
      > Cq-Include-Trybots: luci.chromium.try:linux_chromium_headless_rel;luci.chromium.try:linux_chromium_rel_ng;master.tryserver.blink:linux_trusty_blink_rel
      > Change-Id: Iabc3555ce1ec2c14cf0ccd40b7d964ae144e7352
      > Reviewed-on: https://chromium-review.googlesource.com/1226411
      > Reviewed-by: Dmitry Gozman <dgozman@chromium.org>
      > Reviewed-by: Yang Guo <yangguo@chromium.org>
      > Reviewed-by: Jakob Gruber <jgruber@chromium.org>
      > Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#56095}
      
      TBR=dgozman@chromium.org,yangguo@chromium.org,kozyatinskiy@chromium.org,jgruber@chromium.org
      
      # Not skipping CQ checks because original CL landed > 1 day ago.
      
      Bug: none
      Change-Id: I68c700b7b8fd0a015f099460c15665d74e4da183
      Cq-Include-Trybots: luci.chromium.try:linux_chromium_headless_rel;luci.chromium.try:linux_chromium_rel_ng;master.tryserver.blink:linux_trusty_blink_rel
      Reviewed-on: https://chromium-review.googlesource.com/c/1363558Reviewed-by: 's avatarDmitry Gozman <dgozman@chromium.org>
      Reviewed-by: 's avatarAlexei Filippov <alph@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#58077}
      4401ac44
  14. 20 Sep, 2018 1 commit
  15. 23 Jan, 2018 1 commit
  16. 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
  17. 19 May, 2017 1 commit
  18. 24 Mar, 2017 1 commit
  19. 03 Mar, 2017 1 commit
  20. 03 Oct, 2016 1 commit
  21. 02 Oct, 2016 1 commit
  22. 30 Sep, 2016 2 commits