WebCore:
authorandersca <andersca@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 15 May 2006 08:47:31 +0000 (08:47 +0000)
committerandersca <andersca@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 15 May 2006 08:47:31 +0000 (08:47 +0000)
2006-05-15  Anders Carlsson  <acarlsson@apple.com>

        Reviewed by Maciej.

        http://bugzilla.opendarwin.org/show_bug.cgi?id=8913
        REGRESSION: Can view source for text files

        * bridge/mac/WebCoreFrameBridge.h:
        * bridge/mac/WebCoreFrameBridge.mm:
        (-[WebCoreFrameBridge canProvideDocumentSource]):
        (-[WebCoreFrameBridge canSaveAsWebArchive]):

WebKit:

2006-05-15  Anders Carlsson  <acarlsson@apple.com>

        Reviewed by Maciej.

        http://bugzilla.opendarwin.org/show_bug.cgi?id=8913
        REGRESSION: Can view source for text files

        * WebView/WebDocumentPrivate.h:
        Add canSaveAsWebArchive.

        * WebView/WebHTMLRepresentation.m:
        (-[WebHTMLRepresentation canProvideDocumentSource]):
        Call the bridge.

        (-[WebHTMLRepresentation canSaveAsWebArchive]):
        New function. This will be used in Safari ToT to determine if a page can be saved as an archive.

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

WebCore/ChangeLog
WebCore/bridge/mac/WebCoreFrameBridge.h
WebCore/bridge/mac/WebCoreFrameBridge.mm
WebKit/ChangeLog
WebKit/WebView/WebDocumentPrivate.h
WebKit/WebView/WebHTMLRepresentation.m

index 085a7866c3b543f2481546053006851fdac59c7f..e783dcac9944ea5bda40a625b809322a272f3caa 100644 (file)
@@ -1,3 +1,15 @@
+2006-05-15  Anders Carlsson  <acarlsson@apple.com>
+
+        Reviewed by Maciej.
+
+        http://bugzilla.opendarwin.org/show_bug.cgi?id=8913
+        REGRESSION: Can view source for text files
+        
+        * bridge/mac/WebCoreFrameBridge.h:
+        * bridge/mac/WebCoreFrameBridge.mm:
+        (-[WebCoreFrameBridge canProvideDocumentSource]):
+        (-[WebCoreFrameBridge canSaveAsWebArchive]):
+
 2006-05-15  David Hyatt  <hyatt@apple.com>
 
         Remove the .forPrinter boolean from FontPlatformData.  After the initial
index ba556966e2757b0c41179f7a7a7bf0c38cf5dc66..34deaa7d635610fcb438ca2b768599b3495cdbe7 100644 (file)
@@ -482,6 +482,8 @@ typedef enum {
 - (BOOL)getData:(NSData **)data andResponse:(NSURLResponse **)response forURL:(NSURL *)URL;
 - (void)getAllResourceDatas:(NSArray **)datas andResponses:(NSArray **)responses;
 
+- (BOOL)canProvideDocumentSource;
+- (BOOL)canSaveAsWebArchive;
 @end
 
 // The WebCoreFrameBridge protocol contains methods for use by the WebCore side of the bridge.
index 769458e910a22830330e3a7aa1a2db816e9af3ae..a8f00c59296846dc4fac0e86f10082f33ba0023b 100644 (file)
@@ -29,6 +29,7 @@
 
 #import "Cache.h"
 #import "DOMInternal.h"
+#import "DOMImplementation.h"
 #import "DocLoader.h"
 #import "DocumentFragment.h"
 #import "DocumentType.h"
@@ -2457,6 +2458,23 @@ static NSCharacterSet *_getPostSmartSet(void)
     *responses = [r autorelease];
 }
 
+- (BOOL)canProvideDocumentSource
+{
+    String mimeType = m_frame->resourceRequest().m_responseMIMEType;
+    
+    if (WebCore::DOMImplementation::isTextMIMEType(mimeType))
+        return NO;
+    
+    return YES;
+}
+
+- (BOOL)canSaveAsWebArchive
+{
+    // Currently, all documents that we can view source for
+    // (HTML and XML documents) can also be saved as web archives
+    return [self canProvideDocumentSource];
+}
+
 @end
 
 @implementation WebCoreFrameBridge (WebCoreBridgeInternal)
index 7d2e7be47128b659574ba0e92bf24cfe4174894e..1597368177312112e007fa7cdaad766f6a61b112 100644 (file)
@@ -1,3 +1,20 @@
+2006-05-15  Anders Carlsson  <acarlsson@apple.com>
+
+        Reviewed by Maciej.
+
+        http://bugzilla.opendarwin.org/show_bug.cgi?id=8913
+        REGRESSION: Can view source for text files
+
+        * WebView/WebDocumentPrivate.h:
+        Add canSaveAsWebArchive.
+        
+        * WebView/WebHTMLRepresentation.m:
+        (-[WebHTMLRepresentation canProvideDocumentSource]):
+        Call the bridge.
+        
+        (-[WebHTMLRepresentation canSaveAsWebArchive]):
+        New function. This will be used in Safari ToT to determine if a page can be saved as an archive.
+
 2006-05-14  Mitz Pettel  <opendarwin.org@mitzpettel.com>
 
         Reviewed by Darin.
index 6547331d73e0858f7b70f9eea4c10cab11324534..9b63058647957d6a4960d033bdbc36cf441e9ad7 100644 (file)
@@ -37,6 +37,7 @@
 // This method is deprecated as it now lives on WebFrame.
 @protocol WebDocumentDOM <NSObject>
 - (DOMDocument *)DOMDocument;
+- (BOOL)canSaveAsWebArchive;
 @end
 
 @protocol WebDocumentSelection <WebDocumentText>
index eb17b55733e6150a330714d622078874e6863dbc..23f170b81aebce1855a4743f0e920cb621ca2404 100644 (file)
 
 - (BOOL)canProvideDocumentSource
 {
-    return YES;
+    return [_private->bridge canProvideDocumentSource];
+}
+
+- (BOOL)canSaveAsWebArchive
+{
+    return [_private->bridge canSaveAsWebArchive];
 }
 
 - (NSString *)documentSource