Skip to content

remove most uses of deprecated v8::PropertyCallbackInfo::This() #6003

Merged
dcarney-cf merged 9 commits into
mainfrom
dcarney/this-deprecation
Feb 13, 2026
Merged

remove most uses of deprecated v8::PropertyCallbackInfo::This() #6003
dcarney-cf merged 9 commits into
mainfrom
dcarney/this-deprecation

Conversation

@dcarney-cf

Copy link
Copy Markdown
Contributor

No description provided.

@dcarney-cf dcarney-cf requested review from a team as code owners February 2, 2026 12:01
@dcarney-cf

Copy link
Copy Markdown
Contributor Author

@kentonv ptal - i'm unsure what the consequences of the changes to worker-rpc.c++ are

Comment thread src/workerd/api/tests/actor-stub-test.js Outdated
Comment thread src/workerd/api/worker-rpc.c++ Outdated
@codspeed-hq

codspeed-hq Bot commented Feb 3, 2026

Copy link
Copy Markdown

Merging this PR will not alter performance

✅ 70 untouched benchmarks
⏩ 129 skipped benchmarks1


Comparing dcarney/this-deprecation (c80e33b) with main (cf8147c)

Open in CodSpeed

Footnotes

  1. 129 benchmarks were skipped, so the baseline results were used instead. If they were deleted from the codebase, click here and archive them to remove them from the performance reports.

@drcarney66

Copy link
Copy Markdown

ok, this latest version seems to work ok. the properties won't show up as own properties. capnweb tests seems to run except for something related to a websocket connection, which i assume is unrelated

Comment thread src/workerd/jsg/jsg-test.c++ Outdated
Comment thread src/workerd/jsg/resource.h Outdated
Comment thread src/workerd/jsg/resource.h Outdated
Comment thread src/workerd/jsg/jsg-test.c++
@dcarney-cf dcarney-cf changed the title move rpc wildcard interceptors to instance objects remove uses of deprecated v8::PropertyCallbackInfo::This() Feb 4, 2026
@dcarney-cf dcarney-cf force-pushed the dcarney/this-deprecation branch from a20439e to cf1a3aa Compare February 12, 2026 17:25
@dcarney-cf dcarney-cf changed the title remove uses of deprecated v8::PropertyCallbackInfo::This() remove most uses of deprecated v8::PropertyCallbackInfo::This() Feb 12, 2026
@dcarney-cf

Copy link
Copy Markdown
Contributor Author

i'm going to split out the ugly wildcard property change, since it requires a v8 patch. this takes care of the rest of the This() uses. @jasnell - care to take another look?

@codecov-commenter

codecov-commenter commented Feb 12, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 90.00000% with 1 line in your changes missing coverage. Please review.
✅ Project coverage is 70.37%. Comparing base (cf8147c) to head (c80e33b).

Files with missing lines Patch % Lines
src/workerd/jsg/resource.h 66.66% 1 Missing ⚠️
Additional details and impacted files
@@           Coverage Diff           @@
##             main    #6003   +/-   ##
=======================================
  Coverage   70.37%   70.37%           
=======================================
  Files         408      408           
  Lines      108811   108816    +5     
  Branches    18000    18000           
=======================================
+ Hits        76574    76578    +4     
  Misses      21431    21431           
- Partials    10806    10807    +1     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@dcarney-cf dcarney-cf enabled auto-merge February 13, 2026 10:20
@dcarney-cf dcarney-cf merged commit ee6d283 into main Feb 13, 2026
34 of 36 checks passed
@dcarney-cf dcarney-cf deleted the dcarney/this-deprecation branch February 13, 2026 10:25
harrishancock added a commit that referenced this pull request Apr 9, 2026
…PECT_PROPERTY

Regression test for #4147.

Object.getOwnPropertyDescriptors() on a JSG prototype with
JSG_INSPECT_PROPERTY used to throw "Illegal invocation" because
registerInspectProperty() used SetNativeDataProperty on the prototype.
V8 would invoke the native getter callback during descriptor retrieval
to produce a data descriptor value, and the callback's HasInstance check
would fail because the prototype object is not an instance of the type.

Fixed by PR #6003 (c43c98a), which changed registerInspectProperty()
to use SetAccessorProperty instead.

Assisted-by: Claude
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants