Add JXR support to the browser

Can be enabled/disabled at runtime by toggling the 'media.jxr.enabled'
pref (disabled by default).

Two additional prefs are provided for testing purposes:
'media.jxr.autoaccept', and 'media.jxr.advertised_mime_type'
See comments in all.js for information on what these do.

This commit includes the MS OpenTech implementation of the decoder on
the browser side with some fixes applied; see the development in Pale
Moon GitGub issue #105 or my comments in the source code for more
information.
This commit is contained in:
rhinoduck
2017-02-08 07:08:08 +01:00
committed by roytam1
parent a34855657d
commit 7b7ccd5dce
13 changed files with 3224 additions and 0 deletions
+8
View File
@@ -27,6 +27,9 @@
#include "nsPNGDecoder.h"
#include "nsGIFDecoder2.h"
#include "nsJPEGDecoder.h"
#ifdef MOZ_JXR
#include "nsJXRDecoder.h"
#endif
#include "nsBMPDecoder.h"
#include "nsICODecoder.h"
#include "nsIconDecoder.h"
@@ -1332,6 +1335,11 @@ RasterImage::CreateDecoder(const Maybe<nsIntSize>& aSize, uint32_t aFlags)
mHasBeenDecoded ? Decoder::SEQUENTIAL :
Decoder::PROGRESSIVE);
break;
#ifdef MOZ_JXR
case eDecoderType_jxr:
decoder = new nsJXRDecoder(this, mHasBeenDecoded);
break;
#endif
case eDecoderType_bmp:
decoder = new nsBMPDecoder(this);
break;