author Nika Layzell <>
Tue, 06 Mar 2018 20:14:59 -0500
changeset 412763 7f79db23bc0f589ca508a9d03370bd7ef3cb554c
parent 368970 7534510da000dfe1017ca66e3148ccb6153c6831
child 440267 a3fa8bb51b3c4a1d3751fddf3db69bc770eb8aae
permissions -rw-r--r--
Bug 1443954 - Part 3: Add support for RefCounted types to IPDL, r=bz,froydnj,baku This patch was reviewed in parts, however the intermediate states would not build: Bug 1443954 - Part 3A: Strip pointers from the argument to WriteParam and WriteIPDLParam before selecting the ParamTraits impl, r=froydnj Bug 1443954 - Part 3B: Move nsIAlertNotification serialization to the refcounted system, r=bz Bug 1443954 - Part 3C: Move geolocation serialization to the refcounted system, r=bz Bug 1443954 - Part 3D: Move nsIInputStream serialization to the refcounted system, r=baku Bug 1443954 - Part 3E: Move BlobImpl serialization to the refcounted system, r=baku Bug 1443954 - Part 3F: Correctly implement ParamTraits for actors after the ParamTraits changes, r=froydnj

diff --git jmorecfg.h jmorecfg.h
--- jmorecfg.h
+++ jmorecfg.h
@@ -9,16 +9,17 @@
  * For conditions of distribution and use, see the accompanying README.ijg
  * file.
  * This file contains additional configuration options that customize the
  * JPEG software for special applications or support machine-dependent
  * optimizations.  Most users will not need to touch this file.
+#include <stdint.h>
  * Maximum number of components (color channels) allowed in JPEG image.
  * To meet the letter of the JPEG spec, set this to 255.  However, darn
  * few applications need more than 4 channels (maybe 5 for CMYK + alpha
  * mask).  We recommend 10 as a reasonable compromise; use 4 if you are
  * really short on memory.  (Each allowed component costs a hundred or so
  * bytes of storage, whether actually used in an image or not.)
@@ -118,39 +119,25 @@ typedef char JOCTET;
  * They must be at least as wide as specified; but making them too big
  * won't cost a huge amount of memory, so we don't provide special
  * extraction code like we did for JSAMPLE.  (In other words, these
  * typedefs live at a different point on the speed/space tradeoff curve.)
 /* UINT8 must hold at least the values 0..255. */
-typedef unsigned char UINT8;
-#else /* not HAVE_UNSIGNED_CHAR */
-#ifdef __CHAR_UNSIGNED__
-typedef char UINT8;
-#else /* not __CHAR_UNSIGNED__ */
-typedef short UINT8;
-#endif /* __CHAR_UNSIGNED__ */
-#endif /* HAVE_UNSIGNED_CHAR */
+typedef uint8_t UINT8;
 /* UINT16 must hold at least the values 0..65535. */
-typedef unsigned short UINT16;
-#else /* not HAVE_UNSIGNED_SHORT */
-typedef unsigned int UINT16;
+typedef uint16_t UINT16;
 /* INT16 must hold at least the values -32768..32767. */
-#ifndef XMD_H                   /* X11/xmd.h correctly defines INT16 */
-typedef short INT16;
+typedef int16_t INT16;
 /* INT32 must hold at least signed 32-bit values.
  * NOTE: The INT32 typedef dates back to libjpeg v5 (1994.)  Integers were
  * sometimes 16-bit back then (MS-DOS), which is why INT32 is typedef'd to
  * long.  It also wasn't common (or at least as common) in 1994 for INT32 to be
  * defined by platform headers.  Since then, however, INT32 is defined in
  * several other common places:
@@ -167,25 +154,17 @@ typedef short INT16;
  * This is a recipe for conflict, since "long" and "int" aren't always
  * compatible types.  Since the definition of INT32 has technically been part
  * of the libjpeg API for more than 20 years, we can't remove it, but we do not
  * use it internally any longer.  We instead define a separate type (JLONG)
  * for internal use, which ensures that internal behavior will always be the
  * same regardless of any external headers that may be included.
-#ifndef XMD_H                   /* X11/xmd.h correctly defines INT32 */
-#ifndef _BASETSD_H_		/* Microsoft defines it in basetsd.h */
-#ifndef _BASETSD_H		/* MinGW is slightly different */
-#ifndef QGLOBAL_H		/* Qt defines it in qglobal.h */
-typedef long INT32;
+typedef int32_t INT32;
 /* Datatype used for image dimensions.  The JPEG standard only supports
  * images up to 64K*64K due to 16-bit fields in SOF markers.  Therefore
  * "unsigned int" is sufficient on all machines.  However, if you need to
  * handle larger images and you don't mind deviating from the spec, you
  * can change this datatype.  (Note that changing this datatype will
  * potentially require modifying the SIMD code.  The x86-64 SIMD extensions,
  * in particular, assume a 32-bit JDIMENSION.)