[SCM] WebKit Debian packaging branch, debian/unstable, updated. debian/1.1.15-1-40151-g37bb677

darin darin at 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Sat Sep 26 07:37:19 UTC 2009


The following commit has been merged in the debian/unstable branch:
commit 3dce24374b92c5dfe24cbc3fb4b23af80f3597c7
Author: darin <darin at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Tue Apr 15 23:45:18 2003 +0000

            Reviewed by Ken.
    
            - fixed 3056913 -- please add Japanese auto-detect
    
            * khtml/misc/decoder.cpp: (Decoder::decode): Turn on the auto-detect code if the
            default encoding is one of the Japanese encodings. Also change things around so
            the auto-detection process doesn't clobber the old chosen encoding if it does
            not yield a result.
    
            * kwq/KWQCharsets.h: Add a new IsJapanese encoding flag.
            * kwq/KWQTextCodec.h: Add a new isJapanese() member function, used by the above.
            * kwq/mac-encodings.txt: Add the IsJapanese flag to all Japanese encodings, and
            add "jis7" as a synonym for ISO-2022-JP.
            * kwq/make-charset-table.pl: Changed to allow flags even for unused encodings.
    
            * kwq/KWQCharsetData.c: Regenerated.
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@4113 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog-2003-10-25 b/WebCore/ChangeLog-2003-10-25
index 5015c67..e9b09b4 100644
--- a/WebCore/ChangeLog-2003-10-25
+++ b/WebCore/ChangeLog-2003-10-25
@@ -1,3 +1,22 @@
+2003-04-15  Darin Adler  <darin at apple.com>
+
+        Reviewed by Ken.
+
+        - fixed 3056913 -- please add Japanese auto-detect
+
+        * khtml/misc/decoder.cpp: (Decoder::decode): Turn on the auto-detect code if the
+        default encoding is one of the Japanese encodings. Also change things around so
+        the auto-detection process doesn't clobber the old chosen encoding if it does
+        not yield a result.
+        
+        * kwq/KWQCharsets.h: Add a new IsJapanese encoding flag.
+        * kwq/KWQTextCodec.h: Add a new isJapanese() member function, used by the above.
+        * kwq/mac-encodings.txt: Add the IsJapanese flag to all Japanese encodings, and
+        add "jis7" as a synonym for ISO-2022-JP.
+        * kwq/make-charset-table.pl: Changed to allow flags even for unused encodings.
+
+        * kwq/KWQCharsetData.c: Regenerated.
+
 2003-04-15  David Hyatt  <hyatt at apple.com>
 
 	Fix for 3220809, overflow values other than visible should not
diff --git a/WebCore/ChangeLog-2005-08-23 b/WebCore/ChangeLog-2005-08-23
index 5015c67..e9b09b4 100644
--- a/WebCore/ChangeLog-2005-08-23
+++ b/WebCore/ChangeLog-2005-08-23
@@ -1,3 +1,22 @@
+2003-04-15  Darin Adler  <darin at apple.com>
+
+        Reviewed by Ken.
+
+        - fixed 3056913 -- please add Japanese auto-detect
+
+        * khtml/misc/decoder.cpp: (Decoder::decode): Turn on the auto-detect code if the
+        default encoding is one of the Japanese encodings. Also change things around so
+        the auto-detection process doesn't clobber the old chosen encoding if it does
+        not yield a result.
+        
+        * kwq/KWQCharsets.h: Add a new IsJapanese encoding flag.
+        * kwq/KWQTextCodec.h: Add a new isJapanese() member function, used by the above.
+        * kwq/mac-encodings.txt: Add the IsJapanese flag to all Japanese encodings, and
+        add "jis7" as a synonym for ISO-2022-JP.
+        * kwq/make-charset-table.pl: Changed to allow flags even for unused encodings.
+
+        * kwq/KWQCharsetData.c: Regenerated.
+
 2003-04-15  David Hyatt  <hyatt at apple.com>
 
 	Fix for 3220809, overflow values other than visible should not
diff --git a/WebCore/khtml/misc/decoder.cpp b/WebCore/khtml/misc/decoder.cpp
index 1da5b79..c05ecf2 100644
--- a/WebCore/khtml/misc/decoder.cpp
+++ b/WebCore/khtml/misc/decoder.cpp
@@ -491,7 +491,8 @@ QString Decoder::decode(const char *data, int len)
 
  found:
 #if APPLE_CHANGES
-    if (0) // not ready to turn this on yet; seems to cause problems
+    // Do the auto-detect if our default encoding is one of the Japanese ones.
+    if (!haveEncoding && m_codec && m_codec->isJapanese())
 #else
     if (!haveEncoding && KGlobal::locale()->languageList()[0] == "ja")
 #endif
@@ -499,25 +500,27 @@ QString Decoder::decode(const char *data, int len)
 #ifdef DECODE_DEBUG
 	kdDebug( 6005 ) << "Decoder: use auto-detect (" << strlen(data) << ")" << endl;
 #endif
-	switch ( KanjiCode::judge( data, len ) ) {
+	const char *autoDetectedEncoding;
+        switch ( KanjiCode::judge( data, len ) ) {
 	case KanjiCode::JIS:
-	    enc = "jis7";
+	    autoDetectedEncoding = "jis7";
 	    break;
 	case KanjiCode::EUC:
-	    enc = "eucjp";
+	    autoDetectedEncoding = "eucjp";
 	    break;
 	case KanjiCode::SJIS:
-	    enc = "sjis";
+	    autoDetectedEncoding = "sjis";
 	    break;
 	default:
-	    enc = NULL;
+	    autoDetectedEncoding = NULL;
 	    break;
 	}
 #ifdef DECODE_DEBUG
-	kdDebug( 6005 ) << "Decoder: auto detect encoding is " << enc << endl;
+	kdDebug( 6005 ) << "Decoder: auto detect encoding is "
+            << (autoDetectedEncoding ? autoDetectedEncoding : "NULL") << endl;
 #endif
-	if (!enc.isEmpty()) {
-	    setEncoding(enc, true);
+	if (autoDetectedEncoding != NULL) {
+	    setEncoding(autoDetectedEncoding, true);
 	}
     }
 
diff --git a/WebCore/kwq/KWQCharsetData.c b/WebCore/kwq/KWQCharsetData.c
index 8e2b637..03b7d70 100644
--- a/WebCore/kwq/KWQCharsetData.c
+++ b/WebCore/kwq/KWQCharsetData.c
@@ -42,7 +42,7 @@ static const CharsetEntry table[] = {
     { "unicode-2-0-utf-8", kCFStringEncodingUTF8, NoEncodingFlags },
     { "utf-8", kCFStringEncodingUTF8, NoEncodingFlags },
     { "x-unicode-2-0-utf-8", kCFStringEncodingUTF8, NoEncodingFlags },
-    { "x-mac-japanese", kCFStringEncodingMacJapanese, NoEncodingFlags },
+    { "x-mac-japanese", kCFStringEncodingMacJapanese, IsJapanese },
     { "x-mac-chinesetrad", kCFStringEncodingMacChineseTrad, NoEncodingFlags },
     { "x-mac-trad-chinese", kCFStringEncodingMacChineseTrad, NoEncodingFlags },
     { "x-mac-korean", kCFStringEncodingMacKorean, NoEncodingFlags },
@@ -204,10 +204,10 @@ static const CharsetEntry table[] = {
     { "dos-874", kCFStringEncodingDOSThai, NoEncodingFlags },
     { "tis-620", kCFStringEncodingDOSThai, NoEncodingFlags },
     { "windows-874", kCFStringEncodingDOSThai, NoEncodingFlags },
-    { "cp932", kCFStringEncodingDOSJapanese, NoEncodingFlags },
-    { "cswindows31j", kCFStringEncodingDOSJapanese, NoEncodingFlags },
-    { "windows-31j", kCFStringEncodingDOSJapanese, NoEncodingFlags },
-    { "x-ms-cp932", kCFStringEncodingDOSJapanese, NoEncodingFlags },
+    { "cp932", kCFStringEncodingDOSJapanese, IsJapanese },
+    { "cswindows31j", kCFStringEncodingDOSJapanese, IsJapanese },
+    { "windows-31j", kCFStringEncodingDOSJapanese, IsJapanese },
+    { "x-ms-cp932", kCFStringEncodingDOSJapanese, IsJapanese },
     { "cp950", kCFStringEncodingDOSChineseTrad, NoEncodingFlags },
     { "windows-1250", kCFStringEncodingWindowsLatin2, NoEncodingFlags },
     { "winlatin2", kCFStringEncodingWindowsLatin2, NoEncodingFlags },
@@ -229,27 +229,27 @@ static const CharsetEntry table[] = {
     { "johab", kCFStringEncodingWindowsKoreanJohab, NoEncodingFlags },
     { "windows-1258", kCFStringEncodingWindowsVietnamese, NoEncodingFlags },
     { "winvietnamese", kCFStringEncodingWindowsVietnamese, NoEncodingFlags },
-    { "cshalfwidthkatakana", kCFStringEncodingJIS_X0201_76, NoEncodingFlags },
-    { "jis_x0201", kCFStringEncodingJIS_X0201_76, NoEncodingFlags },
-    { "x0201", kCFStringEncodingJIS_X0201_76, NoEncodingFlags },
-    { "csiso87jisx0208", kCFStringEncodingJIS_X0208_83, NoEncodingFlags },
-    { "iso-ir-87", kCFStringEncodingJIS_X0208_83, NoEncodingFlags },
-    { "jis_c6226-1983", kCFStringEncodingJIS_X0208_83, NoEncodingFlags },
-    { "jis_x0208-1983", kCFStringEncodingJIS_X0208_83, NoEncodingFlags },
-    { "x0208", kCFStringEncodingJIS_X0208_83, NoEncodingFlags },
-    { "jis_x0208-1990", kCFStringEncodingJIS_X0208_90, NoEncodingFlags },
-    { "csiso159jisx02121990", kCFStringEncodingJIS_X0212_90, NoEncodingFlags },
-    { "iso-ir-159", kCFStringEncodingJIS_X0212_90, NoEncodingFlags },
-    { "jis_x0212-1990", kCFStringEncodingJIS_X0212_90, NoEncodingFlags },
-    { "x0212", kCFStringEncodingJIS_X0212_90, NoEncodingFlags },
-    { "csiso42jisc62261978", kCFStringEncodingJIS_C6226_78, NoEncodingFlags },
-    { "iso-ir-42", kCFStringEncodingJIS_C6226_78, NoEncodingFlags },
-    { "jis_c6226-1978", kCFStringEncodingJIS_C6226_78, NoEncodingFlags },
-    { "csshiftjis", kCFStringEncodingShiftJIS_X0213_00, NoEncodingFlags },
-    { "ms_kanji", kCFStringEncodingShiftJIS_X0213_00, NoEncodingFlags },
-    { "shift-jis", kCFStringEncodingShiftJIS_X0213_00, NoEncodingFlags },
-    { "shift_jis", kCFStringEncodingShiftJIS_X0213_00, NoEncodingFlags },
-    { "x-sjis", kCFStringEncodingShiftJIS_X0213_00, NoEncodingFlags },
+    { "cshalfwidthkatakana", kCFStringEncodingJIS_X0201_76, IsJapanese },
+    { "jis_x0201", kCFStringEncodingJIS_X0201_76, IsJapanese },
+    { "x0201", kCFStringEncodingJIS_X0201_76, IsJapanese },
+    { "csiso87jisx0208", kCFStringEncodingJIS_X0208_83, IsJapanese },
+    { "iso-ir-87", kCFStringEncodingJIS_X0208_83, IsJapanese },
+    { "jis_c6226-1983", kCFStringEncodingJIS_X0208_83, IsJapanese },
+    { "jis_x0208-1983", kCFStringEncodingJIS_X0208_83, IsJapanese },
+    { "x0208", kCFStringEncodingJIS_X0208_83, IsJapanese },
+    { "jis_x0208-1990", kCFStringEncodingJIS_X0208_90, IsJapanese },
+    { "csiso159jisx02121990", kCFStringEncodingJIS_X0212_90, IsJapanese },
+    { "iso-ir-159", kCFStringEncodingJIS_X0212_90, IsJapanese },
+    { "jis_x0212-1990", kCFStringEncodingJIS_X0212_90, IsJapanese },
+    { "x0212", kCFStringEncodingJIS_X0212_90, IsJapanese },
+    { "csiso42jisc62261978", kCFStringEncodingJIS_C6226_78, IsJapanese },
+    { "iso-ir-42", kCFStringEncodingJIS_C6226_78, IsJapanese },
+    { "jis_c6226-1978", kCFStringEncodingJIS_C6226_78, IsJapanese },
+    { "csshiftjis", kCFStringEncodingShiftJIS_X0213_00, IsJapanese },
+    { "ms_kanji", kCFStringEncodingShiftJIS_X0213_00, IsJapanese },
+    { "shift-jis", kCFStringEncodingShiftJIS_X0213_00, IsJapanese },
+    { "shift_jis", kCFStringEncodingShiftJIS_X0213_00, IsJapanese },
+    { "x-sjis", kCFStringEncodingShiftJIS_X0213_00, IsJapanese },
     { "chinese", kCFStringEncodingGB_18030_2000, NoEncodingFlags },
     { "cn-gb", kCFStringEncodingGB_18030_2000, NoEncodingFlags },
     { "cp936", kCFStringEncodingGB_18030_2000, NoEncodingFlags },
@@ -266,21 +266,22 @@ static const CharsetEntry table[] = {
     { "windows-936", kCFStringEncodingGB_18030_2000, NoEncodingFlags },
     { "x-euc-cn", kCFStringEncodingGB_18030_2000, NoEncodingFlags },
     { "x-gbk", kCFStringEncodingGB_18030_2000, NoEncodingFlags },
-    { "csiso2022jp", kCFStringEncodingISO_2022_JP, NoEncodingFlags },
-    { "iso-2022-jp", kCFStringEncodingISO_2022_JP, NoEncodingFlags },
-    { "csiso2022jp2", kCFStringEncodingISO_2022_JP_2, NoEncodingFlags },
-    { "iso-2022-jp-2", kCFStringEncodingISO_2022_JP_2, NoEncodingFlags },
-    { "iso-2022-jp-1", kCFStringEncodingISO_2022_JP_1, NoEncodingFlags },
-    { "iso-2022-jp-3", kCFStringEncodingISO_2022_JP_3, NoEncodingFlags },
+    { "csiso2022jp", kCFStringEncodingISO_2022_JP, IsJapanese },
+    { "iso-2022-jp", kCFStringEncodingISO_2022_JP, IsJapanese },
+    { "jis7", kCFStringEncodingISO_2022_JP, IsJapanese },
+    { "csiso2022jp2", kCFStringEncodingISO_2022_JP_2, IsJapanese },
+    { "iso-2022-jp-2", kCFStringEncodingISO_2022_JP_2, IsJapanese },
+    { "iso-2022-jp-1", kCFStringEncodingISO_2022_JP_1, IsJapanese },
+    { "iso-2022-jp-3", kCFStringEncodingISO_2022_JP_3, IsJapanese },
     { "iso-2022-cn", kCFStringEncodingISO_2022_CN, NoEncodingFlags },
     { "iso-2022-cn-ext", kCFStringEncodingISO_2022_CN_EXT, NoEncodingFlags },
     { "csiso2022kr", kCFStringEncodingISO_2022_KR, NoEncodingFlags },
     { "iso-2022-kr", kCFStringEncodingISO_2022_KR, NoEncodingFlags },
-    { "cseucpkdfmtjapanese", kCFStringEncodingEUC_JP, NoEncodingFlags },
-    { "euc-jp", kCFStringEncodingEUC_JP, NoEncodingFlags },
-    { "extended_unix_code_packed_format_for_japanese", kCFStringEncodingEUC_JP, NoEncodingFlags },
-    { "x-euc", kCFStringEncodingEUC_JP, NoEncodingFlags },
-    { "x-euc-jp", kCFStringEncodingEUC_JP, NoEncodingFlags },
+    { "cseucpkdfmtjapanese", kCFStringEncodingEUC_JP, IsJapanese },
+    { "euc-jp", kCFStringEncodingEUC_JP, IsJapanese },
+    { "extended_unix_code_packed_format_for_japanese", kCFStringEncodingEUC_JP, IsJapanese },
+    { "x-euc", kCFStringEncodingEUC_JP, IsJapanese },
+    { "x-euc-jp", kCFStringEncodingEUC_JP, IsJapanese },
     { "euc-tw", kCFStringEncodingEUC_TW, NoEncodingFlags },
     { "cp949", kCFStringEncodingEUC_KR, NoEncodingFlags },
     { "cseuckr", kCFStringEncodingEUC_KR, NoEncodingFlags },
diff --git a/WebCore/kwq/KWQCharsets.h b/WebCore/kwq/KWQCharsets.h
index 59ef8c1..aed5d7f 100644
--- a/WebCore/kwq/KWQCharsets.h
+++ b/WebCore/kwq/KWQCharsets.h
@@ -32,7 +32,8 @@ enum KWQEncodingFlags {
     NoEncodingFlags = 0,
     VisualOrdering = 1,
     BigEndian = 2,
-    LittleEndian = 4
+    LittleEndian = 4,
+    IsJapanese = 8
 };
 
 CFStringEncoding KWQCFStringEncodingFromIANACharsetName(const char *, KWQEncodingFlags *flags = 0);
diff --git a/WebCore/kwq/KWQTextCodec.h b/WebCore/kwq/KWQTextCodec.h
index f85160e..6cbc69b 100644
--- a/WebCore/kwq/KWQTextCodec.h
+++ b/WebCore/kwq/KWQTextCodec.h
@@ -42,6 +42,7 @@ public:
 
     const char *name() const;
     bool usesVisualOrdering() const { return _flags & VisualOrdering; }
+    bool isJapanese() const { return _flags & IsJapanese; }
 
     QTextDecoder *makeDecoder() const;
 
diff --git a/WebCore/kwq/mac-encodings.txt b/WebCore/kwq/mac-encodings.txt
index e225c0d..86f926f 100644
--- a/WebCore/kwq/mac-encodings.txt
+++ b/WebCore/kwq/mac-encodings.txt
@@ -14,7 +14,7 @@ Unicode, LittleEndian: unicodefffe, utf-16le
 UTF8: unicode-1-1-utf-8, unicode-2-0-utf-8, utf-8, x-unicode-2-0-utf-8
 NonLossyASCII
 
-MacJapanese: x-mac-japanese
+MacJapanese, IsJapanese: x-mac-japanese
 MacChineseTrad: x-mac-chinesetrad, x-mac-trad-chinese
 MacKorean: x-mac-korean
 MacArabic: x-mac-arabic
@@ -93,7 +93,7 @@ DOSNordic
 DOSRussian: cp866
 DOSGreek2: ibm869
 DOSThai: cp874, dos-874, tis-620, windows-874
-DOSJapanese: cp932, cswindows31j, x-ms-cp932
+DOSJapanese, IsJapanese: cp932, cswindows31j, x-ms-cp932
 DOSChineseSimplif
 DOSKorean
 DOSChineseTrad: cp950
@@ -107,12 +107,12 @@ WindowsBalticRim: winbaltic, windows-1257
 WindowsKoreanJohab: johab
 WindowsVietnamese: windows-1258, winvietnamese
 
-JIS_X0201_76: jis_x0201
-JIS_X0208_83: jis_x0208-1983
-JIS_X0208_90: jis_x0208-1990
-JIS_X0212_90: jis_x0212-1990
-JIS_C6226_78: jis_c6226-1978
-ShiftJIS_X0213_00: shift-jis, shift_jis, x-sjis
+JIS_X0201_76, IsJapanese: jis_x0201
+JIS_X0208_83, IsJapanese: jis_x0208-1983
+JIS_X0208_90, IsJapanese: jis_x0208-1990
+JIS_X0212_90, IsJapanese: jis_x0212-1990
+JIS_C6226_78, IsJapanese: jis_c6226-1978
+ShiftJIS_X0213_00, IsJapanese: shift-jis, shift_jis, x-sjis
 GB_2312_80
 GBK_95
 GB_18030_2000: cn-gb, csgb231280, euc-cn, gb18030, gb2312, gb_2312-80, gbk, x-euc-cn, x-gbk
@@ -122,20 +122,20 @@ CNS_11643_92_P1
 CNS_11643_92_P2
 CNS_11643_92_P3
 
-ISO_2022_JP: iso-2022-jp
-ISO_2022_JP_2: iso-2022-jp-2
-ISO_2022_JP_1: iso-2022-jp-1
-ISO_2022_JP_3: iso-2022-jp-3
+ISO_2022_JP, IsJapanese: iso-2022-jp, jis7
+ISO_2022_JP_2, IsJapanese: iso-2022-jp-2
+ISO_2022_JP_1, IsJapanese: iso-2022-jp-1
+ISO_2022_JP_3, IsJapanese: iso-2022-jp-3
 ISO_2022_CN: iso-2022-cn
 ISO_2022_CN_EXT: iso-2022-cn-ext
 ISO_2022_KR: iso-2022-kr
 
-EUC_JP: euc-jp, x-euc, x-euc-jp
+EUC_JP, IsJapanese: euc-jp, x-euc, x-euc-jp
 EUC_CN
 EUC_TW: euc-tw
 EUC_KR: cp949, euc-kr, ks_c_5601, ks_c_5601-1987, ks_c_5601_1987, ksc5601
 
-ShiftJIS
+ShiftJIS, IsJapanese
 KOI8_R: koi, koi8, koi8-r, koi8r
 Big5
 MacRomanLatin1: x-mac-roman-latin1
diff --git a/WebCore/kwq/make-charset-table.pl b/WebCore/kwq/make-charset-table.pl
index b1ec181..84163d7 100755
--- a/WebCore/kwq/make-charset-table.pl
+++ b/WebCore/kwq/make-charset-table.pl
@@ -95,8 +95,8 @@ sub process_mac_encodings
             for my $alias (sort keys %aliases) {
                 emit_line($alias, $MacName, $flags);
             }
-	} elsif (/^[a-zA-Z0-9_]+$/) {
-            my $MacName = $_;
+	} elsif (/^([a-zA-Z0-9_]+)(, (.+))?$/) {
+            my $MacName = $1;
             
             error "CFString encoding name $MacName is mentioned twice in mac-encodings.txt" if $seenMacNames{$MacName};
             $seenMacNames{$MacName} = 1;

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list