PropertyCallbackInfo::This() deleted in v8 14.6
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 3.4k
- Forks
- 531
- Avg merge
- 21m
- Merged PRs (30d)
- 1
Description
I've been updating our addon to electron 41(v8 14.6.202) and it fails to compile for 2 reasons:
v8::PropertyCallbackInfo::This()has been removed (commit, chromium-issue)v8::PropertyCallbackInfo::Holder()has been renamed to HolderV2 (chromium-issue)
I'm not an expert on this subject and the fact that it's 2 separate deprecations occurring at the same time is confusing me as to the proper way to go. It seems like Holder was deprecated in favor of This which was deprecated in favor of HolderV2.
Our addon can switch from This to HolderV2 trivially but cloudflare has taken issue with this change. I've made a fork to naively delete nan::PropertyCallbackInfo::This and make nan::PropertyCallbackInfo::Holder() call v8::PropertyCallbackInfo::HolderV2() but I don't know if this covers all the expected cases, hence the issue.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by examining NAN's PropertyCallbackInfo::This() and Holder() wrappers alongside the linked V8 changes and Cloudflare's analysis of the deprecation. Confirm the correct compatibility behavior for HolderV2 and This across callback cases, then verify that an addon builds with Electron 41 and V8 14.6.202.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp, node.js
- Domain
- backend
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 38/100