Browse Source

restrict loading of external resources

cyberta 3 years ago
parent
commit
5aa3f2b84b
1 changed files with 11 additions and 4 deletions
  1. 11 4
      deltachat-ios/Controller/WebxdcViewController.swift

+ 11 - 4
deltachat-ios/Controller/WebxdcViewController.swift

@@ -17,7 +17,7 @@ class WebxdcViewController: WebViewViewController {
     var webxdcUpdateObserver: NSObjectProtocol?
     
     
-    // Block just everything :)
+    // Block just everything, except of webxdc urls
     let blockRules = """
     [
         {
@@ -27,6 +27,14 @@ class WebxdcViewController: WebViewViewController {
             "action": {
                 "type": "block"
             }
+        },
+        {
+            "trigger": {
+                "url-filter": "webxdc://*"
+            },
+            "action": {
+                "type": "ignore-previous-rules"
+            }
         }
     ]
     """
@@ -184,9 +192,9 @@ class WebxdcViewController: WebViewViewController {
     
     override func viewWillAppear(_ animated: Bool) {
         super.viewWillAppear(animated)
-        loadHtml()
+        loadRestrictedHtml()
     }
-    
+
     override func viewDidDisappear(_ animated: Bool) {
         super.viewDidDisappear(animated)
         if #available(iOS 15.0, *) {
@@ -194,7 +202,6 @@ class WebxdcViewController: WebViewViewController {
         }
     }
 
-    
     private func loadRestrictedHtml() {
         // TODO: compile only once
         WKContentRuleListStore.default().compileContentRuleList(