[SCM] WebKit Debian packaging branch, debian/unstable, updated. debian/1.1.15-1-40151-g37bb677

cblu cblu at 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Sat Sep 26 06:49:35 UTC 2009


The following commit has been merged in the debian/unstable branch:
commit a659fcc0d219636f5e6bc497ba5af58a5e54fb8b
Author: cblu <cblu at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Tue Oct 15 05:34:24 2002 +0000

    WebFoundation:
    
    	Renamed filenameByCorrectingExtensionOfFilename:withMIMEType: to filenameWithURL:andMIMEType:
    	It comes up with the best filename for a URL and MIME type.
    
            * Misc.subproj/WebFileTypeMappings.h:
            * Misc.subproj/WebFileTypeMappings.m:
    
    WebKit:
    
    	- Made all downloads no matter how prompted, pass through the content policy API so the client can properly choose the file name and correct the extension if necessary. We now ask for the content policy even if one has been predetermined.
    
            * WebView.subproj/WebControllerPolicyDelegate.h:
            * WebView.subproj/WebControllerPrivate.h:
            * WebView.subproj/WebControllerPrivate.m:
            (-[WebController _downloadURL:withContentPolicy:]): Renamed, set the predetermined content policy.
            * WebView.subproj/WebDefaultContextMenuDelegate.m:
            (-[WebDefaultContextMenuDelegate downloadURL:]): call [WebController _downloadURL:withContentPolicy:]
            * WebView.subproj/WebDefaultPolicyDelegate.m:
            * WebView.subproj/WebHTMLView.m:
            (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]): call [WebController _downloadURL:withContentPolicy:]
            * WebView.subproj/WebHTMLViewPrivate.m:
            (-[WebHTMLView _continueAfterClickPolicyForEvent:]): call [WebController _downloadURL:withContentPolicy:]
            * WebView.subproj/WebMainResourceClient.m:
            (-[WebMainResourceClient handle:didReceiveResponse:]): ask for content policy even if one is predetermined
    
    WebBrowser:
    
    	- Support for content policy API change. Properly handle the predetermined content policy.
    	- Minor clean-up in DownloadProgressEntry.
    
            * BrowserWebController.m:
            (-[BrowserWebController contentPolicyForMIMEType:andURL:inFrame:withContentPolicy:]): Properly handle the predetermined content policy.
            * DownloadProgressEntry.m:
            (+[DownloadProgressEntry entryWithDictionary:]): Use bytesLoaded and bytesExpected var names
            (-[DownloadProgressEntry setCompleted]): set bytesExpected to bytesLoaded
            (-[DownloadProgressEntry updateProgressUI]): slight rearrange.
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2322 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebKit/ChangeLog b/WebKit/ChangeLog
index c3d6b31..c99e761 100644
--- a/WebKit/ChangeLog
+++ b/WebKit/ChangeLog
@@ -1,5 +1,23 @@
 2002-10-14  Chris Blumenberg  <cblu at apple.com>
 
+	- Made all downloads no matter how prompted, pass through the content policy API so the client can properly choose the file name and correct the extension if necessary. We now ask for the content policy even if one has been predetermined. 
+
+        * WebView.subproj/WebControllerPolicyDelegate.h:
+        * WebView.subproj/WebControllerPrivate.h:
+        * WebView.subproj/WebControllerPrivate.m:
+        (-[WebController _downloadURL:withContentPolicy:]): Renamed, set the predetermined content policy.
+        * WebView.subproj/WebDefaultContextMenuDelegate.m:
+        (-[WebDefaultContextMenuDelegate downloadURL:]): call [WebController _downloadURL:withContentPolicy:]
+        * WebView.subproj/WebDefaultPolicyDelegate.m:
+        * WebView.subproj/WebHTMLView.m:
+        (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]): call [WebController _downloadURL:withContentPolicy:]
+        * WebView.subproj/WebHTMLViewPrivate.m:
+        (-[WebHTMLView _continueAfterClickPolicyForEvent:]): call [WebController _downloadURL:withContentPolicy:]
+        * WebView.subproj/WebMainResourceClient.m:
+        (-[WebMainResourceClient handle:didReceiveResponse:]): ask for content policy even if one is predetermined
+
+2002-10-14  Chris Blumenberg  <cblu at apple.com>
+
 	- Cleaned up download handler and download progress delegate interactions.
 	- Got rid of error suppression junk.
 	- Only send 1 final message to the download progress delegate
diff --git a/WebKit/ChangeLog-2002-12-03 b/WebKit/ChangeLog-2002-12-03
index c3d6b31..c99e761 100644
--- a/WebKit/ChangeLog-2002-12-03
+++ b/WebKit/ChangeLog-2002-12-03
@@ -1,5 +1,23 @@
 2002-10-14  Chris Blumenberg  <cblu at apple.com>
 
+	- Made all downloads no matter how prompted, pass through the content policy API so the client can properly choose the file name and correct the extension if necessary. We now ask for the content policy even if one has been predetermined. 
+
+        * WebView.subproj/WebControllerPolicyDelegate.h:
+        * WebView.subproj/WebControllerPrivate.h:
+        * WebView.subproj/WebControllerPrivate.m:
+        (-[WebController _downloadURL:withContentPolicy:]): Renamed, set the predetermined content policy.
+        * WebView.subproj/WebDefaultContextMenuDelegate.m:
+        (-[WebDefaultContextMenuDelegate downloadURL:]): call [WebController _downloadURL:withContentPolicy:]
+        * WebView.subproj/WebDefaultPolicyDelegate.m:
+        * WebView.subproj/WebHTMLView.m:
+        (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]): call [WebController _downloadURL:withContentPolicy:]
+        * WebView.subproj/WebHTMLViewPrivate.m:
+        (-[WebHTMLView _continueAfterClickPolicyForEvent:]): call [WebController _downloadURL:withContentPolicy:]
+        * WebView.subproj/WebMainResourceClient.m:
+        (-[WebMainResourceClient handle:didReceiveResponse:]): ask for content policy even if one is predetermined
+
+2002-10-14  Chris Blumenberg  <cblu at apple.com>
+
 	- Cleaned up download handler and download progress delegate interactions.
 	- Got rid of error suppression junk.
 	- Only send 1 final message to the download progress delegate
diff --git a/WebKit/WebView.subproj/WebControllerPolicyDelegate.h b/WebKit/WebView.subproj/WebControllerPolicyDelegate.h
index fd61a25..40f2d3c 100644
--- a/WebKit/WebView.subproj/WebControllerPolicyDelegate.h
+++ b/WebKit/WebView.subproj/WebControllerPolicyDelegate.h
@@ -239,8 +239,12 @@ typedef enum {
     @param type MIME type of the partially loaded content.
     @param URL URL of the partially loaded content.
     @param frame The frame which is loading the URL.
+    @param content policy if one was determined before the load started. nil if none was predetermined.
 */
-- (WebContentPolicy *)contentPolicyForMIMEType: (NSString *)type URL:(NSURL *)URL inFrame:(WebFrame *)frame;
+- (WebContentPolicy *)contentPolicyForMIMEType:(NSString *)type
+                                        andURL:(NSURL *)URL
+                                       inFrame:(WebFrame *)frame
+                             withContentPolicy:(WebContentPolicy *)contentPolicy;
 
 /*!
     @method unableToImplementPolicy:error:forURL:inFrame:
diff --git a/WebKit/WebView.subproj/WebControllerPrivate.h b/WebKit/WebView.subproj/WebControllerPrivate.h
index 98825ac..b997637 100644
--- a/WebKit/WebView.subproj/WebControllerPrivate.h
+++ b/WebKit/WebView.subproj/WebControllerPrivate.h
@@ -4,6 +4,7 @@
 */
 
 #import <WebKit/WebController.h>
+#import <WebKit/WebControllerPolicyDelegate.h>
 
 @class WebError;
 @class WebFrame;
@@ -50,7 +51,7 @@
 - (void)_didStartLoading:(NSURL *)URL;
 - (void)_didStopLoading:(NSURL *)URL;
 + (NSString *)_MIMETypeForFile:(NSString *)path;
-- (void)_downloadURL:(NSURL *)URL toPath:(NSString *)path;
+- (void)_downloadURL:(NSURL *)URL withContentPolicy:(WebContentPolicy *)contentPolicy;
 
 - (BOOL)_defersCallbacks;
 - (void)_setDefersCallbacks:(BOOL)defers;
diff --git a/WebKit/WebView.subproj/WebControllerPrivate.m b/WebKit/WebView.subproj/WebControllerPrivate.m
index 2ec1987..eba094a 100644
--- a/WebKit/WebView.subproj/WebControllerPrivate.m
+++ b/WebKit/WebView.subproj/WebControllerPrivate.m
@@ -207,12 +207,11 @@
     return result;
 }
 
-- (void)_downloadURL:(NSURL *)URL toPath:(NSString *)path
+- (void)_downloadURL:(NSURL *)URL withContentPolicy:(WebContentPolicy *)contentPolicy
 {
     WebDataSource *dataSource = [[WebDataSource alloc] initWithURL:URL];
     WebFrame *webFrame = [self mainFrame];
         
-    WebContentPolicy *contentPolicy = [WebContentPolicy webPolicyWithContentAction:WebContentPolicySave andPath:path];
     [dataSource _setContentPolicy:contentPolicy];
     if([webFrame setProvisionalDataSource:dataSource]){
         [webFrame startLoading];
diff --git a/WebKit/WebView.subproj/WebDefaultContextMenuDelegate.m b/WebKit/WebView.subproj/WebDefaultContextMenuDelegate.m
index 4ced3ea..c4123bd 100644
--- a/WebKit/WebView.subproj/WebDefaultContextMenuDelegate.m
+++ b/WebKit/WebView.subproj/WebDefaultContextMenuDelegate.m
@@ -107,8 +107,7 @@
 {
     WebFrame *webFrame = [element objectForKey:WebElementFrameKey];
     WebController *controller = [webFrame controller];
-    WebContentPolicy *contentPolicy = [[controller policyDelegate] contentPolicyForMIMEType:@"application/octet-stream" URL:URL inFrame:webFrame];
-    [controller _downloadURL:URL toPath:[contentPolicy path]];
+    [controller _downloadURL:URL withContentPolicy:[WebContentPolicy webPolicyWithContentAction:WebContentPolicySave andPath:nil]];
 }
 
 - (void)openLinkInNewWindow:(id)sender
diff --git a/WebKit/WebView.subproj/WebDefaultPolicyDelegate.m b/WebKit/WebView.subproj/WebDefaultPolicyDelegate.m
index 6b21ff3..c33d40a 100644
--- a/WebKit/WebView.subproj/WebDefaultPolicyDelegate.m
+++ b/WebKit/WebView.subproj/WebDefaultPolicyDelegate.m
@@ -50,7 +50,10 @@
 }
 
 
-- (WebContentPolicy *)contentPolicyForMIMEType: (NSString *)type URL:(NSURL *)URL inFrame:(WebFrame *)frame;
+- (WebContentPolicy *)contentPolicyForMIMEType:(NSString *)type
+                                        andURL:(NSURL *)URL
+                                       inFrame:(WebFrame *)frame
+                             withContentPolicy:(WebContentPolicy *)contentPolicy;
 {
     if([WebController canShowMIMEType:type]){
         return [WebContentPolicy webPolicyWithContentAction: WebContentPolicyShow andPath:nil];
diff --git a/WebKit/WebView.subproj/WebHTMLView.m b/WebKit/WebView.subproj/WebHTMLView.m
index cc43a74..bfdce9d 100644
--- a/WebKit/WebView.subproj/WebHTMLView.m
+++ b/WebKit/WebView.subproj/WebHTMLView.m
@@ -655,7 +655,8 @@
     NSString *filename = [[imageURL path] lastPathComponent];
     NSString *path = [[dropDestination path] stringByAppendingPathComponent:filename];
 
-    [[self _controller] _downloadURL:imageURL toPath:path];
+    [[self _controller] _downloadURL:imageURL
+                   withContentPolicy:[WebContentPolicy webPolicyWithContentAction:WebContentPolicySave andPath:path]];
     
     return [NSArray arrayWithObject:filename];
 }
diff --git a/WebKit/WebView.subproj/WebHTMLViewPrivate.m b/WebKit/WebView.subproj/WebHTMLViewPrivate.m
index 458df4a..da69d7c 100644
--- a/WebKit/WebView.subproj/WebHTMLViewPrivate.m
+++ b/WebKit/WebView.subproj/WebHTMLViewPrivate.m
@@ -179,7 +179,8 @@ BOOL _modifierTrackingEnabled = FALSE;
             break;
         case WebClickPolicySave:
         case WebClickPolicySaveAndOpenExternally:
-            [controller _downloadURL:URL toPath:[clickPolicy path]];
+            [controller _downloadURL:URL
+                   withContentPolicy:[WebContentPolicy webPolicyWithContentAction:clickAction andPath:nil]];
             break;
         case WebClickPolicyIgnore:
             break;
diff --git a/WebKit/WebView.subproj/WebMainResourceClient.m b/WebKit/WebView.subproj/WebMainResourceClient.m
index b3215a1..676fdef 100644
--- a/WebKit/WebView.subproj/WebMainResourceClient.m
+++ b/WebKit/WebView.subproj/WebMainResourceClient.m
@@ -245,11 +245,12 @@
 
     // Figure out the content policy.
     WebContentPolicy *contentPolicy = [dataSource contentPolicy];
-    if (contentPolicy == nil) {
-        contentPolicy = [[[dataSource controller] policyDelegate]
-            contentPolicyForMIMEType:contentType URL:currentURL inFrame:[dataSource webFrame]];
-        [dataSource _setContentPolicy:contentPolicy];
-    }
+    contentPolicy = [[[dataSource controller] policyDelegate] contentPolicyForMIMEType:contentType
+                                                                                andURL:currentURL
+                                                                               inFrame:[dataSource webFrame]
+                                                                     withContentPolicy:contentPolicy];
+    [dataSource _setContentPolicy:contentPolicy];
+
     policyAction = [contentPolicy policyAction];
 
     switch (policyAction) {
diff --git a/WebKit/WebView.subproj/WebMainResourceLoader.m b/WebKit/WebView.subproj/WebMainResourceLoader.m
index b3215a1..676fdef 100644
--- a/WebKit/WebView.subproj/WebMainResourceLoader.m
+++ b/WebKit/WebView.subproj/WebMainResourceLoader.m
@@ -245,11 +245,12 @@
 
     // Figure out the content policy.
     WebContentPolicy *contentPolicy = [dataSource contentPolicy];
-    if (contentPolicy == nil) {
-        contentPolicy = [[[dataSource controller] policyDelegate]
-            contentPolicyForMIMEType:contentType URL:currentURL inFrame:[dataSource webFrame]];
-        [dataSource _setContentPolicy:contentPolicy];
-    }
+    contentPolicy = [[[dataSource controller] policyDelegate] contentPolicyForMIMEType:contentType
+                                                                                andURL:currentURL
+                                                                               inFrame:[dataSource webFrame]
+                                                                     withContentPolicy:contentPolicy];
+    [dataSource _setContentPolicy:contentPolicy];
+
     policyAction = [contentPolicy policyAction];
 
     switch (policyAction) {
diff --git a/WebKit/WebView.subproj/WebPolicyDelegate.h b/WebKit/WebView.subproj/WebPolicyDelegate.h
index fd61a25..40f2d3c 100644
--- a/WebKit/WebView.subproj/WebPolicyDelegate.h
+++ b/WebKit/WebView.subproj/WebPolicyDelegate.h
@@ -239,8 +239,12 @@ typedef enum {
     @param type MIME type of the partially loaded content.
     @param URL URL of the partially loaded content.
     @param frame The frame which is loading the URL.
+    @param content policy if one was determined before the load started. nil if none was predetermined.
 */
-- (WebContentPolicy *)contentPolicyForMIMEType: (NSString *)type URL:(NSURL *)URL inFrame:(WebFrame *)frame;
+- (WebContentPolicy *)contentPolicyForMIMEType:(NSString *)type
+                                        andURL:(NSURL *)URL
+                                       inFrame:(WebFrame *)frame
+                             withContentPolicy:(WebContentPolicy *)contentPolicy;
 
 /*!
     @method unableToImplementPolicy:error:forURL:inFrame:
diff --git a/WebKit/WebView.subproj/WebViewPrivate.h b/WebKit/WebView.subproj/WebViewPrivate.h
index 98825ac..b997637 100644
--- a/WebKit/WebView.subproj/WebViewPrivate.h
+++ b/WebKit/WebView.subproj/WebViewPrivate.h
@@ -4,6 +4,7 @@
 */
 
 #import <WebKit/WebController.h>
+#import <WebKit/WebControllerPolicyDelegate.h>
 
 @class WebError;
 @class WebFrame;
@@ -50,7 +51,7 @@
 - (void)_didStartLoading:(NSURL *)URL;
 - (void)_didStopLoading:(NSURL *)URL;
 + (NSString *)_MIMETypeForFile:(NSString *)path;
-- (void)_downloadURL:(NSURL *)URL toPath:(NSString *)path;
+- (void)_downloadURL:(NSURL *)URL withContentPolicy:(WebContentPolicy *)contentPolicy;
 
 - (BOOL)_defersCallbacks;
 - (void)_setDefersCallbacks:(BOOL)defers;
diff --git a/WebKit/WebView.subproj/WebViewPrivate.m b/WebKit/WebView.subproj/WebViewPrivate.m
index 2ec1987..eba094a 100644
--- a/WebKit/WebView.subproj/WebViewPrivate.m
+++ b/WebKit/WebView.subproj/WebViewPrivate.m
@@ -207,12 +207,11 @@
     return result;
 }
 
-- (void)_downloadURL:(NSURL *)URL toPath:(NSString *)path
+- (void)_downloadURL:(NSURL *)URL withContentPolicy:(WebContentPolicy *)contentPolicy
 {
     WebDataSource *dataSource = [[WebDataSource alloc] initWithURL:URL];
     WebFrame *webFrame = [self mainFrame];
         
-    WebContentPolicy *contentPolicy = [WebContentPolicy webPolicyWithContentAction:WebContentPolicySave andPath:path];
     [dataSource _setContentPolicy:contentPolicy];
     if([webFrame setProvisionalDataSource:dataSource]){
         [webFrame startLoading];

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list