This website requires JavaScript.
Explore
Help
Sign in
Stowage
/
ladybird
Watch
2
Star
0
Fork
You've already forked ladybird
0
mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced
2025-12-08 06:09:58 +00:00
Code
Issues
Projects
Releases
Packages
Wiki
Activity
ac650d2362
ladybird
/
Userland
/
Services
/
ImageDecoder
/
ImageDecoderClient.ipc
4 lines
32 B
Text
Raw
Normal View
History
Unescape
Escape
IPCCompiler: Remove hardcoded endpoint magic, attempt deux This patch removes the IPC endpoint numbers that needed to be specified in the IPC files. Since the string hash is a (hopefully) collision free number that depends on the name of the endpoint, we now use that instead. :^) Additionally, endpoint magic is now treated as a u32, because endpoint numbers were never negative anyway. For cases where the endpoint number does have to be hardcoded (a current case is LookupServer because the endpoint number must be known in LibC), the syntax has been made more explicit to avoid confusing those unfamiliar. To hardcode the endpoint magic, the following syntax is now used: endpoint EndpointName [magic=1234]
2021-04-25 13:19:53 +02:00
endpoint ImageDecoderClient
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:35:22 +02:00
{
}
Reference in a new issue
Copy permalink