mirror of
https://github.com/mozilla/gecko-dev.git
synced 2025-11-01 00:38:50 +02:00
This patch refactors how we check for text formats when deciding how to handle resources, such that more text MIME types will be rendered in-browser, rather than downloaded. This change requires us to move more away from using the Gecko-Content-Viewers category in the category manager for this decision, as we need to handle an unlimited number of MIME types behind the scenes. Support for Gecko-Content-Viewers was left in for both the in-tree use for application/http-index-format and dynamically determining whether image/avif and image/jxl are supported, as well as for the message/rfc822 type used by Thunderbird. Differential Revision: https://phabricator.services.mozilla.com/D212078
38 lines
1.5 KiB
Text
38 lines
1.5 KiB
Text
/* -*- Mode: IDL; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*-
|
|
*
|
|
* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
|
|
#include "nsISupports.idl"
|
|
|
|
interface nsIChannel;
|
|
interface nsIDocumentViewer;
|
|
interface nsIStreamListener;
|
|
interface nsIDocShell;
|
|
interface nsILoadGroup;
|
|
interface nsIPrincipal;
|
|
|
|
webidl Document;
|
|
|
|
/**
|
|
* To get a component that implements nsIDocumentLoaderFactory
|
|
* for a given mimetype, use nsContentUtils::FindInternalDocumentViewer.
|
|
* This will look up the MIME type within the "Gecko-Content-Viewers" category,
|
|
* with additional handlers for other content types.
|
|
*/
|
|
|
|
[scriptable, uuid(e795239e-9d3c-47c4-b063-9e600fb3b287)]
|
|
interface nsIDocumentLoaderFactory : nsISupports {
|
|
nsIDocumentViewer createInstance(in string aCommand,
|
|
in nsIChannel aChannel,
|
|
in nsILoadGroup aLoadGroup,
|
|
in ACString aContentType,
|
|
in nsIDocShell aContainer,
|
|
in nsISupports aExtraInfo,
|
|
out nsIStreamListener aDocListenerResult);
|
|
|
|
nsIDocumentViewer createInstanceForDocument(in nsISupports aContainer,
|
|
in Document aDocument,
|
|
in string aCommand);
|
|
};
|