diff --git a/browser/components/nsBrowserContentHandler.js b/browser/components/nsBrowserContentHandler.js index b0f621f1b766..d118d69f7dde 100644 --- a/browser/components/nsBrowserContentHandler.js +++ b/browser/components/nsBrowserContentHandler.js @@ -909,7 +909,6 @@ var Module = { registerType("image/bmp"); registerType("image/x-icon"); registerType("image/vnd.microsoft.icon"); - registerType("image/x-xbitmap"); registerType("application/http-index-format"); var catMan = Components.classes["@mozilla.org/categorymanager;1"] diff --git a/configure.in b/configure.in index 5670f07eb2b1..81a14fd3c90d 100644 --- a/configure.in +++ b/configure.in @@ -4508,7 +4508,7 @@ MOZ_DBGRINFO_MODULES= MOZ_ENABLE_CANVAS=1 MOZ_ENABLE_CANVAS3D= MOZ_FEEDS=1 -MOZ_IMG_DECODERS_DEFAULT="png gif jpeg bmp xbm icon" +MOZ_IMG_DECODERS_DEFAULT="png gif jpeg bmp icon" MOZ_IMG_ENCODERS_DEFAULT="png jpeg" MOZ_JAVAXPCOM= MOZ_JSDEBUGGER=1 diff --git a/embedding/config/gre-installer-win.pkg b/embedding/config/gre-installer-win.pkg index 5ef878d94540..af5e779e0ecd 100644 --- a/embedding/config/gre-installer-win.pkg +++ b/embedding/config/gre-installer-win.pkg @@ -38,7 +38,6 @@ components\htmlparser.xpt ; imagelib ; components\imgbmp.dll -components\imgxbm.dll components\imgicon.dll components\imgicon.xpt components\imglib2.xpt diff --git a/embedding/config/gre-win b/embedding/config/gre-win index 2b4eb308056f..cf0ee0a28608 100644 --- a/embedding/config/gre-win +++ b/embedding/config/gre-win @@ -26,7 +26,6 @@ components\htmlparser.xpt ; imagelib ; components\imgbmp.dll -components\imgxbm.dll components\imgicon.dll components\imgicon.xpt components\imglib2.xpt diff --git a/modules/libpr0n/build/nsImageModule.cpp b/modules/libpr0n/build/nsImageModule.cpp index 4a53f1682f4c..990c5b8147f3 100644 --- a/modules/libpr0n/build/nsImageModule.cpp +++ b/modules/libpr0n/build/nsImageModule.cpp @@ -44,7 +44,6 @@ #define IMG_BUILD_bmp 1 #define IMG_BUILD_png 1 #define IMG_BUILD_jpeg 1 -#define IMG_BUILD_xbm 1 #endif #include "nsIDeviceContext.h" @@ -81,12 +80,6 @@ #include "nsJPEGDecoder.h" #endif -#ifdef IMG_BUILD_DECODER_xbm -// xbm -#include "nsXBMDecoder.h" -#endif - - #ifdef IMG_BUILD_ENCODER_png // png #include "nsPNGEncoder.h" @@ -133,11 +126,6 @@ NS_GENERIC_FACTORY_CONSTRUCTOR(nsPNGDecoder) NS_GENERIC_FACTORY_CONSTRUCTOR(nsPNGEncoder) #endif -#ifdef IMG_BUILD_DECODER_xbm -// xbm -NS_GENERIC_FACTORY_CONSTRUCTOR(nsXBMDecoder) -#endif - static const char* gImageMimeTypes[] = { #ifdef IMG_BUILD_DECODER_gif "image/gif", @@ -157,11 +145,6 @@ static const char* gImageMimeTypes[] = { "image/png", "image/x-png", #endif -#ifdef IMG_BUILD_DECODER_xbm - "image/x-xbitmap", - "image/x-xbm", - "image/xbm" -#endif }; static NS_METHOD ImageRegisterProc(nsIComponentManager *aCompMgr, @@ -293,22 +276,6 @@ static const nsModuleComponentInfo components[] = "@mozilla.org/image/encoder;2?type=image/png", nsPNGEncoderConstructor, }, #endif - -#ifdef IMG_BUILD_DECODER_xbm - // xbm - { "XBM Decoder", - NS_XBMDECODER_CID, - "@mozilla.org/image/decoder;2?type=image/x-xbitmap", - nsXBMDecoderConstructor, }, - { "XBM Decoder", - NS_XBMDECODER_CID, - "@mozilla.org/image/decoder;2?type=image/x-xbm", - nsXBMDecoderConstructor, }, - { "XBM Decoder", - NS_XBMDECODER_CID, - "@mozilla.org/image/decoder;2?type=image/xbm", - nsXBMDecoderConstructor, }, -#endif }; static nsresult diff --git a/modules/libpr0n/decoders/xbm/Makefile.in b/modules/libpr0n/decoders/xbm/Makefile.in deleted file mode 100644 index cf1f80283329..000000000000 --- a/modules/libpr0n/decoders/xbm/Makefile.in +++ /dev/null @@ -1,61 +0,0 @@ -# -# ***** BEGIN LICENSE BLOCK ***** -# Version: MPL 1.1/GPL 2.0/LGPL 2.1 -# -# The contents of this file are subject to the Mozilla Public License Version -# 1.1 (the "License"); you may not use this file except in compliance with -# the License. You may obtain a copy of the License at -# http://www.mozilla.org/MPL/ -# -# Software distributed under the License is distributed on an "AS IS" basis, -# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License -# for the specific language governing rights and limitations under the -# License. -# -# The Original Code is mozilla.org code. -# -# The Initial Developer of the Original Code is -# Netscape Communications Corporation. -# Portions created by the Initial Developer are Copyright (C) 2001 -# the Initial Developer. All Rights Reserved. -# -# Contributor(s): -# Christian Biesinger -# -# Alternatively, the contents of this file may be used under the terms of -# either the GNU General Public License Version 2 or later (the "GPL"), or -# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), -# in which case the provisions of the GPL or the LGPL are applicable instead -# of those above. If you wish to allow use of your version of this file only -# under the terms of either the GPL or the LGPL, and not to allow others to -# use your version of this file under the terms of the MPL, indicate your -# decision by deleting the provisions above and replace them with the notice -# and other provisions required by the GPL or the LGPL. If you do not delete -# the provisions above, a recipient may use your version of this file under -# the terms of any one of the MPL, the GPL or the LGPL. -# -# ***** END LICENSE BLOCK ***** - -DEPTH = ../../../.. -topsrcdir = @top_srcdir@ -srcdir = @srcdir@ -VPATH = @srcdir@ - -include $(DEPTH)/config/autoconf.mk - -MODULE = imgxbm -LIBRARY_NAME = imgxbm_s -FORCE_STATIC_LIB = 1 -MODULE_NAME = nsXBMModule -LIBXUL_LIBRARY = 1 - -REQUIRES = xpcom \ - string \ - gfx \ - thebes \ - imglib2 \ - $(NULL) - -CPPSRCS = nsXBMDecoder.cpp - -include $(topsrcdir)/config/rules.mk diff --git a/modules/libpr0n/decoders/xbm/nsXBMDecoder.cpp b/modules/libpr0n/decoders/xbm/nsXBMDecoder.cpp deleted file mode 100644 index b872d0e8fa73..000000000000 --- a/modules/libpr0n/decoders/xbm/nsXBMDecoder.cpp +++ /dev/null @@ -1,292 +0,0 @@ -/* vim:set tw=80 expandtab softtabstop=4 ts=4 sw=4: */ -/* ***** BEGIN LICENSE BLOCK ***** - * Version: MPL 1.1/GPL 2.0/LGPL 2.1 - * - * The contents of this file are subject to the Mozilla Public License Version - * 1.1 (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License - * for the specific language governing rights and limitations under the - * License. - * - * The Original Code is the Mozilla XBM Decoder. - * - * The Initial Developer of the Original Code is - * Christian Biesinger . - * Portions created by the Initial Developer are Copyright (C) 2001 - * the Initial Developer. All Rights Reserved. - * - * Contributor(s): - * Aaron Kaluszka - * - * Alternatively, the contents of this file may be used under the terms of - * either the GNU General Public License Version 2 or later (the "GPL"), or - * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), - * in which case the provisions of the GPL or the LGPL are applicable instead - * of those above. If you wish to allow use of your version of this file only - * under the terms of either the GPL or the LGPL, and not to allow others to - * use your version of this file under the terms of the MPL, indicate your - * decision by deleting the provisions above and replace them with the notice - * and other provisions required by the GPL or the LGPL. If you do not delete - * the provisions above, a recipient may use your version of this file under - * the terms of any one of the MPL, the GPL or the LGPL. - * - * ***** END LICENSE BLOCK ***** */ - -/* KNOWN BUGS: - * o first #define line is assumed to be width, second height */ - -#include -#include -#include - -#include "nsXBMDecoder.h" - -#include "nsIInputStream.h" -#include "nsIComponentManager.h" -#include "nsIInterfaceRequestorUtils.h" - -#include "imgILoad.h" - -#include "nsIProperties.h" -#include "nsISupportsPrimitives.h" - -#include "gfxColor.h" -#include "nsIInterfaceRequestorUtils.h" - -// Static colormap -static const PRUint32 kColors[2] = { - GFX_PACKED_PIXEL(0, 0, 0, 0), // Transparent - GFX_PACKED_PIXEL(255, 0, 0, 0) // Black -}; - -NS_IMPL_ISUPPORTS1(nsXBMDecoder, imgIDecoder) - -nsXBMDecoder::nsXBMDecoder() : mBuf(nsnull), mPos(nsnull), mImageData(nsnull) -{ -} - -nsXBMDecoder::~nsXBMDecoder() -{ - if (mBuf) - free(mBuf); -} - -NS_IMETHODIMP nsXBMDecoder::Init(imgILoad *aLoad) -{ - nsresult rv; - mObserver = do_QueryInterface(aLoad); - - mImage = do_CreateInstance("@mozilla.org/image/container;2", &rv); - if (NS_FAILED(rv)) - return rv; - - aLoad->SetImage(mImage); - - mCurRow = mBufSize = mWidth = mHeight = 0; - mState = RECV_HEADER; - - return NS_OK; -} - -NS_IMETHODIMP nsXBMDecoder::Close() -{ - mImage->DecodingComplete(); - - mObserver->OnStopContainer(nsnull, mImage); - mObserver->OnStopDecode(nsnull, NS_OK, nsnull); - mObserver = nsnull; - mImage = nsnull; - mImageData = nsnull; - - return NS_OK; -} - -NS_IMETHODIMP nsXBMDecoder::Flush() -{ - return NS_OK; -} - -NS_METHOD nsXBMDecoder::ReadSegCb(nsIInputStream* aIn, void* aClosure, - const char* aFromRawSegment, PRUint32 aToOffset, - PRUint32 aCount, PRUint32 *aWriteCount) { - nsXBMDecoder *decoder = reinterpret_cast(aClosure); - *aWriteCount = aCount; - - nsresult rv = decoder->ProcessData(aFromRawSegment, aCount); - - if (NS_FAILED(rv)) { - *aWriteCount = 0; - } - - return rv; -} - -NS_IMETHODIMP nsXBMDecoder::WriteFrom(nsIInputStream *aInStr, PRUint32 aCount, PRUint32 *aRetval) -{ - nsresult rv = aInStr->ReadSegments(ReadSegCb, this, aCount, aRetval); - - if (aCount != *aRetval) { - *aRetval = aCount; - return NS_ERROR_FAILURE; - } - - return rv; -} - -nsresult nsXBMDecoder::ProcessData(const char* aData, PRUint32 aCount) { - char *endPtr; - // calculate the offset since the absolute position might no longer - // be valid after realloc - const PRPtrdiff posOffset = mPos ? (mPos - mBuf) : 0; - - // expand the buffer to hold the new data - char* oldbuf = mBuf; - PRUint32 newbufsize = mBufSize + aCount + 1; - if (newbufsize < mBufSize) - mBuf = nsnull; // size wrapped around, give up - else - mBuf = (char*)realloc(mBuf, newbufsize); - - if (!mBuf) { - mState = RECV_DONE; - if (oldbuf) - free(oldbuf); - return NS_ERROR_OUT_OF_MEMORY; - } - memcpy(mBuf + mBufSize, aData, aCount); - mBufSize += aCount; - mBuf[mBufSize] = 0; - mPos = mBuf + posOffset; - - // process latest data according to current state - if (mState == RECV_HEADER) { - mPos = strstr(mBuf, "#define"); - if (!mPos) - // #define not found. return for now, waiting for more data. - return NS_OK; - - // Convert width and height to numbers. Convert hotspot for cursor functionality, if present - if (sscanf(mPos, "#define %*s %u #define %*s %u #define %*s %u #define %*s %u unsigned", &mWidth, &mHeight, &mXHotspot, &mYHotspot) == 4) - mIsCursor = PR_TRUE; - else if (sscanf(mPos, "#define %*s %u #define %*s %u unsigned", &mWidth, &mHeight) == 2) - mIsCursor = PR_FALSE; - else - // No identifiers found. Return for now, waiting for more data. - return NS_OK; - - // Check for X11 flavor - if (strstr(mPos, " char ")) - mIsX10 = PR_FALSE; - // Check for X10 flavor - else if (strstr(mPos, " short ")) - mIsX10 = PR_TRUE; - else - // Neither identifier found. Return for now, waiting for more data. - return NS_OK; - - mImage->Init(mWidth, mHeight, mObserver); - mObserver->OnStartContainer(nsnull, mImage); - - PRUint32 imageLen; - nsresult rv = mImage->AppendFrame(0, 0, mWidth, mHeight, gfxASurface::ImageFormatARGB32, - (PRUint8**)&mImageData, &imageLen); - if (NS_FAILED(rv)) - return rv; - - if (mIsCursor) { - nsCOMPtr props(do_QueryInterface(mImage)); - if (props) { - nsCOMPtr intwrapx = do_CreateInstance("@mozilla.org/supports-PRUint32;1"); - nsCOMPtr intwrapy = do_CreateInstance("@mozilla.org/supports-PRUint32;1"); - - if (intwrapx && intwrapy) { - intwrapx->SetData(mXHotspot); - intwrapy->SetData(mYHotspot); - - props->Set("hotspotX", intwrapx); - props->Set("hotspotY", intwrapy); - } - } - } - - mObserver->OnStartFrame(nsnull, 0); - - mState = RECV_SEEK; - - mCurRow = 0; - mCurCol = 0; - - } - if (mState == RECV_SEEK) { - if ((endPtr = strchr(mPos, '{')) != NULL) { - mPos = endPtr+1; - mState = RECV_DATA; - } else { - mPos = mBuf + mBufSize; - return NS_OK; - } - } - if (mState == RECV_DATA) { - PRUint32 *ar = mImageData + mCurRow * mWidth + mCurCol; - - do { - PRUint32 pixel = strtoul(mPos, &endPtr, 0); - if (endPtr == mPos) - return NS_OK; // no number to be found - need more data - if (!*endPtr) - return NS_OK; // number at the end - might be missing a digit - if (pixel == 0 && *endPtr == 'x') - return NS_OK; // 0x at the end, actual number is missing - while (*endPtr && isspace(*endPtr)) - endPtr++; // skip whitespace looking for comma - - if (!*endPtr) { - // Need more data - return NS_OK; - } - if (*endPtr != ',') { - *endPtr = '\0'; - mState = RECV_DONE; // strange character (or ending '}') - } else { - // Skip the comma - endPtr++; - } - mPos = endPtr; - PRUint32 numPixels = 8; - if (mIsX10) { // X10 use 16bits values, but bytes are swapped - pixel = (pixel >> 8) | ((pixel&0xFF) << 8); - numPixels = 16; - } - numPixels = PR_MIN(numPixels, mWidth - mCurCol); - for (PRUint32 i = numPixels; i > 0; --i) { - *ar++ = kColors[pixel & 1]; - pixel >>= 1; - } - mCurCol += numPixels; - if (mCurCol == mWidth || mState == RECV_DONE) { - nsIntRect r(0, mCurRow, mWidth, 1); - nsresult rv = mImage->FrameUpdated(0, r); - if (NS_FAILED(rv)) { - return rv; - } - - mObserver->OnDataAvailable(nsnull, PR_TRUE, &r); - - mCurRow++; - if (mCurRow == mHeight) { - mState = RECV_DONE; - return mObserver->OnStopFrame(nsnull, 0); - } - mCurCol = 0; - } - } while ((mState == RECV_DATA) && *mPos); - } - - return NS_OK; -} - - diff --git a/modules/libpr0n/decoders/xbm/nsXBMDecoder.h b/modules/libpr0n/decoders/xbm/nsXBMDecoder.h deleted file mode 100644 index 2e0cc0346806..000000000000 --- a/modules/libpr0n/decoders/xbm/nsXBMDecoder.h +++ /dev/null @@ -1,101 +0,0 @@ -/* vim:set tw=80 expandtab softtabstop=4 ts=4 sw=4: */ -/* ***** BEGIN LICENSE BLOCK ***** - * Version: MPL 1.1/GPL 2.0/LGPL 2.1 - * - * The contents of this file are subject to the Mozilla Public License Version - * 1.1 (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License - * for the specific language governing rights and limitations under the - * License. - * - * The Original Code is the Mozilla XBM Decoder. - * - * The Initial Developer of the Original Code is - * Christian Biesinger . - * Portions created by the Initial Developer are Copyright (C) 2001 - * the Initial Developer. All Rights Reserved. - * - * Contributor(s): - * Aaron Kaluszka - * - * Alternatively, the contents of this file may be used under the terms of - * either the GNU General Public License Version 2 or later (the "GPL"), or - * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), - * in which case the provisions of the GPL or the LGPL are applicable instead - * of those above. If you wish to allow use of your version of this file only - * under the terms of either the GPL or the LGPL, and not to allow others to - * use your version of this file under the terms of the MPL, indicate your - * decision by deleting the provisions above and replace them with the notice - * and other provisions required by the GPL or the LGPL. If you do not delete - * the provisions above, a recipient may use your version of this file under - * the terms of any one of the MPL, the GPL or the LGPL. - * - * ***** END LICENSE BLOCK ***** */ - - -#ifndef _nsXBMDecoder_h -#define _nsXBMDecoder_h - -#include "nsCOMPtr.h" -#include "imgIDecoder.h" -#include "imgIContainer.h" -#include "imgIDecoderObserver.h" - -#define NS_XBMDECODER_CID \ -{ /* {dbfd145d-3298-4f3c-902f-2c5e1a1494ce} */ \ - 0xdbfd145d, \ - 0x3298, \ - 0x4f3c, \ - { 0x90, 0x2f, 0x2c, 0x5e, 0x1a, 0x14, 0x94, 0xce } \ -} - -class nsXBMDecoder : public imgIDecoder -{ -public: - NS_DECL_ISUPPORTS - NS_DECL_IMGIDECODER - - nsXBMDecoder(); - virtual ~nsXBMDecoder(); - - nsresult ProcessData(const char* aData, PRUint32 aCount); -private: - static NS_METHOD ReadSegCb(nsIInputStream* aIn, void* aClosure, - const char* aFromRawSegment, PRUint32 aToOffset, - PRUint32 aCount, PRUint32 *aWriteCount); - - nsCOMPtr mObserver; - - nsCOMPtr mImage; - - PRUint32 mCurRow; - PRUint32 mCurCol; - - char* mBuf; // Holds the received data - char* mPos; - PRUint32 mBufSize; // number of bytes in mBuf - - PRUint32 mWidth; - PRUint32 mHeight; - PRUint32 mXHotspot; - PRUint32 mYHotspot; - - PRUint32* mImageData; // Pointer into the Cairo image data - - PRPackedBool mIsCursor; - PRPackedBool mIsX10; // X10 flavor XBM? - - enum { - RECV_HEADER, - RECV_SEEK, - RECV_DATA, - RECV_DONE - } mState; -}; - - -#endif diff --git a/modules/libpr0n/src/imgLoader.cpp b/modules/libpr0n/src/imgLoader.cpp index 50014733652a..d14b011f342d 100644 --- a/modules/libpr0n/src/imgLoader.cpp +++ b/modules/libpr0n/src/imgLoader.cpp @@ -1681,9 +1681,6 @@ nsresult imgLoader::GetMimeTypeFromContent(const char* aContents, PRUint32 aLeng aContentType.AssignLiteral("image/x-icon"); } - else if (aLength >= 8 && !nsCRT::strncmp(aContents, "#define ", 8)) { - aContentType.AssignLiteral("image/x-xbitmap"); - } else { /* none of the above? I give up */ return NS_ERROR_NOT_AVAILABLE; diff --git a/toolkit/locales/en-US/chrome/global/filepicker.properties b/toolkit/locales/en-US/chrome/global/filepicker.properties index 3fc9d36ffde2..e250be0e9b6e 100644 --- a/toolkit/locales/en-US/chrome/global/filepicker.properties +++ b/toolkit/locales/en-US/chrome/global/filepicker.properties @@ -7,7 +7,6 @@ htmlFilter=*.html; *.htm; *.shtml; *.xhtml textTitle=Text Files textFilter=*.txt; *.text imageTitle=Image Files -imageFilter=*.jpg; *.jpeg; *.gif; *.png; *.bmp; *.xbm; *.ico xmlTitle=XML Files xmlFilter=*.xml xulTitle=XUL Files diff --git a/toolkit/toolkit-makefiles.sh b/toolkit/toolkit-makefiles.sh index c4163e3ec6d0..77094a4f0d59 100644 --- a/toolkit/toolkit-makefiles.sh +++ b/toolkit/toolkit-makefiles.sh @@ -809,7 +809,6 @@ MAKEFILES_libpr0n=" modules/libpr0n/decoders/icon/win/Makefile modules/libpr0n/decoders/icon/gtk/Makefile modules/libpr0n/decoders/icon/beos/Makefile - modules/libpr0n/decoders/xbm/Makefile modules/libpr0n/encoders/Makefile modules/libpr0n/encoders/png/Makefile modules/libpr0n/encoders/jpeg/Makefile diff --git a/widget/src/xpwidgets/nsBaseFilePicker.cpp b/widget/src/xpwidgets/nsBaseFilePicker.cpp index 70152a4409d1..0ca2682b5b28 100644 --- a/widget/src/xpwidgets/nsBaseFilePicker.cpp +++ b/widget/src/xpwidgets/nsBaseFilePicker.cpp @@ -153,8 +153,7 @@ nsBaseFilePicker::AppendFilters(PRInt32 aFilterMask) } if (aFilterMask & filterImages) { stringBundle->GetStringFromName(NS_LITERAL_STRING("imageTitle").get(), getter_Copies(title)); - stringBundle->GetStringFromName(NS_LITERAL_STRING("imageFilter").get(), getter_Copies(filter)); - AppendFilter(title,filter); + AppendFilter(title,NS_LITERAL_STRING("*.jpg; *.jpeg; *.gif; *.png; *.bmp; *.ico")); } if (aFilterMask & filterXML) { stringBundle->GetStringFromName(NS_LITERAL_STRING("xmlTitle").get(), getter_Copies(title));