#46973: refactor: Node.js temporary "explicit" microtask policy scope pattern
Merged
Description of Change
Introduces a ExplicitMicrotasksScope
class to standardize the behavior of temporary switches to V8's "explicit" microtasks policy when running code that can trigger Node.js. Replaces a duplicated pattern in node_bindings.cc
, electron_renderer_client.cc
, and web_worker_observer.cc
with a scope object (RAII) that ensures consistent policy change and restoration.
Checklist
- PR description included and stakeholders cc'd
-
npm test
passes - tests are changed or added
- relevant API documentation, tutorials, and examples are updated and follow the documentation style guide
- PR release notes describe the change in a way relevant to app developers, and are capitalized, punctuated, and past tense.
Release Notes
Notes: none
Backports
Semver Impact
Major
Breaking changes
Minor
New features
Patch
Bug fixes
None
Docs, tests, etc.
Semantic Versioning helps users understand the impact of updates:
- Major (X.y.z): Breaking changes that may require code modifications
- Minor (x.Y.z): New features that maintain backward compatibility
- Patch (x.y.Z): Bug fixes that don't change the API
- None: Changes that don't affect using facing parts of Electron