ladybird/Libraries
Andreas Kling e3782a7f99 ImageDecoder: Add a new service for out-of-process image decoding :^)
The new ImageDecoder service (available for members of "image" via
/tmp/portal/image) allows you to decode images in a separate process.

This will allow programs to confidently load untrusted images, since
the bulk of the security concerns are sandboxed to a separate process.

The only API right now is a synchronous IPC DecodeImage() call that
takes a shbuf with encoded image data and returns a shared buffer and
metadata for the decoded image.

It also comes with a very simple library for interfacing with the
ImageDecoder service: LibImageDecoderClient. The name is a bit of a
mouthful but I guess we can rename it later if we think of something
nicer to call it.

There's obviously a bit of overhead to spawning a separate process
for every image decode, so this is mostly only appropriate for
untrusted images (e.g stuff downloaded from the web) and not necessary
for trusted local images (e.g stuff in /res)
2020-06-22 21:47:00 +02:00
..
LibAudio WavLoader: Search for DATA marker by reading single bytes 2020-06-18 23:13:48 +02:00
LibC LibC: Implement pselect 2020-06-22 16:00:20 +02:00
LibCore LibCore: Remove some debug spam in Local{Server,Socket} 2020-06-22 21:21:38 +02:00
LibCrypto LibCrypto: Add bitwise operations (and/or/xor) 2020-06-07 19:29:40 +02:00
LibDebug LibDebug: Add all Dwarf v5 attributes, tags, and form enum values 2020-06-03 08:12:50 +02:00
LibDesktop LibIPC+Services: Support URL as a native IPC type 2020-06-07 22:55:33 +02:00
LibELF Kernel: Absorb LibBareMetal back into the kernel 2020-05-16 12:00:04 +02:00
LibGemini AK: Make string-to-number conversion helpers return Optional 2020-06-12 21:28:55 +02:00
LibGfx ImageDecoder: Add a new service for out-of-process image decoding :^) 2020-06-22 21:47:00 +02:00
LibGUI LibGUI: Bug fix on GUI::Image when image is nullptr 2020-06-21 16:42:46 +02:00
LibHTTP AK: Make string-to-number conversion helpers return Optional 2020-06-12 21:28:55 +02:00
LibImageDecoderClient ImageDecoder: Add a new service for out-of-process image decoding :^) 2020-06-22 21:47:00 +02:00
LibIPC LibIPC: Add setters for overriding the client/server PID if needed 2020-06-21 21:54:30 +02:00
LibJS LibWeb: Generate CanvasRenderingContext2D bindings from IDL :^) 2020-06-22 19:07:25 +02:00
LibKeyboard LibKeyboard: Replace char data type to u32 for code point 2020-06-16 13:15:17 +02:00
LibLine AK: Make string-to-number conversion helpers return Optional 2020-06-12 21:28:55 +02:00
LibM LibM: Add some more math functions 2020-06-22 10:33:50 +02:00
LibMarkdown LibMarkdown: Change internal MD API to return OwnPtrs 2020-05-30 00:32:12 +02:00
LibPCIDB Build: Switch to CMake :^) 2020-05-14 20:15:18 +02:00
LibProtocol ProtocolServer+LibProtocol: Propagate HTTP status codes to clients 2020-06-13 22:20:37 +02:00
LibPthread Revert "Build: Include headers from LibC, LibM, and LibPthread with -isystem" 2020-05-20 16:24:26 +02:00
LibTextCodec LibTextCodec: Improve Latin-1 decoder so it decodes everything 2020-05-27 19:52:18 +02:00
LibThread Build: Switch to CMake :^) 2020-05-14 20:15:18 +02:00
LibTLS LibTLS: Simplify record padding logic and ASSERT more assumptions 2020-06-04 15:58:04 +02:00
LibUnwind LibUnwind: Create UnwindBase.h to capture the EH ABI in code 2020-05-14 08:50:10 +02:00
LibVT LibVT: Replace u8 type to u32 for code point 2020-06-16 13:15:17 +02:00
LibWeb LibWeb: Generate CanvasRenderingContext2D bindings from IDL :^) 2020-06-22 19:07:25 +02:00
LibX86 Build: Switch to CMake :^) 2020-05-14 20:15:18 +02:00
CMakeLists.txt ImageDecoder: Add a new service for out-of-process image decoding :^) 2020-06-22 21:47:00 +02:00