mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2024-11-22 07:30:19 +00:00
LibPDF: Allow /Pattern to be used directly as a color space name
Per spec: "If the color space is one that can be specified by a name and no additional parameters (DeviceGray, DeviceRGB, DeviceCMYK, and certain cases of Pattern), the name may be specified directly." We still don't implement /Pattern color spaces, but now we no longer crash trying to look up the potentially-nonexistent /ColorSpace dictionary on the page object when /Pattern is used directly as color space name. On top of #21514, reduces number of crashes on 300 random PDFs from the web (the first 300 from 0000.zip from https://pdfa.org/new-large-scale-pdf-corpus-now-publicly-available/) from 42 (14%) to 34 (11%).
This commit is contained in:
parent
aea0e2f313
commit
e0268dcc87
Notes:
sideshowbarker
2024-07-17 03:25:24 +09:00
Author: https://github.com/nico Commit: https://github.com/SerenityOS/serenity/commit/e0268dcc87 Pull-request: https://github.com/SerenityOS/serenity/pull/21516 Reviewed-by: https://github.com/ADKaster ✅
2 changed files with 3 additions and 1 deletions
|
@ -39,6 +39,8 @@ PDFErrorOr<NonnullRefPtr<ColorSpace>> ColorSpace::create(DeprecatedFlyString con
|
|||
return DeviceRGBColorSpace::the();
|
||||
if (name == CommonNames::DeviceCMYK)
|
||||
return DeviceCMYKColorSpace::the();
|
||||
if (name == CommonNames::Pattern)
|
||||
return Error::rendering_unsupported_error("Pattern color spaces not yet implemented");
|
||||
VERIFY_NOT_REACHED();
|
||||
}
|
||||
|
||||
|
|
|
@ -21,7 +21,7 @@
|
|||
V(Lab, false) \
|
||||
V(ICCBased, false) \
|
||||
V(Indexed, false) \
|
||||
V(Pattern, false) \
|
||||
V(Pattern, true) \
|
||||
V(Separation, false) \
|
||||
V(DeviceN, false)
|
||||
|
||||
|
|
Loading…
Reference in a new issue