mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2024-11-22 15:40:19 +00:00
da177c6517
The previous handling of the name and message properties specifically was breaking websites that created their own error types and relied on the error prototype working correctly - not assuming an JS::Error this object, that is. The way it works now, and it is supposed to work, is: - Error.prototype.name and Error.prototype.message just have initial string values and are no longer getters/setters - When constructing an error with a message, we create a regular property on the newly created object, so a lookup of the message property will either get it from the object directly or go though the prototype chain - Internal m_name/m_message properties are no longer needed and removed This makes printing errors slightly more complicated, as we can no longer rely on the (safe) internal properties, and cannot trust a property lookup either - get_without_side_effects() is used to solve this, it's not perfect but something we can revisit later. I did some refactoring along the way, there was some really old stuff in there - accessing vm.call_frame().arguments[0] is not something we (have to) do anymore :^) Fixes #6245. |
||
---|---|---|
.. | ||
About | ||
Browser | ||
Calculator | ||
Calendar | ||
CrashReporter | ||
Debugger | ||
DisplaySettings | ||
FileManager | ||
FontEditor | ||
Help | ||
HexEditor | ||
IRCClient | ||
KeyboardMapper | ||
KeyboardSettings | ||
MouseSettings | ||
Piano | ||
PixelPaint | ||
QuickShow | ||
Run | ||
Serendipity | ||
SoundPlayer | ||
SpaceAnalyzer | ||
Spreadsheet | ||
SystemMonitor | ||
Terminal | ||
TextEditor | ||
ThemeEditor | ||
CMakeLists.txt |