1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-06-01 03:08:13 +00:00
serenity/Userland/Libraries
Andreas Kling 7d24c13d8b LibWeb: Make input element placeholders look better
We now create a flex container inside the input element's UA shadow tree
and add the placeholder and non-placeholder text as flex items (wrapped
in elements whose style we can manipulate).

This fixes the visual glitch where the placeholder would appear below
the bounding box of the input element. It also allows us to align the
text vertically inside the input element (like we're supposed to).

In order to achieve this, I had to make two small architectural changes
to layout tree building:

- Elements can now report that they represent a given pseudo element.
  This allows us to instantiate the ::placeholder pseudo element as an
  actual DOM element inside the input element's UA shadow tree.

- We no longer create a separate layout node for the shadow root itself.
  Instead, children of the shadow root are treated as if they were
  children of the DOM element itself for the purpose of layout tree
  building.
2023-05-25 14:42:24 +02:00
..
LibArchive LibArchive: Read Tar archive headers through read_value 2023-03-13 15:16:20 +00:00
LibAudio AK: Rename Time to Duration 2023-05-24 23:18:07 +02:00
LibC LibTimeZone+Userland: Change timezone functions to use UnixDateTime 2023-05-24 23:18:07 +02:00
LibCards LibGfx+Everywhere: Change Gfx::Rect to be endpoint exclusive 2023-05-23 12:35:42 +02:00
LibChess AK: Add the Input word to input-only buffered streams 2023-05-09 11:18:46 +02:00
LibCMake LibSyntax+Libraries: Replace TextStyle with Gfx::TextAttributes 2023-03-15 14:55:49 +01:00
LibCodeComprehension LibCodeComprehension: Remove unused #include <DeprecatedFile.h> 2023-05-21 07:52:41 +02:00
LibCompress LibCompress: Move two shared LZMA magic numbers into a common place 2023-05-19 23:40:33 +02:00
LibConfig LibCore: Big first step towards pluggable Core::EventLoop 2023-04-25 14:48:40 +02:00
LibCore Everywhere: Use MonotonicTime instead of Duration 2023-05-24 23:18:07 +02:00
LibCoredump LibCoredump+CrashReporter: Make CrashReporter work on AArch64 2023-04-23 14:30:59 +02:00
LibCpp LibCpp: Support for parsing c-style fixed arrays (arr[2]) 2023-04-26 09:40:25 +01:00
LibCrypt LibCrypt: Start installing headers again 2023-03-20 09:33:30 +01:00
LibCrypto LibCrypto: Add a checksumming stream wrapper 2023-05-18 22:23:15 +02:00
LibDebug LibDebug: Prefer File::read_until_eof over DeprecatedFile 2023-05-19 23:31:20 +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: Make Diff::generate_only_additions take text as StringView 2022-12-20 10:58:54 +01:00
LibDNS AK: Rename Stream::write_entire_buffer to Stream::write_until_depleted 2023-03-13 15:16:20 +00:00
LibDSP Piano: Allow per-track controls (again) 2023-05-05 01:32:09 +02:00
LibEDID LibEDID: Fix compiler error when ENABLE_PNP_IDS_DOWNLOAD=OFF 2023-04-06 10:26:21 -04:00
LibELF test-fuzz: Add all the missing fuzzers 2023-05-23 06:11:33 +02:00
LibFileSystem Userland: Allow our access check to pass flags to faccessat syscall 2023-05-13 17:59:37 -06:00
LibFileSystemAccessClient LibFileSystemAccessClient: Improve error propagation 2023-05-19 06:20:41 +02:00
LibGemini AK+Everywhere: Change URL::path() to serialize_path() 2023-04-15 06:37:04 +02:00
LibGfx WebP/Lossy: Validate show_frame and version when reading header 2023-05-24 16:09:40 +02:00
LibGL LibGL: Implement support for the GL_RGB5_A1 internal image format 2023-05-04 16:11:28 +02:00
LibGLSL Everywhere: Use _{short_,}string to create Strings from literals 2023-02-25 20:51:49 +01:00
LibGPU LibGPU: Remove DeprecatedString usage 2023-01-30 13:49:52 -05:00
LibGUI Everywhere: Use MonotonicTime instead of Duration 2023-05-24 23:18:07 +02:00
LibHTTP AK+Everywhere: Change URL::path() to serialize_path() 2023-04-15 06:37:04 +02:00
LibIDL LibIDL: Avoid unnecessary HashMap copy 2023-05-19 22:33:57 +02:00
LibImageDecoderClient LibImageDecoderClient: Fix minor const-correctness issue 2023-02-21 00:54:04 +01:00
LibIMAP Everywhere: Remove unintentional partial stream reads and writes 2023-03-13 15:16:20 +00:00
LibIPC AK: Introduce UnixDateTime 2023-05-24 23:18:07 +02:00
LibJS Everywhere: Use MonotonicTime instead of Duration 2023-05-24 23:18:07 +02:00
LibKeyboard LibKeyboard: Read keymap through File, not DeprecatedFile 2023-05-12 19:46:54 +01:00
LibLine LibLine: Prefer File::read_until_eof over DeprecatedFile::read_all 2023-05-19 21:36:37 +02:00
LibLocale LibTimeZone+Userland: Change timezone functions to use UnixDateTime 2023-05-24 23:18:07 +02:00
LibMain Everywhere: Explicitly link all binaries against the LibC target 2022-11-01 14:49:09 +00:00
LibManual LibManual: Allow querying on a help URL 2023-05-08 21:03:19 -06:00
LibMarkdown LibMarkdown+LibSyntax: Add a Markdown syntax highlighter 2023-05-05 17:08:40 +01:00
LibPartition LibPartition: Make Kernel parts const-correct re: StorageDevice& 2023-02-21 00:54:04 +01:00
LibPCIDB AK+Everywhere: Rename String to DeprecatedString 2022-12-06 08:54:33 +01:00
LibPDF LibPDF: Avoid unnecessary HashMap copy, mark other copies 2023-05-19 22:33:57 +02:00
LibProtocol WebSocket: Avoid unnecessary IPC::Dictionary wrapper 2023-05-21 07:53:45 +02:00
LibRegex LibRegex: Avoid calling GenericLexer::consume() past EOF 2023-04-14 12:33:54 +02:00
LibSanitizer LibC: Properly implement stack protectors 2022-11-01 14:49:09 +00:00
LibSoftGPU LibGfx+Everywhere: Change Gfx::Rect to be endpoint exclusive 2023-05-23 12:35:42 +02:00
LibSQL Userland: Remove remaining users of Duration::now_realtime() 2023-05-24 23:18:07 +02:00
LibSymbolication LibSymbolication: Use Core::File instead of Core::DeprecatedFile 2023-04-27 07:27:14 +02:00
LibSyntax LibMarkdown+LibSyntax: Add a Markdown syntax highlighter 2023-05-05 17:08:40 +01:00
LibSystem
LibTest LibTest: Add a EXPECT_APPROXIMATE_WITH_ERROR macro with custom error 2023-04-30 00:46:11 +02:00
LibTextCodec LibTextCodec: Change UTF-8's decoder to replace invalid code points 2023-05-12 05:47:36 +02:00
LibThreading LibThreading: Do not crash when detaching from an already-exited thread 2023-05-24 16:45:25 +02:00
LibTimeZone LibTimeZone+Userland: Change timezone functions to use UnixDateTime 2023-05-24 23:18:07 +02:00
LibTLS LibTLS: Avoid unnecessary HashMap copies, improve const-correctness 2023-05-19 22:33:57 +02:00
LibUnicode AK+LibUnicode: Implement String::equals_ignoring_case without allocating 2023-03-08 18:57:53 +00:00
LibUSBDB AK+Everywhere: Rename String to DeprecatedString 2022-12-06 08:54:33 +01:00
LibVideo Everywhere: Use MonotonicTime instead of Duration 2023-05-24 23:18:07 +02:00
LibVirtGPU LibCore: Remove Stream.h 2023-02-13 00:50:07 +00:00
LibVT LibGfx+Everywhere: Change Gfx::Rect to be endpoint exclusive 2023-05-23 12:35:42 +02:00
LibWasm LibWasm: Change dir_fd to auto instead of int 2023-05-20 03:27:38 +03:30
LibWeb LibWeb: Make input element placeholders look better 2023-05-25 14:42:24 +02:00
LibWebSocket AK+Everywhere: Change URL::path() to serialize_path() 2023-04-15 06:37:04 +02:00
LibWebView Browser+Ladybird+LibWebView: Handle trivial content APIs in LibWebView 2023-05-17 19:47:05 +02:00
LibX86 LibX86: Remove i686 support 2022-12-28 11:53:41 +01:00
LibXML LibXML: Notify the listener about the root node as well 2023-05-05 01:33:49 +02:00
CMakeLists.txt LibFileSystem: Create LibFileSystem 2023-03-21 19:03:21 +00:00