ladybird/Userland/Applications
Linus Groh da177c6517 LibJS: Make Errors fully spec compliant
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.
2021-04-12 09:38:57 +02:00
..
About Everywhere: Remove klog(), dbg() and purge all LogStream usage :^) 2021-03-12 17:29:37 +01:00
Browser LibJS: Make Errors fully spec compliant 2021-04-12 09:38:57 +02:00
Calculator Calculator: Alt shortcuts and book title capitalization in menus 2021-04-10 16:09:23 +02:00
Calendar Calendar: Alt shortcuts and book title capitalization in menus 2021-04-10 16:11:48 +02:00
CrashReporter Kernel+CrashReporter: Add metadata about page faults to crash reports 2021-04-04 20:13:55 +02:00
Debugger Everywhere: Remove klog(), dbg() and purge all LogStream usage :^) 2021-03-12 17:29:37 +01:00
DisplaySettings Everywhere: Remove empty {} from GML objects 2021-03-29 09:10:23 +02:00
FileManager LibC: Move S_* defines into <fcntl.h> 2021-04-11 09:51:20 +02:00
FontEditor FontEditor: Add 'New Font' wizard to editor 2021-04-11 01:16:34 +02:00
Help Userland: Turn all application menus into window menus :^) 2021-03-25 22:14:09 +01:00
HexEditor Userland: Turn all application menus into window menus :^) 2021-03-25 22:14:09 +01:00
IRCClient Userland: Turn all application menus into window menus :^) 2021-03-25 22:14:09 +01:00
KeyboardMapper Userland: Turn all application menus into window menus :^) 2021-03-25 22:14:09 +01:00
KeyboardSettings Userland: Turn all application menus into window menus :^) 2021-03-25 22:14:09 +01:00
MouseSettings WindowServer+MouseSettings: Add ability to configure double-click speed (#5876) 2021-04-02 16:08:18 +02:00
Piano Everywhere: rename 'Sample' type to 'Frame' 2021-03-27 10:20:55 +01:00
PixelPaint PixelPaint: Add icon and keyboard shortcut for the "New Image" action 2021-04-10 14:58:48 +02:00
QuickShow QuickShow: Alt shortcuts and book title capitalization in menus 2021-04-10 14:58:48 +02:00
Run Everywhere: Remove empty {} from GML objects 2021-03-29 09:10:23 +02:00
Serendipity Serendipity: Paint theme agnostic banner 2021-04-12 08:56:06 +02:00
SoundPlayer SoundPlayer: Add samplerate variable to visualizations 2021-03-27 10:20:55 +01:00
SpaceAnalyzer Userland: Turn all application menus into window menus :^) 2021-03-25 22:14:09 +01:00
Spreadsheet LibJS: Make Errors fully spec compliant 2021-04-12 09:38:57 +02:00
SystemMonitor SystemMonitor: Add tab with detailed state to process properties window 2021-04-11 13:24:59 +02:00
Terminal Terminal+LibVT: Add Alt shortcuts to menu actions 2021-04-09 17:08:49 +02:00
TextEditor TextEditor: Add Alt shortcuts to menu actions 2021-04-09 17:08:49 +02:00
ThemeEditor WindowServer+LibGfx: Show menus in windows! :^) 2021-03-25 22:14:09 +01:00
CMakeLists.txt Serendipity: A new welcome app 2021-03-02 11:57:27 +01:00