Revision: 29573
          http://sourceforge.net/p/bibdesk/svn/29573
Author:   hofman
Date:     2025-09-11 14:26:50 +0000 (Thu, 11 Sep 2025)
Log Message:
-----------
download when content-disposition headr of rsponse is attachment

Modified Paths:
--------------
    trunk/bibdesk/BDSKTextImportController.m
    trunk/bibdesk/BDSKWebView.m

Modified: trunk/bibdesk/BDSKTextImportController.m
===================================================================
--- trunk/bibdesk/BDSKTextImportController.m    2025-09-11 14:15:32 UTC (rev 
29572)
+++ trunk/bibdesk/BDSKTextImportController.m    2025-09-11 14:26:50 UTC (rev 
29573)
@@ -952,7 +952,7 @@
 }
 
 - (void)webView:(WKWebView *)aWebView 
decidePolicyForNavigationResponse:(WKNavigationResponse *)navigationResponse 
decisionHandler:(void (^)(WKNavigationResponsePolicy))decisionHandler {
-    if ([navigationResponse canShowMIMEType]) {
+    if ([navigationResponse canShowMIMEType] && ([navigationResponse 
isKindOfClass:[NSHTTPURLResponse class]] == NO || [[[(NSHTTPURLResponse 
*)navigationResponse allHeaderFields] objectForKey:@"Content-Disposition"] 
hasPrefix:@"attachment"] == NO)) {
         decisionHandler(WKNavigationResponsePolicyAllow);
     } else if (@available(macOS 11.3, *)) {
         decisionHandler(WKNavigationResponsePolicyDownload);

Modified: trunk/bibdesk/BDSKWebView.m
===================================================================
--- trunk/bibdesk/BDSKWebView.m 2025-09-11 14:15:32 UTC (rev 29572)
+++ trunk/bibdesk/BDSKWebView.m 2025-09-11 14:26:50 UTC (rev 29573)
@@ -524,14 +524,15 @@
 #pragma mark WebPolicyDelegate protocol
 
 - (void)webView:(WebView *)sender 
decidePolicyForNavigationAction:(NSDictionary *)actionInformation 
request:(NSURLRequest *)request frame:(WebFrame *)frame 
decisionListener:(id<WebPolicyDecisionListener>)listener {
-    if ([[request valueForHTTPHeaderField:@"Content-Disposition"] 
hasPrefix:@"attachment"]) {
+    if ([[request valueForHTTPHeaderField:@"Content-Disposition"] 
hasPrefix:@"attachment"])
         [listener download];
-    } else {
+    else
         [listener use];
-    }
 }
 
 - (void)webView:(WebView *)sender decidePolicyForMIMEType:(NSString *)type 
request:(NSURLRequest *)request frame:(WebFrame *)frame 
decisionListener:(id<WebPolicyDecisionListener>)listener {
+    if ([[request valueForHTTPHeaderField:@"Content-Disposition"] 
hasPrefix:@"attachment"])
+        [listener download];
     if ([WebView canShowMIMEType:type])
         [listener use];
     else

This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.



_______________________________________________
Bibdesk-commit mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bibdesk-commit

Reply via email to