Title: [141255] trunk/Source
Revision
141255
Author
[email protected]
Date
2013-01-30 04:27:34 -0800 (Wed, 30 Jan 2013)

Log Message

[Qt] Remove QT4_UNICODE related code paths
https://bugs.webkit.org/show_bug.cgi?id=108316

Reviewed by Kenneth Rohde Christiansen.

Source/WebCore:

Get rid of QT4_UNICODE and any related code paths. The Qt port
requires Qt5 and ICU these days. This also allows for the removal
of TextCodecQt.

* Target.pri:
* platform/KURL.cpp:
(WebCore::appendEncodedHostname):
* platform/graphics/SurrogatePairAwareTextIterator.cpp:
(WebCore::SurrogatePairAwareTextIterator::normalizeVoicingMarks):
* platform/text/TextEncoding.cpp:
(WebCore::TextEncoding::encode):
* platform/text/TextEncodingRegistry.cpp:
(WebCore::extendTextCodecMaps):
* platform/text/qt/TextCodecQt.cpp: Removed.
* platform/text/qt/TextCodecQt.h: Removed.

Source/WebKit/blackberry:

* WebCoreSupport/AboutDataUseFeatures.in: The feature macro has been removed.

Source/WTF:

Get rid of QT4_UNICODE and any related code paths. The Qt port
requires Qt5 and ICU these days.

* WTF.gypi:
* WTF.pro:
* wtf/unicode/Unicode.h:
* wtf/unicode/qt4/UnicodeQt4.h: Removed.

Modified Paths

Removed Paths

Diff

Modified: trunk/Source/WTF/ChangeLog (141254 => 141255)


--- trunk/Source/WTF/ChangeLog	2013-01-30 12:21:29 UTC (rev 141254)
+++ trunk/Source/WTF/ChangeLog	2013-01-30 12:27:34 UTC (rev 141255)
@@ -1,3 +1,18 @@
+2013-01-30  Simon Hausmann  <[email protected]>
+
+        [Qt] Remove QT4_UNICODE related code paths
+        https://bugs.webkit.org/show_bug.cgi?id=108316
+
+        Reviewed by Kenneth Rohde Christiansen.
+
+        Get rid of QT4_UNICODE and any related code paths. The Qt port
+        requires Qt5 and ICU these days.
+
+        * WTF.gypi:
+        * WTF.pro:
+        * wtf/unicode/Unicode.h:
+        * wtf/unicode/qt4/UnicodeQt4.h: Removed.
+
 2013-01-29  Mark Lam  <[email protected]>
 
         Introducing WTF::TypeSafeEnum and DatabaseError.

Modified: trunk/Source/WTF/WTF.gypi (141254 => 141255)


--- trunk/Source/WTF/WTF.gypi	2013-01-30 12:21:29 UTC (rev 141254)
+++ trunk/Source/WTF/WTF.gypi	2013-01-30 12:27:34 UTC (rev 141255)
@@ -256,7 +256,6 @@
             'wtf/unicode/glib/UnicodeGLib.cpp',
             'wtf/unicode/glib/UnicodeGLib.h',
             'wtf/unicode/icu/CollatorICU.cpp',
-            'wtf/unicode/qt4/UnicodeQt4.h',
             'wtf/unicode/wchar/UnicodeWchar.cpp',
             'wtf/unicode/wchar/UnicodeWchar.h',
             'wtf/win/MainThreadWin.cpp',

Modified: trunk/Source/WTF/WTF.pro (141254 => 141255)


--- trunk/Source/WTF/WTF.pro	2013-01-30 12:21:29 UTC (rev 141254)
+++ trunk/Source/WTF/WTF.pro	2013-01-30 12:27:34 UTC (rev 141255)
@@ -178,7 +178,6 @@
     unicode/CharacterNames.h \
     unicode/Collator.h \
     unicode/icu/UnicodeIcu.h \
-    unicode/qt4/UnicodeQt4.h \
     unicode/ScriptCodesFromICU.h \
     unicode/Unicode.h \
     unicode/UnicodeMacrosFromICU.h \

Modified: trunk/Source/WTF/wtf/unicode/Unicode.h (141254 => 141255)


--- trunk/Source/WTF/wtf/unicode/Unicode.h	2013-01-30 12:21:29 UTC (rev 141254)
+++ trunk/Source/WTF/wtf/unicode/Unicode.h	2013-01-30 12:27:34 UTC (rev 141255)
@@ -28,9 +28,7 @@
 // Define platform neutral 8 bit character type (L is for Latin-1).
 typedef unsigned char LChar;
 
-#if USE(QT4_UNICODE)
-#include "qt4/UnicodeQt4.h"
-#elif USE(ICU_UNICODE)
+#if USE(ICU_UNICODE)
 #include <wtf/unicode/icu/UnicodeIcu.h>
 #elif USE(GLIB_UNICODE)
 #include <wtf/unicode/glib/UnicodeGLib.h>

Deleted: trunk/Source/WTF/wtf/unicode/qt4/UnicodeQt4.h (141254 => 141255)


--- trunk/Source/WTF/wtf/unicode/qt4/UnicodeQt4.h	2013-01-30 12:21:29 UTC (rev 141254)
+++ trunk/Source/WTF/wtf/unicode/qt4/UnicodeQt4.h	2013-01-30 12:27:34 UTC (rev 141255)
@@ -1,377 +0,0 @@
-/*
- *  Copyright (C) 2006 George Staikos <[email protected]>
- *  Copyright (C) 2006 Alexey Proskuryakov <[email protected]>
- *  Copyright (C) 2006, 2007, 2008, 2009 Apple Inc. All rights reserved.
- *
- *  This library is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Library General Public
- *  License as published by the Free Software Foundation; either
- *  version 2 of the License, or (at your option) any later version.
- *
- *  This library is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- *  Library General Public License for more details.
- *
- *  You should have received a copy of the GNU Library General Public License
- *  along with this library; see the file COPYING.LIB.  If not, write to
- *  the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- *  Boston, MA 02110-1301, USA.
- *
- */
-
-#ifndef WTF_UNICODE_QT4_H
-#define WTF_UNICODE_QT4_H
-
-#include <wtf/unicode/ScriptCodesFromICU.h>
-#include <wtf/unicode/UnicodeMacrosFromICU.h>
-
-#include <QChar>
-#include <QString>
-
-#include <config.h>
-
-#include <stdint.h>
-#if USE(ICU_UNICODE)
-#include <unicode/ubrk.h>
-#endif
-
-QT_BEGIN_NAMESPACE
-namespace QUnicodeTables {
-    struct Properties {
-        ushort category : 8;
-        ushort line_break_class : 8;
-        ushort direction : 8;
-        ushort combiningClass :8;
-        ushort joining : 2;
-        signed short digitValue : 6; /* 5 needed */
-        ushort unicodeVersion : 4;
-        ushort lowerCaseSpecial : 1;
-        ushort upperCaseSpecial : 1;
-        ushort titleCaseSpecial : 1;
-        ushort caseFoldSpecial : 1; /* currently unused */
-        signed short mirrorDiff : 16;
-        signed short lowerCaseDiff : 16;
-        signed short upperCaseDiff : 16;
-        signed short titleCaseDiff : 16;
-        signed short caseFoldDiff : 16;
-    };
-    Q_CORE_EXPORT const Properties * QT_FASTCALL properties(uint ucs4);
-    Q_CORE_EXPORT const Properties * QT_FASTCALL properties(ushort ucs2);
-}
-QT_END_NAMESPACE
-
-// ugly hack to make UChar compatible with JSChar in API/JSStringRef.h
-#if defined(Q_OS_WIN) || (COMPILER(RVCT) && !OS(LINUX))
-typedef wchar_t UChar;
-#else
-typedef uint16_t UChar;
-#endif
-
-#if !USE(ICU_UNICODE)
-typedef uint32_t UChar32;
-#endif
-
-namespace WTF {
-namespace Unicode {
-
-enum Direction {
-    LeftToRight = QChar::DirL,
-    RightToLeft = QChar::DirR,
-    EuropeanNumber = QChar::DirEN,
-    EuropeanNumberSeparator = QChar::DirES,
-    EuropeanNumberTerminator = QChar::DirET,
-    ArabicNumber = QChar::DirAN,
-    CommonNumberSeparator = QChar::DirCS,
-    BlockSeparator = QChar::DirB,
-    SegmentSeparator = QChar::DirS,
-    WhiteSpaceNeutral = QChar::DirWS,
-    OtherNeutral = QChar::DirON,
-    LeftToRightEmbedding = QChar::DirLRE,
-    LeftToRightOverride = QChar::DirLRO,
-    RightToLeftArabic = QChar::DirAL,
-    RightToLeftEmbedding = QChar::DirRLE,
-    RightToLeftOverride = QChar::DirRLO,
-    PopDirectionalFormat = QChar::DirPDF,
-    NonSpacingMark = QChar::DirNSM,
-    BoundaryNeutral = QChar::DirBN
-};
-
-enum DecompositionType {
-    DecompositionNone = QChar::NoDecomposition,
-    DecompositionCanonical = QChar::Canonical,
-    DecompositionCompat = QChar::Compat,
-    DecompositionCircle = QChar::Circle,
-    DecompositionFinal = QChar::Final,
-    DecompositionFont = QChar::Font,
-    DecompositionFraction = QChar::Fraction,
-    DecompositionInitial = QChar::Initial,
-    DecompositionIsolated = QChar::Isolated,
-    DecompositionMedial = QChar::Medial,
-    DecompositionNarrow = QChar::Narrow,
-    DecompositionNoBreak = QChar::NoBreak,
-    DecompositionSmall = QChar::Small,
-    DecompositionSquare = QChar::Square,
-    DecompositionSub = QChar::Sub,
-    DecompositionSuper = QChar::Super,
-    DecompositionVertical = QChar::Vertical,
-    DecompositionWide = QChar::Wide
-};
-
-enum CharCategory {
-    NoCategory = 0,
-    Mark_NonSpacing = U_MASK(QChar::Mark_NonSpacing),
-    Mark_SpacingCombining = U_MASK(QChar::Mark_SpacingCombining),
-    Mark_Enclosing = U_MASK(QChar::Mark_Enclosing),
-    Number_DecimalDigit = U_MASK(QChar::Number_DecimalDigit),
-    Number_Letter = U_MASK(QChar::Number_Letter),
-    Number_Other = U_MASK(QChar::Number_Other),
-    Separator_Space = U_MASK(QChar::Separator_Space),
-    Separator_Line = U_MASK(QChar::Separator_Line),
-    Separator_Paragraph = U_MASK(QChar::Separator_Paragraph),
-    Other_Control = U_MASK(QChar::Other_Control),
-    Other_Format = U_MASK(QChar::Other_Format),
-    Other_Surrogate = U_MASK(QChar::Other_Surrogate),
-    Other_PrivateUse = U_MASK(QChar::Other_PrivateUse),
-    Other_NotAssigned = U_MASK(QChar::Other_NotAssigned),
-    Letter_Uppercase = U_MASK(QChar::Letter_Uppercase),
-    Letter_Lowercase = U_MASK(QChar::Letter_Lowercase),
-    Letter_Titlecase = U_MASK(QChar::Letter_Titlecase),
-    Letter_Modifier = U_MASK(QChar::Letter_Modifier),
-    Letter_Other = U_MASK(QChar::Letter_Other),
-    Punctuation_Connector = U_MASK(QChar::Punctuation_Connector),
-    Punctuation_Dash = U_MASK(QChar::Punctuation_Dash),
-    Punctuation_Open = U_MASK(QChar::Punctuation_Open),
-    Punctuation_Close = U_MASK(QChar::Punctuation_Close),
-    Punctuation_InitialQuote = U_MASK(QChar::Punctuation_InitialQuote),
-    Punctuation_FinalQuote = U_MASK(QChar::Punctuation_FinalQuote),
-    Punctuation_Other = U_MASK(QChar::Punctuation_Other),
-    Symbol_Math = U_MASK(QChar::Symbol_Math),
-    Symbol_Currency = U_MASK(QChar::Symbol_Currency),
-    Symbol_Modifier = U_MASK(QChar::Symbol_Modifier),
-    Symbol_Other = U_MASK(QChar::Symbol_Other)
-};
-
-
-// FIXME: handle surrogates correctly in all methods
-
-inline UChar32 toLower(UChar32 ch)
-{
-    return QChar::toLower(uint32_t(ch));
-}
-
-inline int toLower(UChar* result, int resultLength, const UChar* src, int srcLength,  bool* error)
-{
-    const UChar *e = src + srcLength;
-    const UChar *s = src;
-    UChar *r = result;
-    uint rindex = 0;
-
-    // this avoids one out of bounds check in the loop
-    if (s < e && QChar(*s).isLowSurrogate()) {
-        if (r)
-            r[rindex] = *s++;
-        ++rindex;
-    }
-
-    int needed = 0;
-    while (s < e && (rindex < uint(resultLength) || !r)) {
-        uint c = *s;
-        if (QChar(c).isLowSurrogate() && QChar(*(s - 1)).isHighSurrogate())
-            c = QChar::surrogateToUcs4(*(s - 1), c);
-        const QUnicodeTables::Properties *prop = QUnicodeTables::properties(c);
-        if (prop->lowerCaseSpecial) {
-            QString qstring;
-            if (c < 0x10000) {
-                qstring += QChar(c);
-            } else {
-                qstring += QChar(*(s-1));
-                qstring += QChar(*s);
-            }
-            qstring = qstring.toLower();
-            for (int i = 0; i < qstring.length(); ++i) {
-                if (rindex >= uint(resultLength)) {
-                    needed += qstring.length() - i;
-                    break;
-                }
-                if (r)
-                    r[rindex] = qstring.at(i).unicode();
-                ++rindex;
-            }
-        } else {
-            if (r)
-                r[rindex] = *s + prop->lowerCaseDiff;
-            ++rindex;
-        }
-        ++s;
-    }
-    if (s < e)
-        needed += e - s;
-    *error = (needed != 0);
-    if (rindex < uint(resultLength))
-        r[rindex] = 0;
-    return rindex + needed;
-}
-
-inline UChar32 toUpper(UChar32 c)
-{
-    return QChar::toUpper(uint32_t(c));
-}
-
-inline int toUpper(UChar* result, int resultLength, const UChar* src, int srcLength,  bool* error)
-{
-    const UChar *e = src + srcLength;
-    const UChar *s = src;
-    UChar *r = result;
-    int rindex = 0;
-
-    // this avoids one out of bounds check in the loop
-    if (s < e && QChar(*s).isLowSurrogate()) {
-        if (r)
-            r[rindex] = *s++;
-        ++rindex;
-    }
-
-    int needed = 0;
-    while (s < e && (rindex < resultLength || !r)) {
-        uint c = *s;
-        if (QChar(c).isLowSurrogate() && QChar(*(s - 1)).isHighSurrogate())
-            c = QChar::surrogateToUcs4(*(s - 1), c);
-        const QUnicodeTables::Properties *prop = QUnicodeTables::properties(c);
-        if (prop->upperCaseSpecial) {
-            QString qstring;
-            if (c < 0x10000) {
-                qstring += QChar(c);
-            } else {
-                qstring += QChar(*(s-1));
-                qstring += QChar(*s);
-            }
-            qstring = qstring.toUpper();
-            for (int i = 0; i < qstring.length(); ++i) {
-                if (rindex >= resultLength) {
-                    needed += qstring.length() - i;
-                    break;
-                }
-                if (r)
-                    r[rindex] = qstring.at(i).unicode();
-                ++rindex;
-            }
-        } else {
-            if (r)
-                r[rindex] = *s + prop->upperCaseDiff;
-            ++rindex;
-        }
-        ++s;
-    }
-    if (s < e)
-        needed += e - s;
-    *error = (needed != 0);
-    if (rindex < resultLength)
-        r[rindex] = 0;
-    return rindex + needed;
-}
-
-inline int toTitleCase(UChar32 c)
-{
-    return QChar::toTitleCase(uint32_t(c));
-}
-
-inline UChar32 foldCase(UChar32 c)
-{
-    return QChar::toCaseFolded(uint32_t(c));
-}
-
-inline int foldCase(UChar* result, int resultLength, const UChar* src, int srcLength,  bool* error)
-{
-    // FIXME: handle special casing. Easiest with some low level API in Qt
-    *error = false;
-    if (resultLength < srcLength) {
-        *error = true;
-        return srcLength;
-    }
-    for (int i = 0; i < srcLength; ++i)
-        result[i] = QChar::toCaseFolded(ushort(src[i]));
-    return srcLength;
-}
-
-inline bool isArabicChar(UChar32 c)
-{
-    return c >= 0x0600 && c <= 0x06FF;
-}
-
-inline bool isPrintableChar(UChar32 c)
-{
-    const uint test = U_MASK(QChar::Other_Control) |
-                      U_MASK(QChar::Other_NotAssigned);
-    return !(U_MASK(QChar::category(uint32_t(c))) & test);
-}
-
-inline bool isSeparatorSpace(UChar32 c)
-{
-    return QChar::category(uint32_t(c)) == QChar::Separator_Space;
-}
-
-inline bool isPunct(UChar32 c)
-{
-    const uint test = U_MASK(QChar::Punctuation_Connector) |
-                      U_MASK(QChar::Punctuation_Dash) |
-                      U_MASK(QChar::Punctuation_Open) |
-                      U_MASK(QChar::Punctuation_Close) |
-                      U_MASK(QChar::Punctuation_InitialQuote) |
-                      U_MASK(QChar::Punctuation_FinalQuote) |
-                      U_MASK(QChar::Punctuation_Other);
-    return U_MASK(QChar::category(uint32_t(c))) & test;
-}
-
-inline bool isLower(UChar32 c)
-{
-    return QChar::category(uint32_t(c)) == QChar::Letter_Lowercase;
-}
-
-inline bool hasLineBreakingPropertyComplexContext(UChar32)
-{
-    // FIXME: Implement this to return whether the character has line breaking property SA (Complex Context).
-    return false;
-}
-
-inline UChar32 mirroredChar(UChar32 c)
-{
-    return QChar::mirroredChar(uint32_t(c));
-}
-
-inline uint8_t combiningClass(UChar32 c)
-{
-    return QChar::combiningClass(uint32_t(c));
-}
-
-inline DecompositionType decompositionType(UChar32 c)
-{
-    return (DecompositionType)QChar::decompositionTag(c);
-}
-
-inline int umemcasecmp(const UChar* a, const UChar* b, int len)
-{
-    // handle surrogates correctly
-    for (int i = 0; i < len; ++i) {
-        uint c1 = QChar::toCaseFolded(ushort(a[i]));
-        uint c2 = QChar::toCaseFolded(ushort(b[i]));
-        if (c1 != c2)
-            return c1 - c2;
-    }
-    return 0;
-}
-
-inline Direction direction(UChar32 c)
-{
-    return (Direction)QChar::direction(uint32_t(c));
-}
-
-inline CharCategory category(UChar32 c)
-{
-    return (CharCategory) U_MASK(QChar::category(uint32_t(c)));
-}
-
-} // namespace Unicode
-} // namespace WTF
-
-#endif // WTF_UNICODE_QT4_H

Modified: trunk/Source/WebCore/ChangeLog (141254 => 141255)


--- trunk/Source/WebCore/ChangeLog	2013-01-30 12:21:29 UTC (rev 141254)
+++ trunk/Source/WebCore/ChangeLog	2013-01-30 12:27:34 UTC (rev 141255)
@@ -1,3 +1,26 @@
+2013-01-30  Simon Hausmann  <[email protected]>
+
+        [Qt] Remove QT4_UNICODE related code paths
+        https://bugs.webkit.org/show_bug.cgi?id=108316
+
+        Reviewed by Kenneth Rohde Christiansen.
+
+        Get rid of QT4_UNICODE and any related code paths. The Qt port
+        requires Qt5 and ICU these days. This also allows for the removal
+        of TextCodecQt.
+
+        * Target.pri:
+        * platform/KURL.cpp:
+        (WebCore::appendEncodedHostname):
+        * platform/graphics/SurrogatePairAwareTextIterator.cpp:
+        (WebCore::SurrogatePairAwareTextIterator::normalizeVoicingMarks):
+        * platform/text/TextEncoding.cpp:
+        (WebCore::TextEncoding::encode):
+        * platform/text/TextEncodingRegistry.cpp:
+        (WebCore::extendTextCodecMaps):
+        * platform/text/qt/TextCodecQt.cpp: Removed.
+        * platform/text/qt/TextCodecQt.h: Removed.
+
 2013-01-30  David Kilzer  <[email protected]>
 
         BUILD FIX: Make WebCorePrefix.h build on iOS

Modified: trunk/Source/WebCore/Target.pri (141254 => 141255)


--- trunk/Source/WebCore/Target.pri	2013-01-30 12:21:29 UTC (rev 141254)
+++ trunk/Source/WebCore/Target.pri	2013-01-30 12:27:34 UTC (rev 141255)
@@ -2357,7 +2357,6 @@
     platform/text/DecodeEscapeSequences.h \
     platform/text/Hyphenation.h \
     platform/text/QuotedPrintable.h \
-    platform/text/qt/TextCodecQt.h \
     platform/text/RegularExpression.h \
     platform/text/SegmentedString.h \
     platform/text/TextBoundaries.h \
@@ -2927,7 +2926,6 @@
     platform/qt/TemporaryLinkStubsQt.cpp \
     platform/text/qt/TextBoundariesQt.cpp \
     platform/text/qt/TextBreakIteratorInternalICUQt.cpp \
-    platform/text/qt/TextCodecQt.cpp \
     platform/qt/WidgetQt.cpp
 
 use?(LIBXML2) {

Modified: trunk/Source/WebCore/platform/KURL.cpp (141254 => 141255)


--- trunk/Source/WebCore/platform/KURL.cpp	2013-01-30 12:21:29 UTC (rev 141254)
+++ trunk/Source/WebCore/platform/KURL.cpp	2013-01-30 12:27:34 UTC (rev 141255)
@@ -44,8 +44,6 @@
 
 #if USE(ICU_UNICODE)
 #include <unicode/uidna.h>
-#elif USE(QT4_UNICODE)
-#include <QUrl>
 #elif USE(GLIB_UNICODE)
 #include <glib.h>
 #include <wtf/gobject/GOwnPtr.h>
@@ -1487,9 +1485,6 @@
         hostnameBufferLength, UIDNA_ALLOW_UNASSIGNED, 0, &error);
     if (error == U_ZERO_ERROR)
         buffer.append(hostnameBuffer, numCharactersConverted);
-#elif USE(QT4_UNICODE)
-    QByteArray result = QUrl::toAce(String(str, strLen));
-    buffer.append(result.constData(), result.length());
 #elif USE(GLIB_UNICODE)
     GOwnPtr<gchar> utf8Hostname;
     GOwnPtr<GError> utf8Err;

Modified: trunk/Source/WebCore/platform/graphics/SurrogatePairAwareTextIterator.cpp (141254 => 141255)


--- trunk/Source/WebCore/platform/graphics/SurrogatePairAwareTextIterator.cpp	2013-01-30 12:21:29 UTC (rev 141254)
+++ trunk/Source/WebCore/platform/graphics/SurrogatePairAwareTextIterator.cpp	2013-01-30 12:27:34 UTC (rev 141255)
@@ -90,11 +90,6 @@
         int32_t resultLength = unorm_normalize(m_characters, 2, UNORM_NFC, UNORM_UNICODE_3_2, &normalizedCharacters[0], 2, &uStatus);
         if (resultLength == 1 && !uStatus)
             return normalizedCharacters[0];
-#elif USE(QT4_UNICODE)
-        QString tmp(reinterpret_cast<const QChar*>(m_characters), 2);
-        QString res = tmp.normalized(QString::NormalizationForm_C, QChar::Unicode_3_2);
-        if (res.length() == 1)
-            return res.at(0).unicode();
 #endif
     }
 

Modified: trunk/Source/WebCore/platform/text/TextEncoding.cpp (141254 => 141255)


--- trunk/Source/WebCore/platform/text/TextEncoding.cpp	2013-01-30 12:21:29 UTC (rev 141254)
+++ trunk/Source/WebCore/platform/text/TextEncoding.cpp	2013-01-30 12:27:34 UTC (rev 141255)
@@ -37,8 +37,6 @@
 
 #if USE(ICU_UNICODE)
 #include <unicode/unorm.h>
-#elif USE(QT4_UNICODE)
-#include <QString>
 #elif USE(GLIB_UNICODE)
 #include <glib.h>
 #include <wtf/gobject/GOwnPtr.h>
@@ -106,10 +104,6 @@
         sourceLength = normalizedLength;
     }
     return newTextCodec(*this)->encode(source, sourceLength, handling);
-#elif USE(QT4_UNICODE)
-    QString str(reinterpret_cast<const QChar*>(characters), length);
-    str = str.normalized(QString::NormalizationForm_C);
-    return newTextCodec(*this)->encode(reinterpret_cast<const UChar *>(str.utf16()), str.length(), handling);
 #elif USE(GLIB_UNICODE)
     GOwnPtr<char> UTF8Source;
     UTF8Source.set(g_utf16_to_utf8(characters, length, 0, 0, 0));

Modified: trunk/Source/WebCore/platform/text/TextEncodingRegistry.cpp (141254 => 141255)


--- trunk/Source/WebCore/platform/text/TextEncodingRegistry.cpp	2013-01-30 12:21:29 UTC (rev 141254)
+++ trunk/Source/WebCore/platform/text/TextEncodingRegistry.cpp	2013-01-30 12:27:34 UTC (rev 141255)
@@ -45,9 +45,6 @@
 #if PLATFORM(MAC)
 #include "TextCodecMac.h"
 #endif
-#if USE(QT4_UNICODE)
-#include "qt/TextCodecQt.h"
-#endif
 #if USE(GLIB_UNICODE)
 #include "gtk/TextCodecGtk.h"
 #endif
@@ -296,11 +293,6 @@
     TextCodecICU::registerCodecs(addToTextCodecMap);
 #endif
 
-#if USE(QT4_UNICODE)
-    TextCodecQt::registerEncodingNames(addToTextEncodingNameMap);
-    TextCodecQt::registerCodecs(addToTextCodecMap);
-#endif
-
 #if PLATFORM(MAC)
     TextCodecMac::registerEncodingNames(addToTextEncodingNameMap);
     TextCodecMac::registerCodecs(addToTextCodecMap);

Deleted: trunk/Source/WebCore/platform/text/qt/TextCodecQt.cpp (141254 => 141255)


--- trunk/Source/WebCore/platform/text/qt/TextCodecQt.cpp	2013-01-30 12:21:29 UTC (rev 141254)
+++ trunk/Source/WebCore/platform/text/qt/TextCodecQt.cpp	2013-01-30 12:27:34 UTC (rev 141255)
@@ -1,160 +0,0 @@
-/*
- * Copyright (C) 2006 Lars Knoll <[email protected]>
- * Copyright (C) 2008 Holger Hans Peter Freyther
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE COMPUTER, INC. OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
- * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include "config.h"
-#if USE(QT4_UNICODE)
-#include "TextCodecQt.h"
-
-#include <qset.h>
-#include <wtf/text/CString.h>
-#include <wtf/text/WTFString.h>
-
-namespace WebCore {
-
-static QSet<QByteArray> *unique_names = 0;
-
-static const char *getAtomicName(const QByteArray &name)
-{
-    if (!unique_names)
-        unique_names = new QSet<QByteArray>;
-
-    unique_names->insert(name);
-    return unique_names->find(name)->constData();
-}
-
-void TextCodecQt::registerEncodingNames(EncodingNameRegistrar registrar)
-{
-    QList<int> mibs = QTextCodec::availableMibs();
-
-    for (int i = 0; i < mibs.size(); ++i) {
-        QTextCodec *c = QTextCodec::codecForMib(mibs.at(i));
-        const char *name = getAtomicName(c->name());
-        registrar(name, name);
-        QList<QByteArray> aliases = c->aliases();
-        for (int i = 0; i < aliases.size(); ++i) {
-            const char *a = getAtomicName(aliases.at(i));
-            registrar(a, name);
-        }
-    }
-}
-
-static PassOwnPtr<TextCodec> newTextCodecQt(const TextEncoding& encoding, const void*)
-{
-    return adoptPtr(new TextCodecQt(encoding));
-}
-
-void TextCodecQt::registerCodecs(TextCodecRegistrar registrar)
-{
-    QList<int> mibs = QTextCodec::availableMibs();
-
-    for (int i = 0; i < mibs.size(); ++i) {
-        QTextCodec *c = QTextCodec::codecForMib(mibs.at(i));
-        const char *name = getAtomicName(c->name());
-        registrar(name, newTextCodecQt, 0);
-    }
-}
-
-TextCodecQt::TextCodecQt(const TextEncoding& encoding)
-    : m_encoding(encoding)
-{
-    m_codec = QTextCodec::codecForName(m_encoding.name());
-}
-
-TextCodecQt::~TextCodecQt()
-{
-}
-
-
-String TextCodecQt::decode(const char* bytes, size_t length, bool flush, bool /*stopOnError*/, bool& sawError)
-{
-    // We chop input buffer to smaller buffers to avoid excessive memory consumption
-    // when the input buffer is big.  This helps reduce peak memory consumption in
-    // mobile devices where system RAM is limited.
-    static const int MaxInputChunkSize = 1024 * 1024;
-    const char* buf = bytes;
-    const char* end = buf + length;
-    String unicode(""); // a non-null string is expected
-
-    while (buf < end) {
-        int size = end - buf;
-        size = qMin(size, MaxInputChunkSize);
-        QString decoded = m_codec->toUnicode(buf, size, &m_state);
-        unicode.append(reinterpret_cast_ptr<const UChar*>(decoded.unicode()), decoded.length());
-        buf += size;
-    }
-
-    sawError = m_state.invalidChars != 0;
-
-    if (flush) {
-        m_state.flags = QTextCodec::DefaultConversion;
-        m_state.remainingChars = 0;
-        m_state.invalidChars = 0;
-    }
-
-    return unicode;
-}
-
-CString TextCodecQt::encode(const UChar* characters, size_t length, UnencodableHandling handling)
-{
-    QTextCodec::ConverterState state;
-    state.flags = QTextCodec::ConversionFlags(QTextCodec::ConvertInvalidToNull | QTextCodec::IgnoreHeader);
-
-    if (!length)
-        return "";
-
-    QByteArray ba = m_codec->fromUnicode(reinterpret_cast<const QChar*>(characters), length, &state);
-
-    // If some <b> characters </b> are unencodable, escape them as specified by <b> handling </b>
-    // We append one valid encoded chunk to a QByteArray at a time. When we encounter an unencodable chunk we
-    // escape it with getUnencodableReplacement, append it, then move to the next chunk.
-    if (state.invalidChars) {
-        state.invalidChars = 0;
-        state.remainingChars = 0;
-        int len = 0;
-        ba.clear();
-        for (size_t pos = 0; pos < length; ++pos) {
-            QByteArray tba = m_codec->fromUnicode(reinterpret_cast<const QChar*>(characters), ++len, &state);
-            if (state.remainingChars)
-                continue;
-            if (state.invalidChars) {
-                UnencodableReplacementArray replacement;
-                getUnencodableReplacement(characters[0], handling, replacement);
-                tba.replace('\0', replacement);
-                state.invalidChars = 0;
-            }
-            ba.append(tba);
-            characters += len;
-            len = 0;
-            state.remainingChars = 0;
-        }
-    }
-
-    return CString(ba.constData(), ba.length());
-}
-
-
-} // namespace WebCore
-#endif

Deleted: trunk/Source/WebCore/platform/text/qt/TextCodecQt.h (141254 => 141255)


--- trunk/Source/WebCore/platform/text/qt/TextCodecQt.h	2013-01-30 12:21:29 UTC (rev 141254)
+++ trunk/Source/WebCore/platform/text/qt/TextCodecQt.h	2013-01-30 12:27:34 UTC (rev 141255)
@@ -1,54 +0,0 @@
-/*
- * Copyright (C) 2006 Lars Knoll <[email protected]>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE COMPUTER, INC. OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
- * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef TextCodecQt_h
-#define TextCodecQt_h
-
-#include "TextCodec.h"
-#include "TextEncoding.h"
-#include <QTextCodec>
-
-namespace WebCore {
-
-    class TextCodecQt : public TextCodec {
-    public:
-        static void registerEncodingNames(EncodingNameRegistrar);
-        static void registerCodecs(TextCodecRegistrar);
-
-        TextCodecQt(const TextEncoding&);
-        virtual ~TextCodecQt();
-
-        virtual String decode(const char*, size_t length, bool flush, bool stopOnError, bool& sawError);
-        virtual CString encode(const UChar*, size_t length, UnencodableHandling);
-
-    private:
-        TextEncoding m_encoding;
-        QTextCodec *m_codec;
-        QTextCodec::ConverterState m_state;
-    };
-
-} // namespace WebCore
-
-#endif // TextCodecICU_h

Modified: trunk/Source/WebKit/blackberry/ChangeLog (141254 => 141255)


--- trunk/Source/WebKit/blackberry/ChangeLog	2013-01-30 12:21:29 UTC (rev 141254)
+++ trunk/Source/WebKit/blackberry/ChangeLog	2013-01-30 12:27:34 UTC (rev 141255)
@@ -1,3 +1,12 @@
+2013-01-30  Simon Hausmann  <[email protected]>
+
+        [Qt] Remove QT4_UNICODE related code paths
+        https://bugs.webkit.org/show_bug.cgi?id=108316
+
+        Reviewed by Kenneth Rohde Christiansen.
+
+        * WebCoreSupport/AboutDataUseFeatures.in: The feature macro has been removed.
+
 2013-01-29  Sheriff Bot  <[email protected]>
 
         Unreviewed, rolling out r140983.

Modified: trunk/Source/WebKit/blackberry/WebCoreSupport/AboutDataUseFeatures.in (141254 => 141255)


--- trunk/Source/WebKit/blackberry/WebCoreSupport/AboutDataUseFeatures.in	2013-01-30 12:21:29 UTC (rev 141254)
+++ trunk/Source/WebKit/blackberry/WebCoreSupport/AboutDataUseFeatures.in	2013-01-30 12:27:34 UTC (rev 141255)
@@ -76,7 +76,6 @@
 PTHREAD_BASED_QT
 PTHREAD_GETSPECIFIC_DIRECT
 PTHREADS
-QT4_UNICODE
 QTKIT
 QT_MOBILE_THEME
 QT_MOBILITY_SYSTEMINFO
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to