https://bugs.kde.org/show_bug.cgi?id=525449

--- Comment #2 from [email protected] 
<[email protected]> ---
Yes, I agree this is primarily an upstream Chromium bug rather than something
Brave intentionally does. Brave uses Chromium's PWA integration, which
generates these MIME registrations.
The reason they exist is Kimi's PWA `file_handlers`, which declare support for
types such as `image/*`, `text/*`, `audio/*`, and `video/*`. This allows the
PWA to register itself as an application for those file types.

The issue is that Chromium's Linux integration
(`chrome/browser/shell_integration_linux.cc`,
`GetMimeTypesRegistrationFileContents()`) turns these handlers into XDG MIME
registration entries. For wildcard handlers, it generates entries such as
`image/*` with globs like `*.apng` and `*.png`.

Injecting these globs under `image/*` with weight 50 can hijack MIME
resolution:

`foo.png → image/*` instead of  `foo.png → image/png`

I agree the underlying issue is in Chromium, but I think Spectacle can also
guard against unexpected MIME database results. In `imageFileSuffix()`, the
resolved suffix could be validated against
`QImageWriter::supportedImageFormats()`, falling back to
`Settings::preferredImageFormat()` if it is unsupported.
This would prevent an unrelated MIME registration from causing Spectacle to
fail when saving an image.

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to