04b766ad80
Per the WebIDL specification, objects that are namespaces must have the their class string value set to their identifier name [1]. Since per spec, console is defined as a namespace [2], console's class string must be "console". However, since the console object in Chromium/v8 is directly implemented inside of v8, it doesn't adhere to the WebIDL binding norms. Its implementation manually had its @@toStringTag set to "Object", which is incorrect. This CL corrects it to "console" and adjusts test expectations accordingly. Unfortunately, this CL will have web-exposed changes to Chromium that are not tested anywhere, specifically because console's implementation of namespace did not adhere to the WebIDL spec. Separately, https://crrev.com/c/4193348 fixes Chromium's web-exposed tests and stable test expectations, to manually treat console as a namespace (despite its broken implementation) so that the global interface listing tests properly enumerate attributes/methods on the console object. Once this CL lands, those expectations will need to be changed. The motivation for this change is to ensure that all console attributes and methods are properly accounted for in the usual Blink webexposed stable tests that are owned by the Blink API OWNERs. This is because recently, v8 shipped a new console method (createTask()) that entirely bypassed the Chromium launch process: https://www.chromium.org/blink/launching-features/, because no files needed to be approved by Blink API OWNERs. [1]: https://webidl.spec.whatwg.org/#ref-for-dfn-class-string%E2%91%A8 [2]: https://console.spec.whatwg.org/#console-namespace Change-Id: I0bbd05242fc815945cce40c65d74995950d64115 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4193308 Reviewed-by: Shu-yu Guo <syg@chromium.org> Commit-Queue: Dominic Farolino <dom@chromium.org> Cr-Commit-Position: refs/heads/main@{#85572} |
||
---|---|---|
.. | ||
console | ||
cpu-profiler | ||
debugger | ||
heap-profiler | ||
regress | ||
runtime | ||
sessions | ||
BUILD.gn | ||
DEPS | ||
DIR_METADATA | ||
frontend-channel.h | ||
inspector-test.cc | ||
inspector.status | ||
isolate-data.cc | ||
isolate-data.h | ||
json-parse-expected.txt | ||
json-parse.js | ||
OWNERS | ||
print-method-not-found-expected.txt | ||
print-method-not-found.js | ||
private-class-member-inspector-test.js | ||
protocol-test.js | ||
task-runner.cc | ||
task-runner.h | ||
tasks.cc | ||
tasks.h | ||
testcfg.py | ||
utils.cc | ||
utils.h | ||
wasm-inspector-test.js |