mirror of
https://github.com/RGBCube/serenity
synced 2025-10-24 16:22:07 +00:00
Instead of creating a new global object and proxying everything through it, we now evaluate console inputs inside a `with` environment. This seems to match the behavior of WebKit and Gecko in my basic testing, and removes the ConsoleGlobalObject which has been a source of confusion and invalid downcasts. The globals now live in a class called ConsoleGlobalObjectExtensions (renamed from ConsoleGlobalObject since it's no longer a global object). To make this possible, I had to add a way to override the initial lexical environment when calling JS::Interpreter::run(). This is plumbed via Web::HTML::ClassicScript::run(). |
||
|---|---|---|
| .. | ||
| ClassicScript.cpp | ||
| ClassicScript.h | ||
| Environments.cpp | ||
| Environments.h | ||
| ExceptionReporter.cpp | ||
| ExceptionReporter.h | ||
| Fetching.cpp | ||
| Fetching.h | ||
| ImportMap.h | ||
| ModuleMap.cpp | ||
| ModuleMap.h | ||
| ModuleScript.cpp | ||
| ModuleScript.h | ||
| Script.cpp | ||
| Script.h | ||
| WindowEnvironmentSettingsObject.cpp | ||
| WindowEnvironmentSettingsObject.h | ||
| WorkerEnvironmentSettingsObject.h | ||