2007-06-26 Alp Toker <alp.toker@collabora.co.uk>
authorbdash <bdash@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 27 Jun 2007 05:45:40 +0000 (05:45 +0000)
committerbdash <bdash@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 27 Jun 2007 05:45:40 +0000 (05:45 +0000)
        Reviewed by Sam Weinig.

        http://bugs.webkit.org/show_bug.cgi?id=14061
        Implement more of FrameLoaderClientGdk

        Make FrameLoaderClientGdk work properly when the MIME type is set.

        * loader/gdk/FrameLoaderClientGdk.cpp:
        (WebCore::FrameLoaderClientGdk::objectContentType):
        (WebCore::FrameLoaderClientGdk::canShowMIMEType):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@23812 268f45cc-cd09-0410-ab3c-d52691b4dbfc

WebCore/ChangeLog
WebCore/loader/gdk/FrameLoaderClientGdk.cpp

index 8de6855..23b0bf4 100644 (file)
@@ -1,5 +1,18 @@
 2007-06-26  Alp Toker  <alp.toker@collabora.co.uk>
 
+        Reviewed by Sam Weinig.
+
+        http://bugs.webkit.org/show_bug.cgi?id=14061
+        Implement more of FrameLoaderClientGdk
+
+        Make FrameLoaderClientGdk work properly when the MIME type is set.
+
+        * loader/gdk/FrameLoaderClientGdk.cpp:
+        (WebCore::FrameLoaderClientGdk::objectContentType):
+        (WebCore::FrameLoaderClientGdk::canShowMIMEType):
+
+2007-06-26  Alp Toker  <alp.toker@collabora.co.uk>
+
         Reviewed by Maciej.
 
         http://bugs.webkit.org/show_bug.cgi?id=14058
index a3ac677..16eba8a 100644 (file)
@@ -3,6 +3,7 @@
  * Copyright (C) 2006 Zack Rusin <zack@kde.org>
  * Copyright (C) 2006 Apple Computer, Inc.  All rights reserved.
  * Copyright (C) 2007 Trolltech ASA
+ * Copyright (C) 2007 Alp Toker <alp.toker@collabora.co.uk>
  *
  * All rights reserved.
  *
@@ -33,6 +34,7 @@
 #include "DocumentLoader.h"
 #include "FrameGdk.h"
 #include "FrameLoader.h"
+#include "MimeTypeRegistry.h"
 #include "NotImplemented.h"
 #include "PlatformString.h"
 #include "ResourceRequest.h"
@@ -183,7 +185,13 @@ Widget* FrameLoaderClientGdk::createJavaAppletWidget(const IntSize&, Element*, c
 
 ObjectContentType FrameLoaderClientGdk::objectContentType(const KURL& url, const String& mimeType)
 {
-    notImplemented();
+    if (!url.isValid())
+        return ObjectContentType();
+
+    // TODO: use more than just the extension to determine the content type?
+    String rtype = MimeTypeRegistry::getMIMETypeForPath(url.path());
+    if (!rtype.isEmpty())
+        return ObjectContentFrame;
     return ObjectContentType();
 }
 
@@ -281,7 +289,7 @@ bool FrameLoaderClientGdk::isArchiveLoadPending(ResourceLoader*) const { notImpl
 void FrameLoaderClientGdk::cancelPendingArchiveLoad(ResourceLoader*) { notImplemented(); }
 void FrameLoaderClientGdk::clearArchivedResources() { notImplemented(); }
 bool FrameLoaderClientGdk::canHandleRequest(const ResourceRequest&) const { notImplemented(); return true; }
-bool FrameLoaderClientGdk::canShowMIMEType(const String&) const { notImplemented(); return false; }
+bool FrameLoaderClientGdk::canShowMIMEType(const String&) const { notImplemented(); return true; }
 bool FrameLoaderClientGdk::representationExistsForURLScheme(const String&) const { notImplemented(); return false; }
 String FrameLoaderClientGdk::generatedMIMETypeForURLScheme(const String&) const { notImplemented(); return String(); }
 void FrameLoaderClientGdk::provisionalLoadStarted() { notImplemented(); }