demos/browser/webview.cpp
changeset 7 f7bc934e204c
parent 3 41300fa6a67c
child 37 758a864f9613
--- a/demos/browser/webview.cpp	Tue Feb 02 00:43:10 2010 +0200
+++ b/demos/browser/webview.cpp	Wed Mar 31 11:06:36 2010 +0300
@@ -1,6 +1,6 @@
 /****************************************************************************
 **
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
 ** All rights reserved.
 ** Contact: Nokia Corporation (qt-info@nokia.com)
 **
@@ -143,11 +143,19 @@
 
 void WebPage::handleUnsupportedContent(QNetworkReply *reply)
 {
-    if (reply->error() == QNetworkReply::NoError) {
-        BrowserApplication::downloadManager()->handleUnsupportedContent(reply);
+    QString errorString = reply->errorString();
+
+    if (m_loadingUrl != reply->url()) {
+        // sub resource of this page
+        qWarning() << "Resource" << reply->url().toEncoded() << "has unknown Content-Type, will be ignored.";
+        reply->deleteLater();
         return;
     }
 
+    if (reply->error() == QNetworkReply::NoError && !reply->header(QNetworkRequest::ContentTypeHeader).isValid()) {
+        errorString = "Unknown Content-Type";
+    }
+
     QFile file(QLatin1String(":/notfound.html"));
     bool isOpened = file.open(QIODevice::ReadOnly);
     Q_ASSERT(isOpened);
@@ -156,7 +164,7 @@
     QString title = tr("Error loading page: %1").arg(reply->url().toString());
     QString html = QString(QLatin1String(file.readAll()))
                         .arg(title)
-                        .arg(reply->errorString())
+                        .arg(errorString)
                         .arg(reply->url().toString());
 
     QBuffer imageBuffer;