mirror of
https://github.com/dart-lang/sdk
synced 2024-09-05 16:41:07 +00:00
![]() With this change the Dart Core Object members (`.hashCode`, `.runtimeType`, `.noSuchMethod()`, `.toString()`, and `operator ==`) are no longer installed onto the native JavaScript Object prototype. This is done because the Object prototype will be sealed as a security precaution in some environments to avoid prototype pollution exploits. This means that dispatching to these APIs will change when the compiler cannot know if the receiver may be null or a value from JavaScript interop. In those cases a call to a helper method is inserted instead. The helpers will probe for the API on the value, call it if available or execute a default version. NOTE: Many other native JavaScript prototypes are still modified. This change is only for the Object prototype. Issue: https://github.com/dart-lang/sdk/issues/49670 Change-Id: Iddb3a48e790dd414aa3254d729535c4408e99b3d Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/310971 Reviewed-by: Srujan Gaddam <srujzs@google.com> Commit-Queue: Nicholas Shahan <nshahan@google.com> Reviewed-by: Sigmund Cherem <sigmund@google.com> |
||
---|---|---|
.. | ||
analyzer | ||
async | ||
collection | ||
convert | ||
developer | ||
fix_data_tests | ||
html | ||
isolate | ||
js | ||
js_interop_unsafe | ||
math | ||
mirrors | ||
typed_data | ||
web | ||
lib.status | ||
lib_analyzer.status | ||
lib_app_jit.status | ||
lib_dart2js.status | ||
lib_dartdevc.status | ||
lib_kernel.status | ||
lib_precompiled.status | ||
lib_vm.status |