Changeset 118909 in webkit


Ignore:
Timestamp:
May 30, 2012 2:37:01 AM (12 years ago)
Author:
zoltan@webkit.org
Message:

[Qt] Set WebCore imagedecoders as default and add fallback to QImageDecoder
https://bugs.webkit.org/show_bug.cgi?id=80400

Source/WebCore:

This change modifies the default ImageDecoder for Qt-port from QImageDecoder to WebCore ImageDecoder.
The new behavior is to use QImageDecoder only if WebCoreImageDecoder - and the platform - doesn't support
the requested image type.
The WTF_USE_QT_IMAGE_DECODER macro has been removed, since it is no longer needed.

This change adds build depedency (except Qt-MAC and Qt-WIN platform) for libpng-dev and libjpeg-dev packages,
because PNG and JPEG imagedecoders need not only these libraries, but their headers also. Qmake-config
tests for these libraries were introduced in r110045.

Notice: with using libjpeg-turbo as a system library I measured 10% performance improvement on Methanol benchmark
(collection of popular sites, page-loading benchmark) with this patch.

Reviewed by Simon Hausmann.

No new tests needed.

  • Target.pri: Move WebCore ImageDecoder files out of guards. Remove ImageFrameQt.cpp from sources.
  • WebCore.pri: Move WebCore ImageDecoder include paths out of guards.
  • platform/MIMETypeRegistry.cpp:

(WebCore::initializeSupportedImageMIMETypes): Add WebCore supported and Qt supported MIME types.
(WebCore::initializeSupportedImageMIMETypesForEncoding): Use Qt supported MIME types.

  • platform/graphics/ImageSource.cpp: Remove unnecessary includes.
  • platform/graphics/ImageSource.h: Remove unnecessary typedefs.

(WebCore):

  • platform/graphics/qt/ImageDecoderQt.cpp: Remove ImageDecoder::create, since it is no longer needed.

(WebCore::ImageDecoderQt::filenameExtension): Remove unnecessary semicolon.
(WebCore::ImageDecoderQt::internalHandleCurrentImage): Use QImage and ImageFrame instead of QPixmap.
(WebCore):
(WebCore::ImageFrame::asNewNativeImage): Moved here from removed ImageFrameQt.cpp.

  • platform/image-decoders/ImageDecoder.cpp: Reorganize the includes of the header.

(WebCore::ImageDecoder::create): Add platform macro guarded fallback case for QImageDecoder. Add guards
for JPEG, PNG, ICO decoder for Qt-MAC and Qt-WIN platform.

  • platform/image-decoders/ImageDecoder.h: Remove Qt-specific codes.

(WebCore::ImageFrame::getAddr): Remove Qt-specific case, since it is no longer needed.
(ImageFrame):

  • platform/image-decoders/qt/ImageFrameQt.cpp: Removed. Dead code, other code has been moved to

ImageDecoderQt.cpp.

Source/WebKit/blackberry:

Get rid of QT_IMAGE_DECODER flag.

Reviewed by Simon Hausmann.

  • WebCoreSupport/AboutDataEnableFeatures.in:
Location:
trunk/Source
Files:
1 deleted
11 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r118907 r118909  
     12012-05-30  Zoltan Horvath  <zoltan@webkit.org>
     2
     3        [Qt] Set WebCore imagedecoders as default and add fallback to QImageDecoder
     4        https://bugs.webkit.org/show_bug.cgi?id=80400
     5
     6        This change modifies the default ImageDecoder for Qt-port from QImageDecoder to WebCore ImageDecoder.
     7        The new behavior is to use QImageDecoder only if WebCoreImageDecoder - and the platform - doesn't support
     8        the requested image type.
     9        The WTF_USE_QT_IMAGE_DECODER macro has been removed, since it is no longer needed.
     10
     11        This change adds build depedency (except Qt-MAC and Qt-WIN platform) for libpng-dev and libjpeg-dev packages,
     12        because PNG and JPEG imagedecoders need not only these libraries, but their headers also. Qmake-config
     13        tests for these libraries were introduced in r110045.
     14
     15        Notice: with using libjpeg-turbo as a system library I measured 10% performance improvement on Methanol benchmark
     16        (collection of popular sites, page-loading benchmark) with this patch.
     17
     18        Reviewed by Simon Hausmann.
     19
     20        No new tests needed.
     21
     22        * Target.pri: Move WebCore ImageDecoder files out of guards. Remove ImageFrameQt.cpp from sources.
     23        * WebCore.pri: Move WebCore ImageDecoder include paths out of guards.
     24        * platform/MIMETypeRegistry.cpp:
     25        (WebCore::initializeSupportedImageMIMETypes): Add WebCore supported and Qt supported MIME types.
     26        (WebCore::initializeSupportedImageMIMETypesForEncoding): Use Qt supported MIME types.
     27        * platform/graphics/ImageSource.cpp: Remove unnecessary includes.
     28        * platform/graphics/ImageSource.h: Remove unnecessary typedefs.
     29        (WebCore):
     30        * platform/graphics/qt/ImageDecoderQt.cpp: Remove ImageDecoder::create, since it is no longer needed.
     31        (WebCore::ImageDecoderQt::filenameExtension): Remove unnecessary semicolon.
     32        (WebCore::ImageDecoderQt::internalHandleCurrentImage): Use QImage and ImageFrame instead of QPixmap.
     33        (WebCore):
     34        (WebCore::ImageFrame::asNewNativeImage): Moved here from removed ImageFrameQt.cpp.
     35        * platform/image-decoders/ImageDecoder.cpp: Reorganize the includes of the header.
     36        (WebCore::ImageDecoder::create): Add platform macro guarded fallback case for QImageDecoder. Add guards
     37        for JPEG, PNG, ICO decoder for Qt-MAC and Qt-WIN platform.
     38        * platform/image-decoders/ImageDecoder.h: Remove Qt-specific codes.
     39        (WebCore::ImageFrame::getAddr): Remove Qt-specific case, since it is no longer needed.
     40        (ImageFrame):
     41        * platform/image-decoders/qt/ImageFrameQt.cpp: Removed. Dead code, other code has been moved to
     42        ImageDecoderQt.cpp.
     43
    1442012-05-23  Kinuko Yasuda  <kinuko@chromium.org>
    245
  • trunk/Source/WebCore/Target.pri

    r118735 r118909  
    10921092    platform/FileSystem.cpp \
    10931093    platform/HistogramSupport.cpp \
    1094     platform/image-decoders/qt/ImageFrameQt.cpp \
    10951094    platform/graphics/FontDescription.cpp \
    10961095    platform/graphics/FontFallbackList.cpp \
     
    11451144    platform/graphics/transforms/TransformState.cpp \
    11461145    platform/graphics/transforms/TranslateTransformOperation.cpp \
     1146    platform/image-decoders/ImageDecoder.cpp \
     1147    platform/image-decoders/bmp/BMPImageDecoder.cpp \
     1148    platform/image-decoders/bmp/BMPImageReader.cpp \
     1149    platform/image-decoders/gif/GIFImageDecoder.cpp \
     1150    platform/image-decoders/gif/GIFImageReader.cpp\
    11471151    platform/KillRingNone.cpp \
    11481152    platform/KURL.cpp \
     
    23012305    platform/graphics/transforms/TransformState.h \
    23022306    platform/graphics/transforms/TranslateTransformOperation.h \
     2307    platform/image-decoders/bmp/BMPImageDecoder.h \
     2308    platform/image-decoders/bmp/BMPImageReader.h \
     2309    platform/image-decoders/ico/ICOImageDecoder.h \
     2310    platform/image-decoders/gif/GIFImageDecoder.h \
     2311    platform/image-decoders/gif/GIFImageReader.h \
     2312    platform/image-decoders/jpeg/JPEGImageDecoder.h \
     2313    platform/image-decoders/png/PNGImageDecoder.h \
    23032314    platform/KillRing.h \
    23042315    platform/KURL.h \
     
    28782889    platform/graphics/qt/IconQt.cpp \
    28792890    platform/graphics/qt/ImageBufferQt.cpp \
     2891    platform/graphics/qt/ImageDecoderQt.cpp \
    28802892    platform/graphics/qt/ImageQt.cpp \
    28812893    platform/graphics/qt/IntPointQt.cpp \
     
    40534065}
    40544066
    4055 contains(DEFINES, WTF_USE_QT_IMAGE_DECODER=1) {
    4056     HEADERS += platform/graphics/qt/ImageDecoderQt.h
    4057     SOURCES += platform/graphics/qt/ImageDecoderQt.cpp
    4058 } else {
    4059     HEADERS += \
    4060         platform/image-decoders/bmp/BMPImageDecoder.h \
    4061         platform/image-decoders/bmp/BMPImageReader.h \
    4062         platform/image-decoders/gif/GIFImageDecoder.h \
    4063         platform/image-decoders/gif/GIFImageReader.h\
    4064         platform/image-decoders/ico/ICOImageDecoder.h \
    4065         platform/image-decoders/jpeg/JPEGImageDecoder.h \
    4066         platform/image-decoders/png/PNGImageDecoder.h
    4067 
    4068     SOURCES += \
    4069         platform/image-decoders/ImageDecoder.cpp \
    4070         platform/image-decoders/bmp/BMPImageDecoder.cpp \
    4071         platform/image-decoders/bmp/BMPImageReader.cpp \
    4072         platform/image-decoders/gif/GIFImageDecoder.cpp \
    4073         platform/image-decoders/gif/GIFImageReader.cpp\
    4074         platform/image-decoders/ico/ICOImageDecoder.cpp \
    4075         platform/image-decoders/jpeg/JPEGImageDecoder.cpp \
    4076         platform/image-decoders/png/PNGImageDecoder.cpp
    4077 
    4078     contains(DEFINES, WTF_USE_WEBP=1) {
    4079         HEADERS += platform/image-decoders/webp/WEBPImageDecoder.h
    4080         SOURCES += platform/image-decoders/webp/WEBPImageDecoder.cpp
    4081     }
     4067contains(DEFINES, HAVE_LIBPNG=1) {
     4068    SOURCES += platform/image-decoders/ico/ICOImageDecoder.cpp \
     4069               platform/image-decoders/png/PNGImageDecoder.cpp
     4070}
     4071
     4072contains(DEFINES, HAVE_LIBJPEG=1) {
     4073    SOURCES += platform/image-decoders/jpeg/JPEGImageDecoder.cpp
     4074}
     4075
     4076contains(DEFINES, WTF_USE_WEBP=1) {
     4077    INCLUDEPATH += platform/image-decoders/webp
     4078    HEADERS += platform/image-decoders/webp/WEBPImageDecoder.h
     4079    SOURCES += platform/image-decoders/webp/WEBPImageDecoder.cpp
    40824080}
    40834081
  • trunk/Source/WebCore/WebCore.pri

    r118377 r118909  
    6666    $$SOURCE_DIR/platform/graphics/transforms \
    6767    $$SOURCE_DIR/platform/image-decoders \
     68    $$SOURCE_DIR/platform/image-decoders/bmp \
     69    $$SOURCE_DIR/platform/image-decoders/ico \
     70    $$SOURCE_DIR/platform/image-decoders/gif \
     71    $$SOURCE_DIR/platform/image-decoders/jpeg \
     72    $$SOURCE_DIR/platform/image-decoders/png \
    6873    $$SOURCE_DIR/platform/leveldb \
    6974    $$SOURCE_DIR/platform/mock \
     
    224229}
    225230
    226 contains(DEFINES, WTF_USE_QT_IMAGE_DECODER=0) {
    227     INCLUDEPATH += \
    228         $$SOURCE_DIR/platform/image-decoders/bmp \
    229         $$SOURCE_DIR/platform/image-decoders/gif \
    230         $$SOURCE_DIR/platform/image-decoders/ico \
    231         $$SOURCE_DIR/platform/image-decoders/jpeg \
    232         $$SOURCE_DIR/platform/image-decoders/png
    233 
    234     haveQt(5) {
    235         # Qt5 allows us to use config tests to check for the presence of these libraries
    236         !contains(config_test_libjpeg, yes): error("JPEG library not found!")
    237         !contains(config_test_libpng, yes): error("PNG library not found!")
    238     }
    239 
    240     LIBS += -ljpeg -lpng
    241 
    242     contains(DEFINES, WTF_USE_WEBP=1) {
    243         INCLUDEPATH += $$SOURCE_DIR/platform/image-decoders/webp
    244         LIBS += -lwebp
     231contains(DEFINES, WTF_USE_WEBP=1) {
     232    INCLUDEPATH += $$SOURCE_DIR/platform/image-decoders/webp
     233    LIBS += -lwebp
     234}
     235
     236haveQt(5) {
     237    # Qt5 allows us to use config tests to check for the presence of these libraries
     238    contains(config_test_libjpeg, yes) {
     239        DEFINES += HAVE_LIBJPEG=1
     240        LIBS += -ljpeg
     241    } else {
     242        warning("JPEG library not found! QImageDecoder will decode JPEG images.")
     243    }
     244    contains(config_test_libpng, yes) {
     245        DEFINES += HAVE_LIBPNG=1
     246        LIBS += -lpng
     247    } else {
     248        warning("PNG library not found! QImageDecoder will decode PNG images.")
     249    }
     250} else {
     251    !win32-*:!mac {
     252        DEFINES += HAVE_LIBJPEG=1 HAVE_LIBPNG=1
     253        LIBS += -ljpeg -lpng
    245254    }
    246255}
  • trunk/Source/WebCore/platform/MIMETypeRegistry.cpp

    r116145 r118909  
    4040#include <wtf/RetainPtr.h>
    4141#endif
    42 #if PLATFORM(QT) && USE(QT_IMAGE_DECODER)
    43 #include <qimagereader.h>
    44 #include <qimagewriter.h>
     42#if PLATFORM(QT)
     43#include <QImageReader>
     44#include <QImageWriter>
    4545#endif
    4646
     
    228228    supportedImageMIMETypes->remove("application/postscript");
    229229
    230 #elif PLATFORM(QT) && USE(QT_IMAGE_DECODER)
    231     QList<QByteArray> formats = QImageReader::supportedImageFormats();
    232     for (size_t i = 0; i < static_cast<size_t>(formats.size()); ++i) {
    233 #if ENABLE(SVG)
    234         /*
    235          * Qt has support for SVG, but we want to use KSVG2
    236          */
    237         if (formats.at(i).toLower().startsWith("svg"))
    238             continue;
    239 #endif
    240         String mimeType = MIMETypeRegistry::getMIMETypeForExtension(formats.at(i).constData());
    241         if (!mimeType.isEmpty()) {
    242             supportedImageMIMETypes->add(mimeType);
    243             supportedImageResourceMIMETypes->add(mimeType);
    244         }
    245     }
    246230#else
    247231    // assume that all implementations at least support the following standard
     
    260244        supportedImageResourceMIMETypes->add(types[i]);
    261245    }
     246
     247#if PLATFORM(QT)
     248    QList<QByteArray> formats = QImageReader::supportedImageFormats();
     249    for (size_t i = 0; i < static_cast<size_t>(formats.size()); ++i) {
     250#if ENABLE(SVG)
     251        // Qt has support for SVG, but we want to use KSVG2
     252        if (formats.at(i).toLower().startsWith("svg"))
     253            continue;
     254#endif // ENABLE(SVG)
     255        String mimeType = MIMETypeRegistry::getMIMETypeForExtension(formats.at(i).constData());
     256        if (!mimeType.isEmpty()) {
     257            supportedImageMIMETypes->add(mimeType);
     258            supportedImageResourceMIMETypes->add(mimeType);
     259        }
     260     }
     261#endif // PLATFORM(QT)
    262262#endif
    263263}
     
    284284    supportedImageMIMETypesForEncoding->add("image/gif");
    285285#endif
    286 #elif PLATFORM(QT) && USE(QT_IMAGE_DECODER)
     286#elif PLATFORM(QT)
    287287    QList<QByteArray> formats = QImageWriter::supportedImageFormats();
    288288    for (int i = 0; i < formats.size(); ++i) {
     
    291291            supportedImageMIMETypesForEncoding->add(mimeType);
    292292    }
    293 #elif PLATFORM(GTK) || (PLATFORM(QT) && !USE(QT_IMAGE_DECODER))
     293#elif PLATFORM(GTK)
    294294    supportedImageMIMETypesForEncoding->add("image/png");
    295295    supportedImageMIMETypesForEncoding->add("image/jpeg");
  • trunk/Source/WebCore/platform/graphics/ImageSource.cpp

    r116105 r118909  
    3030#include "ImageSource.h"
    3131
    32 #if PLATFORM(QT)
    33 #include "ImageDecoderQt.h"
    34 #else
    3532#include "ImageDecoder.h"
    36 #endif
    3733
    3834#include "ImageOrientation.h"
  • trunk/Source/WebCore/platform/graphics/ImageSource.h

    r117355 r118909  
    7171typedef ImageDecoder* NativeImageSourcePtr;
    7272typedef TiledImageOpenVG* NativeImagePtr;
    73 #elif PLATFORM(QT)
    74 class ImageDecoderQt;
    75 typedef ImageDecoderQt* NativeImageSourcePtr;
    76 typedef QPixmap* NativeImagePtr;
    7773#else
    7874class ImageDecoder;
     
    9490typedef ImageDecoder* NativeImageSourcePtr;
    9591typedef void* NativeImagePtr;
     92#elif PLATFORM(QT)
     93typedef QPixmap* NativeImagePtr;
    9694#endif
    9795#endif
  • trunk/Source/WebCore/platform/graphics/qt/ImageDecoderQt.cpp

    r116105 r118909  
    3232#include <QtCore/QByteArray>
    3333#include <QtCore/QBuffer>
    34 
    3534#include <QtGui/QImageReader>
    36 #include <qdebug.h>
    3735
    3836namespace WebCore {
    39 
    40 ImageDecoder* ImageDecoder::create(const SharedBuffer& data, ImageSource::AlphaOption alphaOption, ImageSource::GammaAndColorProfileOption gammaAndColorProfileOption)
    41 {
    42     // We need at least 4 bytes to figure out what kind of image we're dealing with.
    43     if (data.size() < 4)
    44         return 0;
    45 
    46     return new ImageDecoderQt(alphaOption, gammaAndColorProfileOption);
    47 }
    4837
    4938ImageDecoderQt::ImageDecoderQt(ImageSource::AlphaOption alphaOption, ImageSource::GammaAndColorProfileOption gammaAndColorProfileOption)
     
    130119{
    131120    return String(m_format.constData(), m_format.length());
    132 };
     121}
    133122
    134123ImageFrame* ImageDecoderQt::frameBufferAtIndex(size_t index)
     
    195184bool ImageDecoderQt::internalHandleCurrentImage(size_t frameIndex)
    196185{
    197     QPixmap pixmap = QPixmap::fromImageReader(m_reader.get());
    198 
    199     if (pixmap.isNull()) {
     186    ImageFrame* const buffer = &m_frameBufferCache[frameIndex];
     187    QSize imageSize = m_reader->size();
     188
     189    if (!buffer->setSize(imageSize.width(), imageSize.height()))
     190        return false;
     191
     192    QImage image(reinterpret_cast<uchar*>(buffer->getAddr(0, 0)), imageSize.width(), imageSize.height(), sizeof(ImageFrame::PixelData) * imageSize.width(), m_reader->imageFormat());
     193
     194    buffer->setDuration(m_reader->nextImageDelay());
     195    m_reader->read(&image);
     196
     197    if (image.isNull()) {
    200198        frameCount();
    201199        repetitionCount();
     
    204202    }
    205203
    206     // now into the ImageFrame - even if the image is not
    207     ImageFrame* const buffer = &m_frameBufferCache[frameIndex];
    208     buffer->setOriginalFrameRect(m_reader->currentImageRect());
     204    buffer->setOriginalFrameRect(image.rect());
     205    buffer->setHasAlpha(image.hasAlphaChannel());
    209206    buffer->setStatus(ImageFrame::FrameComplete);
    210     buffer->setDuration(m_reader->nextImageDelay());
    211     buffer->setPixmap(pixmap);
     207
    212208    return true;
    213209}
     
    246242    m_buffer.clear();
    247243}
     244
     245NativeImagePtr ImageFrame::asNewNativeImage() const
     246{
     247    QImage::Format format;
     248    if (m_hasAlpha)
     249        format = m_premultiplyAlpha ?  QImage::Format_ARGB32_Premultiplied : QImage::Format_ARGB32;
     250    else
     251        format = QImage::Format_RGB32;
     252
     253    QImage img(reinterpret_cast<uchar*>(m_bytes), m_size.width(), m_size.height(), sizeof(PixelData) * m_size.width(), format);
     254
     255    return new QPixmap(QPixmap::fromImage(img));
     256}
     257
    248258}
    249259
  • trunk/Source/WebCore/platform/image-decoders/ImageDecoder.cpp

    r117355 r118909  
    2121
    2222#include "config.h"
    23 
    2423#include "ImageDecoder.h"
    25 
    26 #include <algorithm>
    27 #include <cmath>
    2824
    2925#include "BMPImageDecoder.h"
    3026#include "GIFImageDecoder.h"
    3127#include "ICOImageDecoder.h"
     28#if PLATFORM(QT)
     29#include "ImageDecoderQt.h"
     30#endif
    3231#include "JPEGImageDecoder.h"
    3332#include "PNGImageDecoder.h"
     33#include "SharedBuffer.h"
    3434#if USE(WEBP)
    3535#include "WEBPImageDecoder.h"
    3636#endif
    37 #include "SharedBuffer.h"
     37
     38#include <algorithm>
     39#include <cmath>
    3840
    3941using namespace std;
     
    108110        return new GIFImageDecoder(alphaOption, gammaAndColorProfileOption);
    109111
     112#if !PLATFORM(QT) || (PLATFORM(QT) && HAVE(LIBPNG))
    110113    if (matchesPNGSignature(contents))
    111114        return new PNGImageDecoder(alphaOption, gammaAndColorProfileOption);
    112115
     116    if (matchesICOSignature(contents) || matchesCURSignature(contents))
     117        return new ICOImageDecoder(alphaOption, gammaAndColorProfileOption);
     118#endif
     119
     120#if !PLATFORM(QT) || (PLATFORM(QT) && HAVE(LIBJPEG))
    113121    if (matchesJPEGSignature(contents))
    114122        return new JPEGImageDecoder(alphaOption, gammaAndColorProfileOption);
     123#endif
    115124
    116125#if USE(WEBP)
     
    122131        return new BMPImageDecoder(alphaOption, gammaAndColorProfileOption);
    123132
    124     if (matchesICOSignature(contents) || matchesCURSignature(contents))
    125         return new ICOImageDecoder(alphaOption, gammaAndColorProfileOption);
    126 
     133#if PLATFORM(QT)
     134    return new ImageDecoderQt(alphaOption, gammaAndColorProfileOption);
     135#endif
    127136    return 0;
    128137}
  • trunk/Source/WebCore/platform/image-decoders/ImageDecoder.h

    r117355 r118909  
    4141#include "NativeImageSkia.h"
    4242#include "SkColorPriv.h"
    43 #elif PLATFORM(QT)
    44 #include <QPixmap>
    45 #include <QImage>
    4643#endif
    4744
     
    6562                                      // contents
    6663        };
    67 #if USE(SKIA) || (PLATFORM(QT) && USE(QT_IMAGE_DECODER))
     64#if USE(SKIA)
    6865        typedef uint32_t PixelData;
    6966#else
     
    137134#if USE(SKIA)
    138135            return m_bitmap.bitmap().getAddr32(x, y);
    139 #elif PLATFORM(QT) && USE(QT_IMAGE_DECODER)
    140             m_image = m_pixmap.toImage();
    141             m_pixmap = QPixmap();
    142             return reinterpret_cast_ptr<QRgb*>(m_image.scanLine(y)) + x;
    143136#else
    144137            return m_bytes + (y * width()) + x;
    145138#endif
    146139        }
    147 
    148 #if PLATFORM(QT) && USE(QT_IMAGE_DECODER)
    149         void setPixmap(const QPixmap& pixmap);
    150 #endif
    151 
    152140    private:
    153141        int width() const;
     
    181169        ColorProfile m_colorProfile;
    182170#endif
    183 #elif PLATFORM(QT) && USE(QT_IMAGE_DECODER)
    184         mutable QPixmap m_pixmap;
    185         mutable QImage m_image;
    186         bool m_hasAlpha;
    187         IntSize m_size;
    188171#else
    189172        Vector<PixelData> m_backingStore;
  • trunk/Source/WebKit/blackberry/ChangeLog

    r118895 r118909  
     12012-05-30  Zoltan Horvath  <zoltan@webkit.org>
     2
     3        [Qt] Set WebCore imagedecoders as default and add fallback to QImageDecoder
     4        https://bugs.webkit.org/show_bug.cgi?id=80400
     5
     6        Get rid of QT_IMAGE_DECODER flag.
     7
     8        Reviewed by Simon Hausmann.
     9
     10        * WebCoreSupport/AboutDataEnableFeatures.in:
     11
    1122012-05-29  Max Feil  <mfeil@rim.com>
    213
  • trunk/Source/WebKit/blackberry/WebCoreSupport/AboutDataEnableFeatures.in

    r116105 r118909  
    108108PROGRESS_TAG
    109109PURGEABLE_MEMORY
    110 QT_IMAGE_DECODER
    111110QUOTA
    112111REGEXP_TRACING
Note: See TracChangeset for help on using the changeset viewer.