diff --git a/netwerk/build/nsNetModule.cpp b/netwerk/build/nsNetModule.cpp index 5f697f206086..1aba5c948e1c 100644 --- a/netwerk/build/nsNetModule.cpp +++ b/netwerk/build/nsNetModule.cpp @@ -42,11 +42,7 @@ #include "nsNetCID.h" -#if defined(XP_MACOSX) -#if !defined(__LP64__) -#define BUILD_APPLEFILE_DECODER 1 -#endif -#else +#ifndef XP_MACOSX #define BUILD_BINHEX_DECODER 1 #endif @@ -143,15 +139,6 @@ net_NewIncrementalDownload(nsISupports *, const nsIID &, void **); /////////////////////////////////////////////////////////////////////////////// -#include "nsStreamConverterService.h" - -#ifdef BUILD_APPLEFILE_DECODER -#include "nsAppleFileDecoder.h" -NS_GENERIC_FACTORY_CONSTRUCTOR(nsAppleFileDecoder) -#endif - -/////////////////////////////////////////////////////////////////////////////// - #include "nsMIMEHeaderParamImpl.h" NS_GENERIC_FACTORY_CONSTRUCTOR(nsMIMEHeaderParamImpl) @@ -376,6 +363,7 @@ NS_GENERIC_FACTORY_CONSTRUCTOR(nsAndroidNetworkLinkService) nsresult NS_NewFTPDirListingConv(nsFTPDirListingConv** result); #endif +#include "nsStreamConverterService.h" #include "nsMultiMixedConv.h" #include "nsHTTPCompressConv.h" #include "mozTXTToHTMLConv.h" @@ -721,9 +709,6 @@ NS_DEFINE_NAMED_CID(NS_MIMEINPUTSTREAM_CID); NS_DEFINE_NAMED_CID(NS_PROTOCOLPROXYSERVICE_CID); NS_DEFINE_NAMED_CID(NS_STREAMCONVERTERSERVICE_CID); NS_DEFINE_NAMED_CID(NS_DASHBOARD_CID); -#ifdef BUILD_APPLEFILE_DECODER -NS_DEFINE_NAMED_CID(NS_APPLEFILEDECODER_CID); -#endif #ifdef NECKO_PROTOCOL_ftp NS_DEFINE_NAMED_CID(NS_FTPDIRLISTINGCONVERTER_CID); #endif @@ -859,9 +844,6 @@ static const mozilla::Module::CIDEntry kNeckoCIDs[] = { { &kNS_PROTOCOLPROXYSERVICE_CID, true, nullptr, nsProtocolProxyServiceConstructor }, { &kNS_STREAMCONVERTERSERVICE_CID, false, nullptr, CreateNewStreamConvServiceFactory }, { &kNS_DASHBOARD_CID, false, nullptr, mozilla::net::DashboardConstructor }, -#ifdef BUILD_APPLEFILE_DECODER - { &kNS_APPLEFILEDECODER_CID, false, nullptr, nsAppleFileDecoderConstructor }, -#endif #ifdef NECKO_PROTOCOL_ftp { &kNS_FTPDIRLISTINGCONVERTER_CID, false, nullptr, CreateNewFTPDirListingConv }, #endif @@ -999,9 +981,6 @@ static const mozilla::Module::ContractIDEntry kNeckoContracts[] = { { NS_PROTOCOLPROXYSERVICE_CONTRACTID, &kNS_PROTOCOLPROXYSERVICE_CID }, { NS_STREAMCONVERTERSERVICE_CONTRACTID, &kNS_STREAMCONVERTERSERVICE_CID }, { NS_DASHBOARD_CONTRACTID, &kNS_DASHBOARD_CID }, -#ifdef BUILD_APPLEFILE_DECODER - { NS_IAPPLEFILEDECODER_CONTRACTID, &kNS_APPLEFILEDECODER_CID }, -#endif #ifdef NECKO_PROTOCOL_ftp { NS_ISTREAMCONVERTER_KEY FTP_TO_INDEX, &kNS_FTPDIRLISTINGCONVERTER_CID }, #endif diff --git a/netwerk/streamconv/public/moz.build b/netwerk/streamconv/public/moz.build index 47ced4968020..a50aa3a87296 100644 --- a/netwerk/streamconv/public/moz.build +++ b/netwerk/streamconv/public/moz.build @@ -13,11 +13,6 @@ XPIDL_SOURCES += [ 'nsITXTToHTMLConv.idl', ] -if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa': - XPIDL_SOURCES += [ - 'nsIAppleFileDecoder.idl', - ] - XPIDL_MODULE = 'necko_strconv' MODULE = 'necko' diff --git a/netwerk/streamconv/public/nsIAppleFileDecoder.idl b/netwerk/streamconv/public/nsIAppleFileDecoder.idl deleted file mode 100644 index 13b554a49fcf..000000000000 --- a/netwerk/streamconv/public/nsIAppleFileDecoder.idl +++ /dev/null @@ -1,33 +0,0 @@ -/* -*- Mode: IDL; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* 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 "nsIOutputStream.idl" - -interface nsIFile; - -%{C++ -#define NS_APPLEFILEDECODER_CID \ -{ /* 3a2bb281-64b8-11d5-9daa-bb433143c53c */ \ - 0x3a2bb281, \ - 0x64b8, \ - 0x11d5, \ - {0x9d, 0xaa, 0xbb, 0x43, 0x31, 0x43, 0xc5, 0x3c} \ -} - -#define NS_IAPPLEFILEDECODER_CONTRACTID "@mozilla.org/applefiledecoder;1" -%} - - -[scriptable, uuid(3a2bb280-64b8-11d5-9daa-bb433143c53c)] -interface nsIAppleFileDecoder : nsIOutputStream { - - /** - * Initialize the Apple File Decoder Output stream. - * - * @param outputStream The output stream which the AppleFile Decoder will write to the data fork. - * @param outputFile The output file which the AppleFile Decoder will write to the resource fork. - */ - void Initialize(in nsIOutputStream outputStream, in nsIFile outputFile); -}; diff --git a/netwerk/streamconv/src/moz.build b/netwerk/streamconv/src/moz.build index 8c27f545d813..1024c9fd5cc3 100644 --- a/netwerk/streamconv/src/moz.build +++ b/netwerk/streamconv/src/moz.build @@ -12,13 +12,6 @@ CPP_SOURCES += [ 'nsStreamConverterService.cpp', ] -if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa' and CONFIG['OS_TEST'] != 'x86_64': - # nsAppleFileDecoder.cpp has warnings I don't understand. - FAIL_ON_WARNINGS = False - CPP_SOURCES += [ - 'nsAppleFileDecoder.cpp', - ] - LIBRARY_NAME = 'nkconv_s' LIBXUL_LIBRARY = True diff --git a/netwerk/streamconv/src/nsAppleFileDecoder.cpp b/netwerk/streamconv/src/nsAppleFileDecoder.cpp deleted file mode 100644 index ded6764d8396..000000000000 --- a/netwerk/streamconv/src/nsAppleFileDecoder.cpp +++ /dev/null @@ -1,440 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* 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 "nsAppleFileDecoder.h" -#include "prmem.h" -#include "prnetdb.h" -#include "nsCRT.h" - - -NS_IMPL_ISUPPORTS2(nsAppleFileDecoder, nsIAppleFileDecoder, nsIOutputStream) - -nsAppleFileDecoder::nsAppleFileDecoder() -{ - m_state = parseHeaders; - m_dataBufferLength = 0; - m_dataBuffer = (unsigned char*) PR_MALLOC(MAX_BUFFERSIZE); - m_entries = nullptr; - m_rfRefNum = -1; - m_totalDataForkWritten = 0; - m_totalResourceForkWritten = 0; - m_headerOk = false; - - m_comment[0] = 0; - memset(&m_dates, 0, sizeof(m_dates)); - memset(&m_finderInfo, 0, sizeof(m_dates)); - memset(&m_finderExtraInfo, 0, sizeof(m_dates)); -} - -nsAppleFileDecoder::~nsAppleFileDecoder() -{ - if (m_output) - Close(); - - PR_FREEIF(m_dataBuffer); - if (m_entries) - delete [] m_entries; -} - -NS_IMETHODIMP nsAppleFileDecoder::Initialize(nsIOutputStream *outputStream, nsIFile *outputFile) -{ - m_output = outputStream; - - nsCOMPtr macFile = do_QueryInterface(outputFile); - bool saveFollowLinks; - macFile->GetFollowLinks(&saveFollowLinks); - macFile->SetFollowLinks(true); - macFile->GetFSSpec(&m_fsFileSpec); - macFile->SetFollowLinks(saveFollowLinks); - - m_offset = 0; - m_dataForkOffset = 0; - - return NS_OK; -} - -NS_IMETHODIMP nsAppleFileDecoder::Close(void) -{ - nsresult rv; - rv = m_output->Close(); - - int32_t i; - - if (m_rfRefNum != -1) - FSClose(m_rfRefNum); - - /* Check if the file is complete and if it's the case, write file attributes */ - if (m_headerOk) - { - bool dataOk = true; /* It's ok if the file doesn't have a datafork, therefore set it to true by default. */ - if (m_headers.magic == APPLESINGLE_MAGIC) - { - for (i = 0; i < m_headers.entriesCount; i ++) - if (ENT_DFORK == m_entries[i].id) - { - dataOk = (bool)(m_totalDataForkWritten == m_entries[i].length); - break; - } - } - - bool resourceOk = FALSE; - for (i = 0; i < m_headers.entriesCount; i ++) - if (ENT_RFORK == m_entries[i].id) - { - resourceOk = (bool)(m_totalResourceForkWritten == m_entries[i].length); - break; - } - - if (dataOk && resourceOk) - { - HFileInfo *fpb; - CInfoPBRec cipbr; - - fpb = (HFileInfo *) &cipbr; - fpb->ioVRefNum = m_fsFileSpec.vRefNum; - fpb->ioDirID = m_fsFileSpec.parID; - fpb->ioNamePtr = m_fsFileSpec.name; - fpb->ioFDirIndex = 0; - PBGetCatInfoSync(&cipbr); - - /* set finder info */ - memcpy(&fpb->ioFlFndrInfo, &m_finderInfo, sizeof (FInfo)); - memcpy(&fpb->ioFlXFndrInfo, &m_finderExtraInfo, sizeof (FXInfo)); - fpb->ioFlFndrInfo.fdFlags &= 0xfc00; /* clear flags maintained by finder */ - - /* set file dates */ - fpb->ioFlCrDat = m_dates.create - CONVERT_TIME; - fpb->ioFlMdDat = m_dates.modify - CONVERT_TIME; - fpb->ioFlBkDat = m_dates.backup - CONVERT_TIME; - - /* update file info */ - fpb->ioDirID = fpb->ioFlParID; - PBSetCatInfoSync(&cipbr); - - /* set comment */ - IOParam vinfo; - GetVolParmsInfoBuffer vp; - DTPBRec dtp; - - memset((void *) &vinfo, 0, sizeof (vinfo)); - vinfo.ioVRefNum = fpb->ioVRefNum; - vinfo.ioBuffer = (Ptr) &vp; - vinfo.ioReqCount = sizeof (vp); - if (PBHGetVolParmsSync((HParmBlkPtr) &vinfo) == noErr && ((vp.vMAttrib >> bHasDesktopMgr) & 1)) - { - memset((void *) &dtp, 0, sizeof (dtp)); - dtp.ioVRefNum = fpb->ioVRefNum; - if (PBDTGetPath(&dtp) == noErr) - { - dtp.ioDTBuffer = (Ptr) &m_comment[1]; - dtp.ioNamePtr = fpb->ioNamePtr; - dtp.ioDirID = fpb->ioDirID; - dtp.ioDTReqCount = m_comment[0]; - if (PBDTSetCommentSync(&dtp) == noErr) - PBDTFlushSync(&dtp); - } - } - } - } - - /* setting m_headerOk to false will prevent us to reprocess the header in case the Close function is called several time*/ - m_headerOk = false; - - return rv; -} - -NS_IMETHODIMP nsAppleFileDecoder::Flush(void) -{ - return m_output->Flush(); -} - -NS_IMETHODIMP nsAppleFileDecoder::WriteFrom(nsIInputStream *inStr, uint32_t count, uint32_t *_retval) -{ - return m_output->WriteFrom(inStr, count, _retval); -} - -NS_IMETHODIMP nsAppleFileDecoder::WriteSegments(nsReadSegmentFun reader, void * closure, uint32_t count, uint32_t *_retval) -{ - return m_output->WriteSegments(reader, closure, count, _retval); -} - -NS_IMETHODIMP nsAppleFileDecoder::IsNonBlocking(bool *aNonBlocking) -{ - return m_output->IsNonBlocking(aNonBlocking); -} - -NS_IMETHODIMP nsAppleFileDecoder::Write(const char *buffer, uint32_t bufferSize, uint32_t* writeCount) -{ - /* WARNING: to simplify my life, I presume that I should get all appledouble headers in the first block, - else I would have to implement a buffer */ - - const char * buffPtr = buffer; - uint32_t dataCount; - int32_t i; - nsresult rv = NS_OK; - - *writeCount = 0; - - while (bufferSize > 0 && NS_SUCCEEDED(rv)) - { - switch (m_state) - { - case parseHeaders : - dataCount = sizeof(ap_header) - m_dataBufferLength; - if (dataCount > bufferSize) - dataCount = bufferSize; - memcpy(&m_dataBuffer[m_dataBufferLength], buffPtr, dataCount); - m_dataBufferLength += dataCount; - - if (m_dataBufferLength == sizeof(ap_header)) - { - memcpy(&m_headers, m_dataBuffer, sizeof(ap_header)); - m_headers.magic = (int32_t)PR_ntohl((uint32_t)m_headers.magic); - m_headers.version = (int32_t)PR_ntohl((uint32_t)m_headers.version); - // m_headers.fill is required to be all zeroes; no endian issues - m_headers.entriesCount = - (int16_t)PR_ntohs((uint16_t)m_headers.entriesCount); - - /* Check header to be sure we are dealing with the right kind of data, else just write it to the data fork. */ - if ((m_headers.magic == APPLEDOUBLE_MAGIC || m_headers.magic == APPLESINGLE_MAGIC) && - m_headers.version == VERSION && m_headers.entriesCount) - { - /* Just to be sure, the filler must contains only 0 */ - for (i = 0; i < 4 && m_headers.fill[i] == 0L; i ++) - ; - if (i == 4) - m_state = parseEntries; - } - m_dataBufferLength = 0; - - if (m_state == parseHeaders) - { - dataCount = 0; - m_state = parseWriteThrough; - } - } - break; - - case parseEntries : - { - if (!m_entries) - { - m_entries = new ap_entry[m_headers.entriesCount]; - if (!m_entries) - return NS_ERROR_OUT_OF_MEMORY; - } - uint32_t entriesSize = sizeof(ap_entry) * m_headers.entriesCount; - dataCount = entriesSize - m_dataBufferLength; - if (dataCount > bufferSize) - dataCount = bufferSize; - memcpy(&m_dataBuffer[m_dataBufferLength], buffPtr, dataCount); - m_dataBufferLength += dataCount; - - if (m_dataBufferLength == entriesSize) - { - for (i = 0; i < m_headers.entriesCount; i ++) - { - memcpy(&m_entries[i], &m_dataBuffer[i * sizeof(ap_entry)], sizeof(ap_entry)); - m_entries[i].id = (int32_t)PR_ntohl((uint32_t)m_entries[i].id); - m_entries[i].offset = - (int32_t)PR_ntohl((uint32_t)m_entries[i].offset); - m_entries[i].length = - (int32_t)PR_ntohl((uint32_t)m_entries[i].length); - if (m_headers.magic == APPLEDOUBLE_MAGIC) - { - uint32_t offset = m_entries[i].offset + m_entries[i].length; - if (offset > m_dataForkOffset) - m_dataForkOffset = offset; - } - } - m_headerOk = true; - m_state = parseLookupPart; - } - } - break; - - case parseLookupPart : - /* which part are we parsing? */ - m_currentPartID = -1; - for (i = 0; i < m_headers.entriesCount; i ++) - if (m_offset == m_entries[i].offset && m_entries[i].length) - { - m_currentPartID = m_entries[i].id; - m_currentPartLength = m_entries[i].length; - m_currentPartCount = 0; - - switch (m_currentPartID) - { - case ENT_DFORK : m_state = parseDataFork; break; - case ENT_RFORK : m_state = parseResourceFork; break; - - case ENT_COMMENT : - case ENT_DATES : - case ENT_FINFO : - m_dataBufferLength = 0; - m_state = parsePart; - break; - - default : m_state = parseSkipPart; break; - } - break; - } - - if (m_currentPartID == -1) - { - /* maybe is the datafork of an appledouble file? */ - if (m_offset == m_dataForkOffset) - { - m_currentPartID = ENT_DFORK; - m_currentPartLength = -1; - m_currentPartCount = 0; - m_state = parseDataFork; - } - else - dataCount = 1; - } - break; - - case parsePart : - dataCount = m_currentPartLength - m_dataBufferLength; - if (dataCount > bufferSize) - dataCount = bufferSize; - memcpy(&m_dataBuffer[m_dataBufferLength], buffPtr, dataCount); - m_dataBufferLength += dataCount; - - if (m_dataBufferLength == m_currentPartLength) - { - switch (m_currentPartID) - { - case ENT_COMMENT : - m_comment[0] = m_currentPartLength > 255 ? 255 : m_currentPartLength; - memcpy(&m_comment[1], buffPtr, m_comment[0]); - break; - case ENT_DATES : - if (m_currentPartLength == sizeof(m_dates)) { - memcpy(&m_dates, buffPtr, m_currentPartLength); - m_dates.create = (int32_t)PR_ntohl((uint32_t)m_dates.create); - m_dates.modify = (int32_t)PR_ntohl((uint32_t)m_dates.modify); - m_dates.backup = (int32_t)PR_ntohl((uint32_t)m_dates.backup); - m_dates.access = (int32_t)PR_ntohl((uint32_t)m_dates.access); - } - break; - case ENT_FINFO : - if (m_currentPartLength == (sizeof(m_finderInfo) + sizeof(m_finderExtraInfo))) - { - memcpy(&m_finderInfo, buffPtr, sizeof(m_finderInfo)); - // OSType (four character codes) are still integers; swap them. - m_finderInfo.fdType = - (OSType)PR_ntohl((uint32_t)m_finderInfo.fdType); - m_finderInfo.fdCreator = - (OSType)PR_ntohl((uint32_t)m_finderInfo.fdCreator); - m_finderInfo.fdFlags = - (UInt16)PR_ntohs((uint16_t)m_finderInfo.fdFlags); - m_finderInfo.fdLocation.v = - (short)PR_ntohs((uint16_t)m_finderInfo.fdLocation.v); - m_finderInfo.fdLocation.h = - (short)PR_ntohs((uint16_t)m_finderInfo.fdLocation.h); - m_finderInfo.fdFldr = - (SInt16)PR_ntohs((uint16_t)m_finderInfo.fdFldr); - - memcpy(&m_finderExtraInfo, buffPtr + sizeof(m_finderInfo), sizeof(m_finderExtraInfo)); - m_finderExtraInfo.fdIconID = - (SInt16)PR_ntohs((uint16_t)m_finderExtraInfo.fdIconID); - m_finderExtraInfo.fdReserved[0] = - (SInt16)PR_ntohs((uint16_t)m_finderExtraInfo.fdReserved[0]); - m_finderExtraInfo.fdReserved[1] = - (SInt16)PR_ntohs((uint16_t)m_finderExtraInfo.fdReserved[1]); - m_finderExtraInfo.fdReserved[2] = - (SInt16)PR_ntohs((uint16_t)m_finderExtraInfo.fdReserved[2]); - // fdScript is a byte - // fdXFlags is a byte - m_finderExtraInfo.fdComment = - (SInt16)PR_ntohs((uint16_t)m_finderExtraInfo.fdComment); - m_finderExtraInfo.fdPutAway = - (SInt32)PR_ntohl((uint32_t)m_finderExtraInfo.fdPutAway); - } - break; - } - m_state = parseLookupPart; - } - break; - - case parseSkipPart : - dataCount = m_currentPartLength - m_currentPartCount; - if (dataCount > bufferSize) - dataCount = bufferSize; - else - m_state = parseLookupPart; - break; - - case parseDataFork : - if (m_headers.magic == APPLEDOUBLE_MAGIC) - dataCount = bufferSize; - else - { - dataCount = m_currentPartLength - m_currentPartCount; - if (dataCount > bufferSize) - dataCount = bufferSize; - else - m_state = parseLookupPart; - } - - if (m_output) - { - uint32_t writeCount; - rv = m_output->Write((const char *)buffPtr, dataCount, &writeCount); - if (dataCount != writeCount) - rv = NS_ERROR_FAILURE; - m_totalDataForkWritten += dataCount; - } - - break; - - case parseResourceFork : - { - dataCount = m_currentPartLength - m_currentPartCount; - if (dataCount > bufferSize) - dataCount = bufferSize; - else - m_state = parseLookupPart; - - if (m_rfRefNum == -1) - { - if (noErr != FSpOpenRF(&m_fsFileSpec, fsWrPerm, &m_rfRefNum)) - return NS_ERROR_FAILURE; - } - - long count = dataCount; - if (noErr != FSWrite(m_rfRefNum, &count, buffPtr) || count != dataCount) - return NS_ERROR_FAILURE; - m_totalResourceForkWritten += dataCount; - } - break; - - case parseWriteThrough : - dataCount = bufferSize; - if (m_output) - { - uint32_t writeCount; - rv = m_output->Write((const char *)buffPtr, dataCount, &writeCount); - if (dataCount != writeCount) - rv = NS_ERROR_FAILURE; - } - break; - } - - if (dataCount) - { - *writeCount += dataCount; - bufferSize -= dataCount; - buffPtr += dataCount; - m_currentPartCount += dataCount; - m_offset += dataCount; - dataCount = 0; - } - } - - return rv; -} diff --git a/netwerk/streamconv/src/nsAppleFileDecoder.h b/netwerk/streamconv/src/nsAppleFileDecoder.h deleted file mode 100644 index d9774b7a36d9..000000000000 --- a/netwerk/streamconv/src/nsAppleFileDecoder.h +++ /dev/null @@ -1,114 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* 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/. */ - -#ifndef nsAppleFileDecoder_h__ -#define nsAppleFileDecoder_h__ - -#include "nsIAppleFileDecoder.h" -#include "nsILocalFileMac.h" - -/* -** applefile definitions used -*/ -#if PRAGMA_STRUCT_ALIGN - #pragma options align=mac68k -#endif - -#define APPLESINGLE_MAGIC 0x00051600L -#define APPLEDOUBLE_MAGIC 0x00051607L -#define VERSION 0x00020000 - -#define NUM_ENTRIES 6 - -#define ENT_DFORK 1L -#define ENT_RFORK 2L -#define ENT_NAME 3L -#define ENT_COMMENT 4L -#define ENT_DATES 8L -#define ENT_FINFO 9L - -#define CONVERT_TIME 1265437696L - -/* -** data type used in the header decoder. -*/ -typedef struct ap_header -{ - int32_t magic; - int32_t version; - int32_t fill[4]; - int16_t entriesCount; - -} ap_header; - -typedef struct ap_entry -{ - int32_t id; - int32_t offset; - int32_t length; - -} ap_entry; - -typedef struct ap_dates -{ - int32_t create, modify, backup, access; - -} ap_dates; - -#if PRAGMA_STRUCT_ALIGN - #pragma options align=reset -#endif - -/* -**Error codes -*/ -enum { - errADNotEnoughData = -12099, - errADNotSupported, - errADBadVersion -}; - - -class nsAppleFileDecoder : public nsIAppleFileDecoder -{ -public: - NS_DECL_ISUPPORTS - NS_DECL_NSIOUTPUTSTREAM - NS_DECL_NSIAPPLEFILEDECODER - - nsAppleFileDecoder(); - virtual ~nsAppleFileDecoder(); - -private: - #define MAX_BUFFERSIZE 1024 - enum ParserState {parseHeaders, parseEntries, parseLookupPart, parsePart, parseSkipPart, - parseDataFork, parseResourceFork, parseWriteThrough}; - - nsCOMPtr m_output; - FSSpec m_fsFileSpec; - SInt16 m_rfRefNum; - - unsigned char * m_dataBuffer; - int32_t m_dataBufferLength; - ParserState m_state; - ap_header m_headers; - ap_entry * m_entries; - int32_t m_offset; - int32_t m_dataForkOffset; - int32_t m_totalDataForkWritten; - int32_t m_totalResourceForkWritten; - bool m_headerOk; - - int32_t m_currentPartID; - int32_t m_currentPartLength; - int32_t m_currentPartCount; - - Str255 m_comment; - ap_dates m_dates; - FInfo m_finderInfo; - FXInfo m_finderExtraInfo; -}; - -#endif diff --git a/uriloader/exthandler/nsExternalHelperAppService.cpp b/uriloader/exthandler/nsExternalHelperAppService.cpp index 222e0ea41a6c..0faec6dd7d84 100644 --- a/uriloader/exthandler/nsExternalHelperAppService.cpp +++ b/uriloader/exthandler/nsExternalHelperAppService.cpp @@ -70,9 +70,6 @@ #ifdef XP_MACOSX #include "nsILocalFileMac.h" -#ifndef __LP64__ -#include "nsIAppleFileDecoder.h" -#endif #elif defined(XP_OS2) #include "nsILocalFileOS2.h" #endif