mirror of
https://github.com/mozilla/gecko-dev.git
synced 2025-02-14 20:22:00 +00:00
Convert nsIDocumentCharsetInfo to IDL so we can get rid of more bits of nsBrowse
rInstance. bug=46200, r=erik@netscape.com, r=smfr, a=alecf.
This commit is contained in:
parent
ddb11a2642
commit
d85375778a
@ -46,6 +46,7 @@
|
|||||||
#include "nsIHTTPEventSink.h"
|
#include "nsIHTTPEventSink.h"
|
||||||
#include "nsISecurityEventSink.h"
|
#include "nsISecurityEventSink.h"
|
||||||
#include "nsScriptSecurityManager.h"
|
#include "nsScriptSecurityManager.h"
|
||||||
|
#include "nsDocumentCharsetInfoCID.h"
|
||||||
|
|
||||||
// Local Includes
|
// Local Includes
|
||||||
#include "nsDocShell.h"
|
#include "nsDocShell.h"
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
nsCharsetDetectionAdaptorCID.h
|
nsCharsetDetectionAdaptorCID.h
|
||||||
nsDetectionConfident.h
|
nsDetectionConfident.h
|
||||||
|
nsDocumentCharsetInfoCID.h
|
||||||
nsICharsetDetectionAdaptor.h
|
nsICharsetDetectionAdaptor.h
|
||||||
nsICharsetDetectionObserver.h
|
nsICharsetDetectionObserver.h
|
||||||
nsICharsetDetector.h
|
nsICharsetDetector.h
|
||||||
@ -8,4 +9,3 @@ nsIStringCharsetDetector.h
|
|||||||
nsIXMLEncodingService.h
|
nsIXMLEncodingService.h
|
||||||
nsMetaCharsetCID.h
|
nsMetaCharsetCID.h
|
||||||
nsXMLEncodingCID.h
|
nsXMLEncodingCID.h
|
||||||
nsIDocumentCharsetInfo.h
|
|
||||||
|
1
intl/chardet/public/MANIFEST_IDL
Normal file
1
intl/chardet/public/MANIFEST_IDL
Normal file
@ -0,0 +1 @@
|
|||||||
|
nsIDocumentCharsetInfo.idl
|
@ -28,9 +28,14 @@ include $(DEPTH)/config/autoconf.mk
|
|||||||
|
|
||||||
MODULE = chardet
|
MODULE = chardet
|
||||||
|
|
||||||
|
XPIDLSRCS = \
|
||||||
|
nsIDocumentCharsetInfo.idl \
|
||||||
|
$(NULL)
|
||||||
|
|
||||||
EXPORTS = \
|
EXPORTS = \
|
||||||
nsCharsetDetectionAdaptorCID.h \
|
nsCharsetDetectionAdaptorCID.h \
|
||||||
nsDetectionConfident.h \
|
nsDetectionConfident.h \
|
||||||
|
nsDocumentCharsetInfoCID.h \
|
||||||
nsICharsetDetectionAdaptor.h \
|
nsICharsetDetectionAdaptor.h \
|
||||||
nsICharsetDetectionObserver.h \
|
nsICharsetDetectionObserver.h \
|
||||||
nsICharsetDetector.h \
|
nsICharsetDetector.h \
|
||||||
@ -39,7 +44,6 @@ EXPORTS = \
|
|||||||
nsIXMLEncodingService.h \
|
nsIXMLEncodingService.h \
|
||||||
nsMetaCharsetCID.h \
|
nsMetaCharsetCID.h \
|
||||||
nsXMLEncodingCID.h \
|
nsXMLEncodingCID.h \
|
||||||
nsIDocumentCharsetInfo.h \
|
|
||||||
$(NULL)
|
$(NULL)
|
||||||
|
|
||||||
EXPORTS := $(addprefix $(srcdir)/, $(EXPORTS))
|
EXPORTS := $(addprefix $(srcdir)/, $(EXPORTS))
|
||||||
|
@ -21,10 +21,14 @@
|
|||||||
|
|
||||||
DEPTH=..\..\..
|
DEPTH=..\..\..
|
||||||
|
|
||||||
|
XPIDLSRCS = \
|
||||||
|
.\nsIDocumentCharsetInfo.idl \
|
||||||
|
$(NULL)
|
||||||
|
|
||||||
EXPORTS = \
|
EXPORTS = \
|
||||||
nsCharsetDetectionAdaptorCID.h \
|
nsCharsetDetectionAdaptorCID.h \
|
||||||
nsDetectionConfident.h \
|
nsDetectionConfident.h \
|
||||||
|
nsDocumentCharsetInfoCID.h \
|
||||||
nsICharsetDetectionAdaptor.h \
|
nsICharsetDetectionAdaptor.h \
|
||||||
nsICharsetDetectionObserver.h \
|
nsICharsetDetectionObserver.h \
|
||||||
nsICharsetDetector.h \
|
nsICharsetDetector.h \
|
||||||
@ -33,7 +37,6 @@ EXPORTS = \
|
|||||||
nsIXMLEncodingService.h \
|
nsIXMLEncodingService.h \
|
||||||
nsMetaCharsetCID.h \
|
nsMetaCharsetCID.h \
|
||||||
nsXMLEncodingCID.h \
|
nsXMLEncodingCID.h \
|
||||||
nsIDocumentCharsetInfo.h \
|
|
||||||
$(NULL)
|
$(NULL)
|
||||||
|
|
||||||
MODULE=chardet
|
MODULE=chardet
|
||||||
|
13
intl/chardet/public/nsDocumentCharsetInfoCID.h
Normal file
13
intl/chardet/public/nsDocumentCharsetInfoCID.h
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
#ifndef nsDocumentCharsetInfoCID_h__
|
||||||
|
#define nsDocumentCharsetInfoCID_h__
|
||||||
|
|
||||||
|
#include "nscore.h"
|
||||||
|
|
||||||
|
#define NS_DOCUMENTCHARSETINFO_CONTRACTID "@mozilla.org/document-charset-info;1"
|
||||||
|
|
||||||
|
// {D25E0511-2BAE-11d4-9D10-0050040007B2}
|
||||||
|
#define NS_DOCUMENTCHARSETINFO_CID \
|
||||||
|
{0xd25e0511, 0x2bae, 0x11d4, {0x9d, 0x10, 0x0, 0x50, 0x4, 0x0, 0x7, 0xb2}}
|
||||||
|
|
||||||
|
#endif // nsDocumentCharsetInfoCID_h__
|
||||||
|
|
@ -1,66 +0,0 @@
|
|||||||
/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*-
|
|
||||||
*
|
|
||||||
* The contents of this file are subject to the Netscape 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/NPL/
|
|
||||||
*
|
|
||||||
* 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 Netscape are
|
|
||||||
* Copyright (C) 1998 Netscape Communications Corporation. All
|
|
||||||
* Rights Reserved.
|
|
||||||
*
|
|
||||||
* Contributor(s):
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef nsIDocumentCharsetInfo_h__
|
|
||||||
#define nsIDocumentCharsetInfo_h__
|
|
||||||
|
|
||||||
#include "nsISupports.h"
|
|
||||||
#include "nsIAtom.h"
|
|
||||||
|
|
||||||
// {2D40B291-01E1-11d4-9D0E-0050040007B2}
|
|
||||||
#define NS_IDOCUMENTCHARSETINFO_IID \
|
|
||||||
{0x2d40b291, 0x1e1, 0x11d4, {0x9d, 0xe, 0x0, 0x50, 0x4, 0x0, 0x7, 0xb2}}
|
|
||||||
|
|
||||||
// {D25E0511-2BAE-11d4-9D10-0050040007B2}
|
|
||||||
#define NS_DOCUMENTCHARSETINFO_CID \
|
|
||||||
{0xd25e0511, 0x2bae, 0x11d4, {0x9d, 0x10, 0x0, 0x50, 0x4, 0x0, 0x7, 0xb2}}
|
|
||||||
|
|
||||||
#define NS_DOCUMENTCHARSETINFO_PID \
|
|
||||||
"@mozilla.org/document-charset-info;1"
|
|
||||||
|
|
||||||
// XXX doc me
|
|
||||||
// XXX make this interface IDL
|
|
||||||
// XXX mark the right params "const"
|
|
||||||
|
|
||||||
class nsIDocumentCharsetInfo : public nsISupports
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
NS_DEFINE_STATIC_IID_ACCESSOR(NS_IDOCUMENTCHARSETINFO_IID)
|
|
||||||
|
|
||||||
NS_IMETHOD SetForcedCharset(nsIAtom * aCharset) = 0;
|
|
||||||
NS_IMETHOD GetForcedCharset(nsIAtom ** aResult) = 0;
|
|
||||||
|
|
||||||
NS_IMETHOD SetForcedDetector(PRBool aForced) = 0;
|
|
||||||
NS_IMETHOD GetForcedDetector(PRBool * aResult) = 0;
|
|
||||||
|
|
||||||
NS_IMETHOD SetParentCharset(nsIAtom * aCharset) = 0;
|
|
||||||
NS_IMETHOD GetParentCharset(nsIAtom ** aResult) = 0;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* You should NOT use this method!!! It will very soon be deprecated. I only
|
|
||||||
* added it here for convenience in the ongoing transition to Atoms. Use
|
|
||||||
* SetParentCharset(nsIAtom *) instead.
|
|
||||||
*/
|
|
||||||
NS_IMETHOD SetParentCharset(nsString * aCharset) = 0;
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif // nsIDocumentCharsetInfo_h__
|
|
15
intl/chardet/public/nsIDocumentCharsetInfo.idl
Normal file
15
intl/chardet/public/nsIDocumentCharsetInfo.idl
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
#include "nsISupports.idl"
|
||||||
|
#include "nsIAtom.idl"
|
||||||
|
|
||||||
|
// XXX doc me
|
||||||
|
// XXX mark the right params "const"
|
||||||
|
|
||||||
|
[scriptable, uuid(2d40b291-01e1-11d4-9d0e-0050040007b2)]
|
||||||
|
interface nsIDocumentCharsetInfo : nsISupports
|
||||||
|
{
|
||||||
|
attribute nsIAtom forcedCharset;
|
||||||
|
|
||||||
|
attribute boolean forcedDetector;
|
||||||
|
|
||||||
|
attribute nsIAtom parentCharset;
|
||||||
|
};
|
@ -45,6 +45,7 @@
|
|||||||
#include "nsXMLEncodingCID.h"
|
#include "nsXMLEncodingCID.h"
|
||||||
#include "nsCharsetDetectionAdaptorCID.h"
|
#include "nsCharsetDetectionAdaptorCID.h"
|
||||||
#include "nsDocumentCharsetInfo.h"
|
#include "nsDocumentCharsetInfo.h"
|
||||||
|
#include "nsDocumentCharsetInfoCID.h"
|
||||||
|
|
||||||
#include "nsPSMDetectors.h"
|
#include "nsPSMDetectors.h"
|
||||||
|
|
||||||
@ -239,7 +240,7 @@ static Components gComponents[] = {
|
|||||||
{ "Meta Charset", &kMetaCharsetCID,
|
{ "Meta Charset", &kMetaCharsetCID,
|
||||||
NS_META_CHARSET_CONTRACTID, },
|
NS_META_CHARSET_CONTRACTID, },
|
||||||
{ "Document Charset Info", &kDocumentCharsetInfoCID,
|
{ "Document Charset Info", &kDocumentCharsetInfoCID,
|
||||||
NS_DOCUMENTCHARSETINFO_PID, },
|
NS_DOCUMENTCHARSETINFO_CONTRACTID, },
|
||||||
{ "XML Encoding", &kXMLEncodingCID,
|
{ "XML Encoding", &kXMLEncodingCID,
|
||||||
NS_XML_ENCODING_CONTRACTID, },
|
NS_XML_ENCODING_CONTRACTID, },
|
||||||
{ "Charset Detection Adaptor", &kCharsetDetectionAdaptorCID,
|
{ "Charset Detection Adaptor", &kCharsetDetectionAdaptorCID,
|
||||||
|
@ -48,7 +48,6 @@ public:
|
|||||||
|
|
||||||
NS_IMETHOD SetParentCharset(nsIAtom * aCharset);
|
NS_IMETHOD SetParentCharset(nsIAtom * aCharset);
|
||||||
NS_IMETHOD GetParentCharset(nsIAtom ** aResult);
|
NS_IMETHOD GetParentCharset(nsIAtom ** aResult);
|
||||||
NS_IMETHOD SetParentCharset(nsString * aCharset);
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
nsCOMPtr<nsIAtom> mForcedCharset;
|
nsCOMPtr<nsIAtom> mForcedCharset;
|
||||||
@ -125,19 +124,6 @@ NS_IMETHODIMP nsDocumentCharsetInfo::GetParentCharset(nsIAtom ** aResult)
|
|||||||
return NS_OK;
|
return NS_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
NS_IMETHODIMP nsDocumentCharsetInfo::SetParentCharset(nsString * aCharset)
|
|
||||||
{
|
|
||||||
nsresult res = NS_OK;
|
|
||||||
NS_WITH_SERVICE(nsICharsetConverterManager2, ccMan, kCharsetConverterManagerCID, &res);
|
|
||||||
if (NS_FAILED(res)) return NS_ERROR_FAILURE;
|
|
||||||
|
|
||||||
nsCOMPtr<nsIAtom> csAtom;
|
|
||||||
res = ccMan->GetCharsetAtom(aCharset->GetUnicode(), getter_AddRefs(csAtom));
|
|
||||||
if (NS_FAILED(res)) return NS_ERROR_FAILURE;
|
|
||||||
|
|
||||||
return SetParentCharset(csAtom);
|
|
||||||
}
|
|
||||||
|
|
||||||
NS_IMPL_ISUPPORTS(nsDocumentCharsetInfoFactory, NS_GET_IID(nsIFactory));
|
NS_IMPL_ISUPPORTS(nsDocumentCharsetInfoFactory, NS_GET_IID(nsIFactory));
|
||||||
|
|
||||||
NS_IMETHODIMP nsDocumentCharsetInfoFactory::CreateInstance(
|
NS_IMETHODIMP nsDocumentCharsetInfoFactory::CreateInstance(
|
||||||
|
@ -105,6 +105,7 @@
|
|||||||
|
|
||||||
#include "nsIWindowMediator.h"
|
#include "nsIWindowMediator.h"
|
||||||
|
|
||||||
|
#include "nsDocumentCharsetInfoCID.h"
|
||||||
#include "nsIDocumentCharsetInfo.h"
|
#include "nsIDocumentCharsetInfo.h"
|
||||||
#include "nsICharsetConverterManager.h"
|
#include "nsICharsetConverterManager.h"
|
||||||
#include "nsICharsetConverterManager2.h"
|
#include "nsICharsetConverterManager2.h"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user