1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 12:28:12 +00:00
serenity/Userland/Libraries
Andreas Kling 22a858a0cb LibWeb: Don't parse inline style sheets during HTML fragment parsing
Some websites (like Reddit) like to instantiate "components" by setting
innerHTML to a huge chunk of stuff. Sometimes those huge chunks of stuff
contain inline style sheets (i.e `<style>` elements).

Before this change, we would end up parsing the CSS in those elements
multiple times, because we had no way of knowing that we were within
a fragment parser's temporary document.

This patch avoids the extra CSS parsing work by adding adding a flag to
Document that tells us it's being used by the fragment parser. Then, we
simply avoid parsing CSS for style elements in such documents. The CSS
then gets parsed immediately upon insertion into the proper DOM.
2023-08-09 17:09:28 +02:00
..
LibArchive LibArchive: Extract logic for calculating ZIP statistics 2023-07-30 22:16:40 +01:00
LibAudio Userland: Open files for save in write-only mode 2023-08-08 15:13:43 +02:00
LibC LibC: Define time* macros before definitions 2023-08-09 05:40:39 +02:00
LibCards AK: Make "foo"_string infallible 2023-08-07 16:03:27 +02:00
LibChess Userland: Prefer _string over _short_string 2023-08-08 07:37:21 +02:00
LibCMake LibSyntax+Libraries: Replace TextStyle with Gfx::TextAttributes 2023-03-15 14:55:49 +01:00
LibCodeComprehension AK: Make "foo"_string infallible 2023-08-07 16:03:27 +02:00
LibCompress LibCompress/Brotli: Remove CanonicalCode::clear() 2023-07-22 07:10:47 +02:00
LibConfig Userland: Convert config listener callbacks to use StringView 2023-06-27 15:37:00 +01:00
LibCore Userland: Prefer _string over _short_string 2023-08-08 07:37:21 +02:00
LibCoredump LibCoredump: Avoid unnecessary conversion to DeprecatedString 2023-05-27 17:30:55 +02:00
LibCpp Everywhere: Remove needless trailing semi-colons after functions 2023-07-08 10:32:56 +01:00
LibCrypt Everywhere: Resolve conflicts with LibC and libc++ 2023-06-27 12:40:38 +02:00
LibCrypto Userland: Prefer _string over _short_string 2023-08-08 07:37:21 +02:00
LibDebug LibDebug: Keep track of the SetEpilogueBegin LineProgram OpCode 2023-06-27 12:40:38 +02:00
LibDesktop Everywhere: Use MonotonicTime instead of Duration 2023-05-24 23:18:07 +02:00
LibDeviceTree Everywhere: Remove unused DeprecatedString includes 2023-04-09 22:00:54 +02:00
LibDiff LibDiff+patch: Support multiple patches in a single patch file 2023-07-30 07:47:22 +01:00
LibDNS AK: Rename Stream::write_entire_buffer to Stream::write_until_depleted 2023-03-13 15:16:20 +00:00
LibDSP Userland: Prefer _string over _short_string 2023-08-08 07:37:21 +02:00
LibEDID Everywhere: Use nested namespace qualifiers 2023-07-12 10:05:42 +03:30
LibELF Kernel: Consolidate finding the ELF stack size with validation 2023-07-10 21:08:31 -06:00
LibFileSystem LibFileSystem: Add FileSystem::is_regular_file 2023-07-13 10:29:30 +01:00
LibFileSystemAccessClient LibFSAC+Userland: Pass options for FSAC::open_file() using a struct 2023-06-11 09:40:17 +01:00
LibGemini Everywhere: Remove needless trailing semi-colons after functions 2023-07-08 10:32:56 +01:00
LibGfx LibGfx/JPEGXL: Honor the orientation parameter 2023-08-09 13:18:40 +01:00
LibGL Everywhere: Remove needless trailing semi-colons after functions 2023-07-08 10:32:56 +01:00
LibGLSL AK: Make "foo"_string infallible 2023-08-07 16:03:27 +02:00
LibGPU LibGPU: Remove DeprecatedString usage 2023-01-30 13:49:52 -05:00
LibGUI Userland: Prefer _string over _short_string 2023-08-08 07:37:21 +02:00
LibHTTP AK: Serialize URL hosts with 'concept-host-serializer' 2023-07-31 05:18:51 +02:00
LibIDL LibIDL: Avoid unnecessary copies of imported paths 2023-06-15 08:09:16 +02:00
LibImageDecoderClient LibImageDecoderClient: Fix minor const-correctness issue 2023-02-21 00:54:04 +01:00
LibIMAP Userland: Rename Core::Object to Core::EventReceiver 2023-08-06 20:39:51 +02:00
LibIPC Userland: Rename Core::Object to Core::EventReceiver 2023-08-06 20:39:51 +02:00
LibJS LibJS: Make Value::to_string_without_side_effects() infallible 2023-08-09 17:09:16 +02:00
LibKeyboard Everywhere: Remove needless trailing semi-colons after functions 2023-07-08 10:32:56 +01:00
LibLine LibLine: Refresh the line after case-change operations 2023-08-07 22:51:49 +03:30
LibLocale LibTimeZone+Userland: Change timezone functions to use UnixDateTime 2023-05-24 23:18:07 +02:00
LibMain
LibManual Userland: Prefer _string over _short_string 2023-08-08 07:37:21 +02:00
LibMarkdown LibMarkdown: Add render_for_raw_print methods to Node derived classes 2023-08-07 13:24:25 -06:00
LibPartition Everywhere: Remove needless trailing semi-colons after functions 2023-07-08 10:32:56 +01:00
LibPCIDB Everywhere: Remove needless trailing semi-colons after functions 2023-07-08 10:32:56 +01:00
LibPDF LibPDF: Ensure all subpaths are closed before filling paths 2023-07-25 13:42:40 +02:00
LibProtocol Ladybird: Add WebSocket server for use by Lagom networking 2023-08-03 09:55:20 +02:00
LibRegex LibRegex: Keep track of instruction positions for backwards tree jumps 2023-08-05 16:40:04 +02:00
LibSanitizer Everywhere: Resolve conflicts with LibC and libc++ 2023-06-27 12:40:38 +02:00
LibSoftGPU LibGfx+Everywhere: Change Gfx::Rect to be endpoint exclusive 2023-05-23 12:35:42 +02:00
LibSQL LibSQL: Remove Core::EventReceiver parent from SQL::Relation 2023-08-07 14:38:38 -04:00
LibSymbolication LibSymbolication: Use Core::File instead of Core::DeprecatedFile 2023-04-27 07:27:14 +02:00
LibSyntax Everywhere: Remove needless trailing semi-colons after functions 2023-07-08 10:32:56 +01:00
LibSystem Everywhere: Resolve conflicts with LibC and libc++ 2023-06-27 12:40:38 +02:00
LibTest LibJS: Make Value::to_string_without_side_effects() infallible 2023-08-09 17:09:16 +02:00
LibTextCodec LibTextCodec: Add "get output encoding" from the Encoding specification 2023-06-19 06:12:26 +02:00
LibThreading LibThreading: Make Thread keep itself alive while its action is running 2023-08-07 10:40:34 -06:00
LibTimeZone Everywhere: Resolve conflicts with LibC and libc++ 2023-06-27 12:40:38 +02:00
LibTLS LibTLS: Allow applications to provide a custom default CA Cert path 2023-08-02 05:44:43 +02:00
LibUnicode LibUnicode: Perform code point case conversion lookups in constant time 2023-07-28 05:28:50 +02:00
LibUSBDB Everywhere: Remove needless trailing semi-colons after functions 2023-07-08 10:32:56 +01:00
LibVideo Userland: Rename Core::Object to Core::EventReceiver 2023-08-06 20:39:51 +02:00
LibVirtGPU Everywhere: Remove needless trailing semi-colons after functions 2023-07-08 10:32:56 +01:00
LibVT Everywhere: Remove needless trailing semi-colons after functions 2023-07-08 10:32:56 +01:00
LibWasm LibJS: Make Value::to_string_without_side_effects() infallible 2023-08-09 17:09:16 +02:00
LibWeb LibWeb: Don't parse inline style sheets during HTML fragment parsing 2023-08-09 17:09:28 +02:00
LibWebSocket Userland: Rename Core::Object to Core::EventReceiver 2023-08-06 20:39:51 +02:00
LibWebView Ladybird+LibWebView+Browser: Remove ability to run with AST interpreter 2023-08-08 13:07:13 +02:00
LibX86
LibXML LibXML: Actually append resolved references when parsing content 2023-07-23 16:09:12 +02:00
CMakeLists.txt LibFileSystem: Create LibFileSystem 2023-03-21 19:03:21 +00:00