ladybird/Libraries/LibJS
InvalidUsernameException 831cecd644 LibJS+LibWeb: Add missing visits for cached cross-origin properties
This was causing GC-related crashes on various websites, most
prominently on any site that contains embedded YouTube videos. The issue
can be reproduced by going to any YouTube video, using the _Share_
button below it and pasting the embed code into an empty HTML file and
loading it through localhost.

This is technically a regression from
89dbdd3411 in that the problem became
visible with that commit. However, there is nothing wrong with the
commit by itself. It just happens that `Origin::is_same_origin_domain()`
prior to that commit was completely bogus and would mistakenly return
true in almost all cases, so the cross-origin code paths were not
exercised.

I am uncertain how to make a automatic test case for this problem, given
the nature of it being GC- and cross-origin-related. So there is no
regression test included in this commit.
2026-01-06 00:01:01 +01:00
..
Bytecode LibJS: Avoid unnecessary NewArray in yield* iterator method calls 2025-12-28 19:12:15 +01:00
Contrib/Test262 LibJS+LibWeb+WebContent: Port JS::PropertyKey to UTF-16 2025-08-05 07:07:15 -04:00
Heap LibJS+LibWeb: Add various fast_is<T>() helpers for common things 2025-12-20 09:13:19 -06:00
Runtime LibJS+LibWeb: Add missing visits for cached cross-origin properties 2026-01-06 00:01:01 +01:00
Tests LibJS: Fix overly conservative eval() deopt for undeclared identifiers 2026-01-04 13:13:26 +01:00
AST.cpp LibJS: Store full realized SourceRange with each AST node 2025-12-29 13:36:01 +01:00
AST.h LibJS: Store full realized SourceRange with each AST node 2025-12-29 13:36:01 +01:00
CMakeLists.txt LibJS: Cache fully-formed PropertyKeys in Executable 2025-12-11 14:34:45 -06:00
Console.cpp LibJS: Remove ExecutionContext::function_name field 2025-10-29 21:20:10 +01:00
Console.h LibJS: Implement console.dirxml 2025-08-17 07:28:56 -04:00
CyclicModule.cpp LibJS: Align async module rejection order with fulfillment order 2025-12-17 15:33:26 +01:00
CyclicModule.h LibJS: Sync additional Import Attributes spec changes 2025-10-22 10:58:19 +02:00
Forward.h LibJS: Shrink FunctionEnvironment by reordering members a bit 2025-12-21 12:08:41 -06:00
Lexer.cpp LibJS: Cache length-in-code-units in SourceCode 2025-11-09 12:14:03 +01:00
Lexer.h LibJS: Cache an Utf16View for the full code string in SourceCode 2025-11-09 12:14:03 +01:00
LocalVariable.h LibJS: Port the Identifier AST (and related) nodes to UTF-16 2025-08-13 09:56:13 -04:00
Module.cpp LibJS: Sync additional Import Attributes spec changes 2025-10-22 10:58:19 +02:00
Module.h Everywhere: Slap some [[clang::lifetimebound]] where appropriate 2025-09-01 11:11:38 +02:00
ModuleLoading.h LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
Parser.cpp LibJS: Fix overly conservative eval() deopt for undeclared identifiers 2026-01-04 13:13:26 +01:00
Parser.h LibJS: Remove ParserState::lookahead_lexer 2025-11-09 12:14:03 +01:00
ParserError.cpp LibJS: Port the JS lexer and parser to UTF-16 2025-08-13 09:56:13 -04:00
ParserError.h LibJS: Port the JS lexer and parser to UTF-16 2025-08-13 09:56:13 -04:00
Position.h LibJS: Store full realized SourceRange with each AST node 2025-12-29 13:36:01 +01:00
Print.cpp LibJS+LibWeb: Replace JS::Utf16String with AK::Utf16String 2025-07-18 12:45:38 -04:00
Print.h LibJS: Enable EXPLICIT_SYMBOL_EXPORT and annotate minimum symbol set 2025-07-22 11:51:29 -04:00
Script.cpp LibJS: Have JS::Lexer take a JS::SourceCode as input 2025-11-09 12:14:03 +01:00
Script.h LibJS: Stop tracking whether execution context is strict mode or not 2025-10-29 21:20:10 +01:00
SourceCode.cpp LibJS: Store full realized SourceRange with each AST node 2025-12-29 13:36:01 +01:00
SourceCode.h LibJS: Cache length-in-code-units in SourceCode 2025-11-09 12:14:03 +01:00
SourceRange.h LibJS: Enable EXPLICIT_SYMBOL_EXPORT and annotate minimum symbol set 2025-07-22 11:51:29 -04:00
SourceTextModule.cpp LibJS: Fix typo in ResolveExport assertion 2025-12-03 12:08:40 +01:00
SourceTextModule.h LibJS+LibWeb+WebContent: Port JS::PropertyKey to UTF-16 2025-08-05 07:07:15 -04:00
SyntaxHighlighter.cpp LibJS: Have JS::Lexer take a JS::SourceCode as input 2025-11-09 12:14:03 +01:00
SyntaxHighlighter.h LibJS: Enable EXPLICIT_SYMBOL_EXPORT and annotate minimum symbol set 2025-07-22 11:51:29 -04:00
SyntheticModule.cpp LibJS+LibWeb+WebContent: Port JS::PropertyKey to UTF-16 2025-08-05 07:07:15 -04:00
SyntheticModule.h LibJS+LibWeb+WebContent: Port JS::PropertyKey to UTF-16 2025-08-05 07:07:15 -04:00
Token.cpp LibJS: Make JS::Token::message an enum instead of a StringView 2025-11-09 12:14:03 +01:00
Token.h LibJS: Store full realized SourceRange with each AST node 2025-12-29 13:36:01 +01:00