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