Changeset 84057 in webkit
- Timestamp:
- Apr 15, 2011 5:05:36 PM (13 years ago)
- Location:
- trunk
- Files:
-
- 27 added
- 15 edited
- 2 copied
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r84056 r84057 1 2011-04-15 Luiz Agostini <luiz.agostini@openbossa.org> 2 3 Rubberstamped by Andreas Kling. 4 5 [Qt] QWebPage MIME type handling inconsistency with other web browsers 6 https://bugs.webkit.org/show_bug.cgi?id=46968 7 8 Unskipping http/tests/loading/text-content-type-with-binary-extension.html. 9 10 * platform/qt/Skipped: 11 1 12 2011-04-15 Emil A Eklund <eae@chromium.org> 2 13 -
trunk/LayoutTests/platform/qt/Skipped
r84053 r84057 241 241 http/tests/media 242 242 http/tests/wml 243 244 # - content sniffing - Binary data not loaded as text.245 http/tests/loading/text-content-type-with-binary-extension.html246 243 247 244 # drag n drop support again -
trunk/Source/WebCore/ChangeLog
r84056 r84057 1 2011-04-08 Luiz Agostini <luiz.agostini@openbossa.org> 2 3 Reviewed by Kenneth Rohde Christiansen. 4 5 [Qt] QWebPage MIME type handling inconsistency with other web browsers 6 https://bugs.webkit.org/show_bug.cgi?id=46968 7 8 Implementing mime type sniffing based on 9 http://tools.ietf.org/html/draft-abarth-mime-sniff-06. 10 11 * WebCore.pro: 12 * platform/network/MIMESniffing.cpp: Added. 13 (MagicNumbers::dataSizeNeededForImageSniffing): 14 (MagicNumbers::maskedCompare): 15 (MagicNumbers::checkSpaceOrBracket): 16 (MagicNumbers::compare): 17 (MagicNumbers::findMIMEType): 18 (MagicNumbers::findSimpleMIMEType): 19 (MagicNumbers::textOrBinaryTypeSniffingProcedure): 20 (MagicNumbers::unknownTypeSniffingProcedure): 21 (MagicNumbers::imageTypeSniffingProcedure): 22 (MagicNumbers::checkText): 23 (MagicNumbers::checkRDF): 24 (MagicNumbers::skipTag): 25 (MagicNumbers::feedTypeSniffingProcedure): 26 (MIMESniffer::MIMESniffer): 27 * platform/network/MIMESniffing.h: Added. 28 (MIMESniffer::dataSize): 29 (MIMESniffer::sniff): 30 (MIMESniffer::isValid): 31 * platform/network/NetworkingContext.h: 32 * platform/network/qt/QNetworkReplyHandler.cpp: 33 (WebCore::QNetworkReplyWrapper::QNetworkReplyWrapper): 34 (WebCore::QNetworkReplyWrapper::release): 35 (WebCore::QNetworkReplyWrapper::receiveMetaData): 36 (WebCore::QNetworkReplyWrapper::receiveSniffedMIMEType): 37 (WebCore::QNetworkReplyWrapper::emitMetaDataChanged): 38 (WebCore::QNetworkReplyHandler::sendResponseIfNeeded): 39 (WebCore::QNetworkReplyHandler::sendNetworkRequest): 40 (WebCore::QNetworkReplyHandler::start): 41 * platform/network/qt/QNetworkReplyHandler.h: 42 (WebCore::QNetworkReplyWrapper::advertisedMIMEType): 43 (WebCore::QNetworkReplyWrapper::mimeType): 44 * platform/network/qt/QtMIMETypeSniffer.cpp: Added. 45 (QtMIMETypeSniffer::QtMIMETypeSniffer): 46 (QtMIMETypeSniffer::sniff): 47 (QtMIMETypeSniffer::trySniffing): 48 * platform/network/qt/QtMIMETypeSniffer.h: Added. 49 (QtMIMETypeSniffer::mimeType): 50 (QtMIMETypeSniffer::isFinished): 51 1 52 2011-04-15 Emil A Eklund <eae@chromium.org> 2 53 -
trunk/Source/WebCore/WebCore.pro
r84039 r84057 2002 2002 platform/network/HTTPHeaderMap.h \ 2003 2003 platform/network/HTTPParsers.h \ 2004 platform/network/MIMESniffing.h \ 2004 2005 platform/network/NetworkingContext.h \ 2005 2006 platform/network/NetworkStateNotifier.h \ 2006 2007 platform/network/ProtectionSpace.h \ 2007 2008 platform/network/ProxyServer.h \ 2009 platform/network/qt/QtMIMETypeSniffer.h \ 2008 2010 platform/network/qt/QNetworkReplyHandler.h \ 2009 2011 platform/network/ResourceErrorBase.h \ … … 2517 2519 platform/graphics/qt/PatternQt.cpp \ 2518 2520 platform/graphics/qt/StillImageQt.cpp \ 2521 platform/network/MIMESniffing.cpp \ 2519 2522 platform/network/qt/CredentialStorageQt.cpp \ 2520 2523 platform/network/qt/ResourceHandleQt.cpp \ … … 2522 2525 platform/network/qt/DnsPrefetchHelper.cpp \ 2523 2526 platform/network/qt/ProxyServerQt.cpp \ 2527 platform/network/qt/QtMIMETypeSniffer.cpp \ 2524 2528 platform/network/qt/QNetworkReplyHandler.cpp \ 2525 2529 editing/qt/EditorQt.cpp \ -
trunk/Source/WebCore/platform/network/MIMESniffing.h
r84056 r84057 1 1 /* 2 Copyright (C) 201 0Nokia Corporation and/or its subsidiary(-ies)2 Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies) 3 3 4 4 This library is free software; you can redistribute it and/or … … 18 18 */ 19 19 20 #ifndef WebFrameNetworkingContext_h21 #define WebFrameNetworkingContext_h20 #ifndef MIMESniffing_h 21 #define MIMESniffing_h 22 22 23 #include < WebCore/FrameNetworkingContext.h>23 #include <stddef.h> 24 24 25 namespace WebCore { 25 // MIME type sniffing implementation based on http://tools.ietf.org/html/draft-abarth-mime-sniff-06 26 26 27 class WebFrameNetworkingContext : public FrameNetworkingContext{27 class MIMESniffer { 28 28 public: 29 static PassRefPtr<WebFrameNetworkingContext> create(Frame*); 29 MIMESniffer(const char* advertisedMIMEType, bool isSupportedImageType); 30 31 size_t dataSize() const { return m_dataSize; } 32 const char* sniff(const char* data, size_t size) const { return m_function ? m_function(data, size) : 0; } 33 bool isValid() const { return m_dataSize > 0; } 30 34 31 35 private: 32 WebFrameNetworkingContext(Frame*); 33 34 virtual QObject* originatingObject() const; 35 virtual QNetworkAccessManager* networkAccessManager() const; 36 37 QObject* m_originatingObject; 36 typedef const char* (*SniffFunction)(const char*, size_t); 37 size_t m_dataSize; 38 SniffFunction m_function; 38 39 }; 39 40 40 } 41 42 #endif // WebFrameNetworkingContext_h 41 #endif // MIMESniffing_h -
trunk/Source/WebCore/platform/network/NetworkingContext.h
r74741 r84057 59 59 virtual QObject* originatingObject() const = 0; 60 60 virtual QNetworkAccessManager* networkAccessManager() const = 0; 61 virtual bool mimeSniffingEnabled() const = 0; 61 62 #endif 62 63 -
trunk/Source/WebCore/platform/network/qt/QNetworkReplyHandler.cpp
r84018 r84057 206 206 }; 207 207 208 QNetworkReplyWrapper::QNetworkReplyWrapper(QNetworkReplyHandlerCallQueue* queue, QNetworkReply* reply, QObject* parent)208 QNetworkReplyWrapper::QNetworkReplyWrapper(QNetworkReplyHandlerCallQueue* queue, QNetworkReply* reply, bool sniffMIMETypes, QObject* parent) 209 209 : QObject(parent) 210 210 , m_reply(reply) 211 211 , m_queue(queue) 212 212 , m_responseContainsData(false) 213 , m_sniffer(0) 214 , m_sniffMIMETypes(sniffMIMETypes) 213 215 { 214 216 Q_ASSERT(m_reply); … … 233 235 QNetworkReply* reply = m_reply; 234 236 m_reply = 0; 237 m_sniffer = 0; 238 235 239 reply->setParent(0); 236 240 return reply; … … 249 253 resetConnections(); 250 254 251 QueueLocker lock(m_queue); 255 256 WTF::String contentType = m_reply->header(QNetworkRequest::ContentTypeHeader).toString(); 257 m_encoding = extractCharsetFromMediaType(contentType); 258 m_advertisedMIMEType = extractMIMETypeFromMediaType(contentType); 252 259 253 260 m_redirectionTargetUrl = m_reply->attribute(QNetworkRequest::RedirectionTargetAttribute).toUrl(); 254 261 if (m_redirectionTargetUrl.isValid()) { 262 QueueLocker lock(m_queue); 255 263 m_queue->push(&QNetworkReplyHandler::sendResponseIfNeeded); 256 264 m_queue->push(&QNetworkReplyHandler::finish); … … 258 266 } 259 267 260 WTF::String contentType = m_reply->header(QNetworkRequest::ContentTypeHeader).toString(); 261 m_encoding = extractCharsetFromMediaType(contentType); 262 m_advertisedMimeType = extractMIMETypeFromMediaType(contentType); 263 268 if (!m_sniffMIMETypes) { 269 emitMetaDataChanged(); 270 return; 271 } 272 273 bool isSupportedImageType = MIMETypeRegistry::isSupportedImageMIMEType(m_advertisedMIMEType); 274 275 Q_ASSERT(!m_sniffer); 276 277 m_sniffer = new QtMIMETypeSniffer(m_reply, m_advertisedMIMEType, isSupportedImageType); 278 279 if (m_sniffer->isFinished()) { 280 receiveSniffedMIMEType(); 281 return; 282 } 283 284 connect(m_sniffer.get(), SIGNAL(finished()), this, SLOT(receiveSniffedMIMEType())); 285 } 286 287 void QNetworkReplyWrapper::receiveSniffedMIMEType() 288 { 289 Q_ASSERT(m_sniffer); 290 291 m_sniffedMIMEType = m_sniffer->mimeType(); 292 m_sniffer = 0; 293 294 emitMetaDataChanged(); 295 } 296 297 void QNetworkReplyWrapper::emitMetaDataChanged() 298 { 299 QueueLocker lock(m_queue); 264 300 m_queue->push(&QNetworkReplyHandler::sendResponseIfNeeded); 265 301 … … 424 460 return; 425 461 426 WTF::String contentType = m_replyWrapper->reply()->header(QNetworkRequest::ContentTypeHeader).toString(); 427 WTF::String encoding = extractCharsetFromMediaType(contentType); 428 WTF::String mimeType = extractMIMETypeFromMediaType(contentType); 462 WTF::String mimeType = m_replyWrapper->mimeType(); 429 463 430 464 if (mimeType.isEmpty()) { … … 436 470 ResourceResponse response(url, mimeType.lower(), 437 471 m_replyWrapper->reply()->header(QNetworkRequest::ContentLengthHeader).toLongLong(), 438 encoding, String());472 m_replyWrapper->encoding(), String()); 439 473 440 474 if (url.isLocalFile()) { … … 545 579 } 546 580 547 QNetworkReply* QNetworkReplyHandler::sendNetworkRequest( )581 QNetworkReply* QNetworkReplyHandler::sendNetworkRequest(QNetworkAccessManager* manager, const ResourceRequest& request) 548 582 { 549 583 if (m_loadType == SynchronousLoad) 550 584 m_request.setAttribute(gSynchronousNetworkRequestAttribute, true); 551 552 ResourceHandleInternal* d = m_resourceHandle->getInternal();553 554 QNetworkAccessManager* manager = 0;555 if (d->m_context)556 manager = d->m_context->networkAccessManager();557 585 558 586 if (!manager) … … 572 600 return manager->get(m_request); 573 601 case QNetworkAccessManager::PostOperation: { 574 FormDataIODevice* postDevice = new FormDataIODevice( d->m_firstRequest.httpBody());602 FormDataIODevice* postDevice = new FormDataIODevice(request.httpBody()); 575 603 // We may be uploading files so prevent QNR from buffering data 576 604 m_request.setHeader(QNetworkRequest::ContentLengthHeader, postDevice->getFormDataSize()); … … 583 611 return manager->head(m_request); 584 612 case QNetworkAccessManager::PutOperation: { 585 FormDataIODevice* putDevice = new FormDataIODevice( d->m_firstRequest.httpBody());613 FormDataIODevice* putDevice = new FormDataIODevice(request.httpBody()); 586 614 // We may be uploading files so prevent QNR from buffering data 587 615 m_request.setHeader(QNetworkRequest::ContentLengthHeader, putDevice->getFormDataSize()); … … 605 633 void QNetworkReplyHandler::start() 606 634 { 607 QNetworkReply* reply = sendNetworkRequest(); 635 ResourceHandleInternal* d = m_resourceHandle->getInternal(); 636 if (!d || !d->m_context) 637 return; 638 639 QNetworkReply* reply = sendNetworkRequest(d->m_context->networkAccessManager(), d->m_firstRequest); 608 640 if (!reply) 609 641 return; 610 642 611 m_replyWrapper = new QNetworkReplyWrapper(&m_queue, reply );643 m_replyWrapper = new QNetworkReplyWrapper(&m_queue, reply, m_resourceHandle->shouldContentSniff() && d->m_context->mimeSniffingEnabled(), this); 612 644 613 645 if (m_loadType == SynchronousLoad && m_replyWrapper->reply()->isFinished()) { -
trunk/Source/WebCore/platform/network/qt/QNetworkReplyHandler.h
r84018 r84057 26 26 27 27 #include "FormData.h" 28 #include "QtMIMETypeSniffer.h" 28 29 29 30 QT_BEGIN_NAMESPACE … … 35 36 36 37 class ResourceHandle; 38 class ResourceRequest; 37 39 class ResourceResponse; 38 40 class QNetworkReplyHandler; … … 63 65 Q_OBJECT 64 66 public: 65 QNetworkReplyWrapper(QNetworkReplyHandlerCallQueue*, QNetworkReply*, QObject* parent = 0);67 QNetworkReplyWrapper(QNetworkReplyHandlerCallQueue*, QNetworkReply*, bool sniffMIMETypes, QObject* parent = 0); 66 68 ~QNetworkReplyWrapper(); 67 69 … … 73 75 QUrl redirectionTargetUrl() const { return m_redirectionTargetUrl; } 74 76 QString encoding() const { return m_encoding; } 75 QString advertisedMimeType() const { return m_advertisedMimeType; } 77 QString advertisedMIMEType() const { return m_advertisedMIMEType; } 78 QString mimeType() const { return m_sniffedMIMEType.isEmpty() ? m_advertisedMIMEType : m_sniffedMIMEType; } 76 79 77 80 bool responseContainsData() const { return m_responseContainsData; } … … 82 85 void didReceiveFinished(); 83 86 void didReceiveReadyRead(); 87 void receiveSniffedMIMEType(); 84 88 85 89 private: 86 90 void resetConnections(); 91 void emitMetaDataChanged(); 87 92 88 93 QNetworkReply* m_reply; … … 90 95 91 96 QString m_encoding; 92 QString m_advertisedMimeType;93 94 97 QNetworkReplyHandlerCallQueue* m_queue; 95 98 bool m_responseContainsData; 99 100 QString m_advertisedMIMEType; 101 102 QString m_sniffedMIMEType; 103 OwnPtr<QtMIMETypeSniffer> m_sniffer; 104 bool m_sniffMIMETypes; 96 105 }; 97 106 … … 114 123 QNetworkReply* release(); 115 124 116 public slots:117 125 void finish(); 126 void forwardData(); 118 127 void sendResponseIfNeeded(); 119 void forwardData(); 128 129 private slots: 120 130 void uploadProgress(qint64 bytesSent, qint64 bytesTotal); 121 131 … … 125 135 void redirect(ResourceResponse&, const QUrl&); 126 136 bool wasAborted() const { return !m_resourceHandle; } 127 QNetworkReply* sendNetworkRequest( );137 QNetworkReply* sendNetworkRequest(QNetworkAccessManager*, const ResourceRequest&); 128 138 129 139 OwnPtr<QNetworkReplyWrapper> m_replyWrapper; -
trunk/Source/WebCore/platform/network/qt/QtMIMETypeSniffer.h
r84056 r84057 1 1 /* 2 Copyright (C) 201 0Nokia Corporation and/or its subsidiary(-ies)2 Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies) 3 3 4 4 This library is free software; you can redistribute it and/or … … 18 18 */ 19 19 20 #ifndef WebFrameNetworkingContext_h21 #define WebFrameNetworkingContext_h20 #ifndef QtMIMETypeSniffer_h 21 #define QtMIMETypeSniffer_h 22 22 23 #include <WebCore/FrameNetworkingContext.h> 23 #include "MIMESniffing.h" 24 #include <QObject> 24 25 25 namespace WebCore { 26 class QNetworkReply; 26 27 27 class WebFrameNetworkingContext : public FrameNetworkingContext { 28 class QtMIMETypeSniffer : public QObject { 29 Q_OBJECT 28 30 public: 29 static PassRefPtr<WebFrameNetworkingContext> create(Frame*); 31 QtMIMETypeSniffer(QNetworkReply*, const QString& advertisedMimeType, bool isSupportedImageType); 32 QString mimeType() const { return m_mimeType; } 33 bool isFinished() const { return m_isFinished; } 34 35 signals: 36 void finished(); 37 38 private slots: 39 void trySniffing(); 30 40 31 41 private: 32 WebFrameNetworkingContext(Frame*);42 bool sniff(); 33 43 34 virtual QObject* originatingObject() const;35 virtual QNetworkAccessManager* networkAccessManager() const;36 37 QObject* m_originatingObject;44 QNetworkReply* m_reply; 45 QString m_mimeType; 46 MIMESniffer m_sniffer; 47 bool m_isFinished; 38 48 }; 39 49 40 } 41 42 #endif // WebFrameNetworkingContext_h 50 #endif // QtMIMETypeSniffer_h -
trunk/Source/WebKit/qt/ChangeLog
r84010 r84057 1 2011-04-08 Luiz Agostini <luiz.agostini@openbossa.org> 2 3 Reviewed by Kenneth Rohde Christiansen. 4 5 [Qt] QWebPage MIME type handling inconsistency with other web browsers 6 https://bugs.webkit.org/show_bug.cgi?id=46968 7 8 Implementing mime type sniffing based on 9 http://tools.ietf.org/html/draft-abarth-mime-sniff-06. 10 11 * WebCoreSupport/FrameLoaderClientQt.cpp: 12 (WebCore::FrameLoaderClientQt::createNetworkingContext): 13 * WebCoreSupport/FrameNetworkingContextQt.cpp: 14 (WebCore::FrameNetworkingContextQt::FrameNetworkingContextQt): 15 (WebCore::FrameNetworkingContextQt::create): 16 (WebCore::FrameNetworkingContextQt::MIMESniffingEnabled): 17 * WebCoreSupport/FrameNetworkingContextQt.h: 18 * tests/MIMESniffing/MIMESniffing.pro: Added. 19 * tests/MIMESniffing/TestData.h: Added. 20 * tests/MIMESniffing/resources.qrc: Added. 21 * tests/MIMESniffing/resources/application_atom+xml: Added. 22 * tests/MIMESniffing/resources/application_ogg: Added. 23 * tests/MIMESniffing/resources/application_pdf: Added. 24 * tests/MIMESniffing/resources/application_postscript: Added. 25 * tests/MIMESniffing/resources/application_rdf+xml: Added. 26 * tests/MIMESniffing/resources/application_rss+xml: Added. 27 * tests/MIMESniffing/resources/application_x-gzip: Added. 28 * tests/MIMESniffing/resources/application_x-rar-compressed: Added. 29 * tests/MIMESniffing/resources/application_zip: Added. 30 * tests/MIMESniffing/resources/audio_x-wave: Added. 31 * tests/MIMESniffing/resources/image_bmp: Added. 32 * tests/MIMESniffing/resources/image_gif: Added. 33 * tests/MIMESniffing/resources/image_jpeg: Added. 34 * tests/MIMESniffing/resources/image_png: Added. 35 * tests/MIMESniffing/resources/image_vnd.microsoft.icon: Added. 36 * tests/MIMESniffing/resources/image_webp: Added. 37 * tests/MIMESniffing/resources/text_html: Added. 38 * tests/MIMESniffing/resources/text_xml: Added. 39 * tests/MIMESniffing/resources/video_webm: Added. 40 * tests/MIMESniffing/tst_MIMESniffing.cpp: Added. 41 (tst_MIMESniffing::tst_MIMESniffing): 42 (errorText): 43 (tst_MIMESniffing::testCase1): 44 * tests/tests.pro: 45 1 46 2011-04-15 Andreas Kling <kling@webkit.org> 2 47 -
trunk/Source/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp
r84010 r84057 1660 1660 PassRefPtr<FrameNetworkingContext> FrameLoaderClientQt::createNetworkingContext() 1661 1661 { 1662 return FrameNetworkingContextQt::create(m_frame, m_webFrame, m_webFrame->page()->networkAccessManager()); 1662 QVariant value = m_webFrame->page()->property("_q_MIMESniffingDisabled"); 1663 bool MIMESniffingDisabled = value.isValid() && value.toBool(); 1664 1665 return FrameNetworkingContextQt::create(m_frame, m_webFrame, !MIMESniffingDisabled, m_webFrame->page()->networkAccessManager()); 1663 1666 } 1664 1667 -
trunk/Source/WebKit/qt/WebCoreSupport/FrameNetworkingContextQt.cpp
r66853 r84057 29 29 namespace WebCore { 30 30 31 FrameNetworkingContextQt::FrameNetworkingContextQt(Frame* frame, QObject* originatingObject, QNetworkAccessManager* networkAccessManager)31 FrameNetworkingContextQt::FrameNetworkingContextQt(Frame* frame, QObject* originatingObject, bool mimeSniffingEnabled, QNetworkAccessManager* networkAccessManager) 32 32 : FrameNetworkingContext(frame) 33 33 , m_originatingObject(originatingObject) 34 34 , m_networkAccessManager(networkAccessManager) 35 , m_mimeSniffingEnabled(mimeSniffingEnabled) 35 36 { 36 37 } 37 38 38 PassRefPtr<FrameNetworkingContextQt> FrameNetworkingContextQt::create(Frame* frame, QObject* originatingObject, QNetworkAccessManager* networkAccessManager)39 PassRefPtr<FrameNetworkingContextQt> FrameNetworkingContextQt::create(Frame* frame, QObject* originatingObject, bool mimeSniffingEnabled, QNetworkAccessManager* networkAccessManager) 39 40 { 40 return adoptRef(new FrameNetworkingContextQt(frame, originatingObject, networkAccessManager));41 return adoptRef(new FrameNetworkingContextQt(frame, originatingObject, mimeSniffingEnabled, networkAccessManager)); 41 42 } 42 43 … … 51 52 } 52 53 54 bool FrameNetworkingContextQt::mimeSniffingEnabled() const 55 { 56 return m_mimeSniffingEnabled; 53 57 } 58 59 } -
trunk/Source/WebKit/qt/WebCoreSupport/FrameNetworkingContextQt.h
r65579 r84057 27 27 class FrameNetworkingContextQt : public FrameNetworkingContext { 28 28 public: 29 static PassRefPtr<FrameNetworkingContextQt> create(Frame*, QObject* originatingObject, QNetworkAccessManager*);29 static PassRefPtr<FrameNetworkingContextQt> create(Frame*, QObject* originatingObject, bool mimeSniffingEnabled, QNetworkAccessManager*); 30 30 31 31 private: 32 FrameNetworkingContextQt(Frame*, QObject* originatingObject, QNetworkAccessManager*);32 FrameNetworkingContextQt(Frame*, QObject* originatingObject, bool mimeSniffingEnabled, QNetworkAccessManager*); 33 33 34 34 virtual QObject* originatingObject() const; 35 35 virtual QNetworkAccessManager* networkAccessManager() const; 36 virtual bool mimeSniffingEnabled() const; 36 37 37 38 QObject* m_originatingObject; 38 39 QNetworkAccessManager* m_networkAccessManager; 40 bool m_mimeSniffingEnabled; 39 41 }; 40 42 -
trunk/Source/WebKit/qt/tests/tests.pro
r81886 r84057 1 1 2 2 TEMPLATE = subdirs 3 SUBDIRS = qwebframe qwebpage qwebelement qgraphicswebview qwebhistoryinterface qwebview qwebhistory qwebinspector hybridPixmap 3 SUBDIRS = qwebframe qwebpage qwebelement qgraphicswebview qwebhistoryinterface qwebview qwebhistory qwebinspector hybridPixmap MIMESniffing 4 4 contains(QT_CONFIG, declarative): SUBDIRS += qdeclarativewebview 5 5 SUBDIRS += benchmarks/painting benchmarks/loading -
trunk/Source/WebKit2/ChangeLog
r84052 r84057 1 2011-04-08 Luiz Agostini <luiz.agostini@openbossa.org> 2 3 Reviewed by Kenneth Rohde Christiansen. 4 5 [Qt] QWebPage MIME type handling inconsistency with other web browsers 6 https://bugs.webkit.org/show_bug.cgi?id=46968 7 8 Implementing mime type sniffing based on 9 http://tools.ietf.org/html/draft-abarth-mime-sniff-06. 10 11 * WebProcess/WebCoreSupport/qt/WebFrameNetworkingContext.cpp: 12 (WebCore::WebFrameNetworkingContext::WebFrameNetworkingContext): 13 (WebCore::WebFrameNetworkingContext::MIMESniffingEnabled): 14 * WebProcess/WebCoreSupport/qt/WebFrameNetworkingContext.h: 15 1 16 2011-04-15 Oliver Hunt <oliver@apple.com> 2 17 -
trunk/Source/WebKit2/WebProcess/WebCoreSupport/qt/WebFrameNetworkingContext.cpp
r76916 r84057 30 30 : FrameNetworkingContext(frame) 31 31 , m_originatingObject(0) 32 , m_mimeSniffingEnabled(true) 32 33 { 33 34 } … … 48 49 } 49 50 51 bool WebFrameNetworkingContext::mimeSniffingEnabled() const 52 { 53 return m_mimeSniffingEnabled; 50 54 } 55 56 } -
trunk/Source/WebKit2/WebProcess/WebCoreSupport/qt/WebFrameNetworkingContext.h
r73677 r84057 34 34 virtual QObject* originatingObject() const; 35 35 virtual QNetworkAccessManager* networkAccessManager() const; 36 virtual bool mimeSniffingEnabled() const; 36 37 37 38 QObject* m_originatingObject; 39 bool m_mimeSniffingEnabled; 38 40 }; 39 41
Note: See TracChangeset
for help on using the changeset viewer.