serenity/Userland
davidot 5611285312 SpreadSheet: Fix that the js integration abused global objects
Before this commit it only allocated the global object so when it wanted
to lookup 'thisSheet' it could not find it in the global environment.
We now hotswap the global object everytime a cell evaluated.

This also fixes that SheetGlobalObject did not have an
internal_has_property meaning 'A0' could not be referenced unless it was
via a member lookup (this.A0). This was already broken before the
bindings refactoring.

The correct behavior of realms in spreadsheet is not completely clear
since what is shared between sheets is not very well defined.

The reason that just setting the SheetGlobalObject as the
global_this_value is not enough is because ECMAScript does not check the
global_this_value for members when resolving a reference in the global
environment.
2021-09-30 08:16:32 +01:00
..
Applets LibGUI: Rename CallOnChange => AllowCallback and implement elsewhere 2021-09-22 21:35:42 +02:00
Applications SpreadSheet: Fix that the js integration abused global objects 2021-09-30 08:16:32 +01:00
Demos WidgetGallery: Crop animated cursors 2021-09-20 15:59:34 +02:00
DevTools LibJS: Convert internal_set() to ThrowCompletionOr 2021-09-29 23:49:53 +01:00
DynamicLoader
Games
Libraries LibJS: Fix switch skipping case evaluation when hitting the default case 2021-09-30 08:16:32 +01:00
Services LibJS: Convert internal_own_property_keys() to ThrowCompletionOr 2021-09-29 23:49:53 +01:00
Shell
Utilities LibJS: Make scoping follow the spec 2021-09-30 08:16:32 +01:00
CMakeLists.txt