mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Bug 655255 - Remove nsICharsetDetectionAdaptor from the tree. r=smontagu.
This commit is contained in:
parent
4675bcbae3
commit
e5f6c55e15
@ -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");
|
||||
|
@ -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);
|
||||
|
||||
|
@ -50,10 +50,8 @@ XPIDLSRCS = \
|
||||
$(NULL)
|
||||
|
||||
EXPORTS = \
|
||||
nsCharsetDetectionAdaptorCID.h \
|
||||
nsDetectionConfident.h \
|
||||
nsDocumentCharsetInfoCID.h \
|
||||
nsICharsetDetectionAdaptor.h \
|
||||
nsICharsetDetectionObserver.h \
|
||||
nsICharsetDetector.h \
|
||||
nsIStringCharsetDetector.h \
|
||||
|
@ -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__
|
@ -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__ */
|
@ -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)
|
||||
|
@ -43,6 +43,5 @@
|
||||
#include "nsICharsetDetector.h"
|
||||
#include "nsICharsetDetectionObserver.h"
|
||||
#include "nsIStringCharsetDetector.h"
|
||||
#include "nsICharsetDetectionAdaptor.h"
|
||||
|
||||
#endif /* nsCharDetDll_h__ */
|
||||
|
Loading…
Reference in New Issue
Block a user