Bug 655255 - Remove nsICharsetDetectionAdaptor from the tree. r=smontagu.

This commit is contained in:
Henri Sivonen 2012-01-09 14:19:51 +02:00
parent 6dcd161a90
commit 8cea7fca5d
7 changed files with 0 additions and 222 deletions

View File

@ -103,9 +103,6 @@
#include "nsFrameSelection.h"
#include "nsISelectionPrivate.h"//for toStringwithformat code
#include "nsICharsetDetector.h"
#include "nsICharsetDetectionAdaptor.h"
#include "nsCharsetDetectionAdaptorCID.h"
#include "nsICharsetAlias.h"
#include "nsContentUtils.h"
#include "nsJSUtils.h"
@ -147,11 +144,6 @@ using namespace mozilla::dom;
#define NS_MAX_DOCUMENT_WRITE_DEPTH 20
#define DETECTOR_CONTRACTID_MAX 127
static char g_detector_contractid[DETECTOR_CONTRACTID_MAX + 1];
static bool gInitDetector = false;
static bool gPlugDetector = false;
#include "prmem.h"
#include "prtime.h"
@ -182,25 +174,6 @@ static bool ConvertToMidasInternalCommand(const nsAString & inCommandID,
static bool ConvertToMidasInternalCommand(const nsAString & inCommandID,
nsACString& outCommandID);
static int
MyPrefChangedCallback(const char*aPrefName, void* instance_data)
{
const nsAdoptingCString& detector_name =
Preferences::GetLocalizedCString("intl.charset.detector");
if (!detector_name.IsEmpty()) {
PL_strncpy(g_detector_contractid, NS_CHARSET_DETECTOR_CONTRACTID_BASE,
DETECTOR_CONTRACTID_MAX);
PL_strncat(g_detector_contractid, detector_name,
DETECTOR_CONTRACTID_MAX);
gPlugDetector = true;
} else {
g_detector_contractid[0]=0;
gPlugDetector = false;
}
return 0;
}
// ==================================================================
// =
@ -568,65 +541,6 @@ nsHTMLDocument::TryDefaultCharset( nsIMarkupDocumentViewer* aMarkupDV,
return false;
}
void
nsHTMLDocument::StartAutodetection(nsIDocShell *aDocShell, nsACString& aCharset,
const char* aCommand)
{
if (mIsRegularHTML &&
nsHtml5Module::sEnabled &&
aCommand &&
(!nsCRT::strcmp(aCommand, "view") ||
!nsCRT::strcmp(aCommand, "view-source"))) {
return; // the HTML5 parser uses chardet directly
}
nsCOMPtr <nsIParserFilter> cdetflt;
nsresult rv_detect;
if(!gInitDetector) {
const nsAdoptingCString& detector_name =
Preferences::GetLocalizedCString("intl.charset.detector");
if(!detector_name.IsEmpty()) {
PL_strncpy(g_detector_contractid, NS_CHARSET_DETECTOR_CONTRACTID_BASE,
DETECTOR_CONTRACTID_MAX);
PL_strncat(g_detector_contractid, detector_name,
DETECTOR_CONTRACTID_MAX);
gPlugDetector = true;
}
Preferences::RegisterCallback(MyPrefChangedCallback,
"intl.charset.detector");
gInitDetector = true;
}
if (gPlugDetector) {
nsCOMPtr <nsICharsetDetector> cdet =
do_CreateInstance(g_detector_contractid, &rv_detect);
if (NS_SUCCEEDED(rv_detect)) {
cdetflt = do_CreateInstance(NS_CHARSET_DETECTION_ADAPTOR_CONTRACTID,
&rv_detect);
nsCOMPtr<nsICharsetDetectionAdaptor> adp = do_QueryInterface(cdetflt);
if (adp) {
nsCOMPtr<nsIWebShellServices> wss = do_QueryInterface(aDocShell);
if (wss) {
rv_detect = adp->Init(wss, cdet, this, mParser,
PromiseFlatCString(aCharset).get(), aCommand);
if (mParser)
mParser->SetParserFilter(cdetflt);
}
}
}
else {
// IF we cannot create the detector, don't bother to
// create one next time.
gPlugDetector = false;
}
}
}
void
nsHTMLDocument::SetDocumentCharacterSet(const nsACString& aCharSetID)
{
@ -912,13 +826,8 @@ nsHTMLDocument::StartDocumentLoad(const char* aCommand,
parserCharsetSource = charsetSource;
}
if(kCharsetFromAutoDetection > charsetSource && !isPostPage) {
StartAutodetection(docShell, charset, aCommand);
}
// ahmed
// Check if 864 but in Implicit mode !
// XXXbz why is this happening after StartAutodetection ?
if ((textType == IBMBIDI_TEXTTYPE_LOGICAL) &&
(charset.LowerCaseEqualsLiteral("ibm864"))) {
charset.AssignLiteral("IBM864i");

View File

@ -272,9 +272,6 @@ protected:
PRInt32& aCharsetSource,
nsACString& aCharset);
void StartAutodetection(nsIDocShell *aDocShell, nsACString& aCharset,
const char* aCommand);
// Override so we can munge the charset on our wyciwyg channel as needed.
virtual void SetDocumentCharacterSet(const nsACString& aCharSetID);

View File

@ -50,10 +50,8 @@ XPIDLSRCS = \
$(NULL)
EXPORTS = \
nsCharsetDetectionAdaptorCID.h \
nsDetectionConfident.h \
nsDocumentCharsetInfoCID.h \
nsICharsetDetectionAdaptor.h \
nsICharsetDetectionObserver.h \
nsICharsetDetector.h \
nsIStringCharsetDetector.h \

View File

@ -1,50 +0,0 @@
/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* ***** 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) 1999
* the Initial Developer. All Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the terms of
* either of 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 nsCDETAdaptorCID_h__
#define nsCDETAdaptorCID_h__
#include "nscore.h"
#define NS_CHARSET_DETECTION_ADAPTOR_CONTRACTID "@mozilla.org/intl/charsetdetectionadaptor;1"
// {12BB8F17-2389-11d3-B3BF-00805F8A6670}
#define NS_CHARSET_DETECTION_ADAPTOR_CID \
{ 0x12bb8f17, 0x2389, 0x11d3, { 0xb3, 0xbf, 0x0, 0x80, 0x5f, 0x8a, 0x66, 0x70 } }
#endif // nsCDETAdaptorCID_h__

View File

@ -1,73 +0,0 @@
/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* ***** 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) 1999
* the Initial Developer. All Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the terms of
* either of 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 nsICDETAdaptor_h__
#define nsICDETAdaptor_h__
#include "nsISupports.h"
class nsICharsetDetector;
class nsIWebShellServices;
class nsIDocument;
class nsIParser;
// {12BB8F13-2389-11d3-B3BF-00805F8A6670}
#define NS_ICHARSETDETECTIONADAPTOR_IID \
{ 0x12bb8f13, 0x2389, 0x11d3, { 0xb3, 0xbf, 0x0, 0x80, 0x5f, 0x8a, 0x66, 0x70 } }
/*
This interface is defined to be serverd as an Adaptor between
nsIWebShellServices, nsICharsetDetector and nsIParserFilter
It make the nsICharsetDetector implementation independent from the
nsIParserFilter and nsIWebShellServices
*/
class nsICharsetDetectionAdaptor : public nsISupports {
public:
NS_DECLARE_STATIC_IID_ACCESSOR(NS_ICHARSETDETECTIONADAPTOR_IID)
/*
Initialize it by setup the nsICharsetDetector and the
nsIWebShellServices
*/
NS_IMETHOD Init(nsIWebShellServices* aDocShell, nsICharsetDetector *aDetector,
nsIDocument* aDocument, nsIParser* aParser,
const char* aCharset, const char* aCommand=nsnull) = 0;
};
NS_DEFINE_STATIC_IID_ACCESSOR(nsICharsetDetectionAdaptor,
NS_ICHARSETDETECTIONADAPTOR_IID)
#endif /* nsICDETAdaptor_h__ */

View File

@ -49,13 +49,11 @@
#include "nsICharsetDetector.h"
#include "nsICharsetAlias.h"
#include "nsDocumentCharsetInfo.h"
#include "nsICharsetDetectionAdaptor.h"
#include "nsICharsetDetectionObserver.h"
#include "nsIStringCharsetDetector.h"
#include "nsCyrillicDetector.h"
#include "nsDocumentCharsetInfoCID.h"
#include "nsXMLEncodingCID.h"
#include "nsCharsetDetectionAdaptorCID.h"
NS_GENERIC_FACTORY_CONSTRUCTOR(nsDocumentCharsetInfo)
NS_GENERIC_FACTORY_CONSTRUCTOR(nsRUProbDetector)

View File

@ -43,6 +43,5 @@
#include "nsICharsetDetector.h"
#include "nsICharsetDetectionObserver.h"
#include "nsIStringCharsetDetector.h"
#include "nsICharsetDetectionAdaptor.h"
#endif /* nsCharDetDll_h__ */