Never block the resource request for the main URL. https://redmine.stoutner.com...
authorSoren Stoutner <soren@stoutner.com>
Fri, 12 Jul 2019 00:02:12 +0000 (17:02 -0700)
committerSoren Stoutner <soren@stoutner.com>
Fri, 12 Jul 2019 00:02:12 +0000 (17:02 -0700)
app/src/main/assets/tr/guide_requests_dark.html
app/src/main/assets/tr/guide_requests_light.html
app/src/main/java/com/stoutner/privacybrowser/activities/MainWebViewActivity.java
app/src/main/java/com/stoutner/privacybrowser/views/NestedScrollWebView.java
app/src/main/res/values-tr/strings.xml

index 533a4199249766cd598de25b8e61320283525048..41839b392cd07c05a23014fd9b40e38a335234bc 100644 (file)
@@ -71,9 +71,9 @@
             Bu durum, bazen, kaynakların orijinal girdi tarafından amaçlanmayan şekillerde izin verildiği veya engellendiği yanlış pozitif (false positive) durumuna yol açabilir.
             Engel listesi girdilerinin nasıl işlendiğine dair daha ayrıntılı bir açıklama <a href="https://www.stoutner.com/privacy-browser/blocklists/">stoutner.com</a> adresinde bulunabilir.</p>
 
-        <p>Privacy Browser has three additional blocklists.
-            <a href="https://www.stoutner.com/privacy-browser/blocklists/ultralist/">UltraList</a> and <a href="https://www.stoutner.com/privacy-browser/blocklists/ultraprivacy/">UltraPrivacy</a>
-            block ads and trackers that EasyList and EasyPrivacy do not. The third blocks all third-party requests.
+        <p><p>Privacy Browser'a 3 yeni engel listesi eklendi.
+            <a href="https://www.stoutner.com/privacy-browser/blocklists/ultralist/">UltraList</a> ve <a href="https://www.stoutner.com/privacy-browser/blocklists/ultraprivacy/">UltraPrivacy</a>,
+            EasyList ve EasyPrivacy'nin engellemediği reklamları ve izleyicileri de engeller. Üçüncü liste ise tüm üçüncü taraf istekleri engeller.
             Bir istek yalnızca, isteğin temel domaini bağlantının temel domaininden farklıysa üçüncü taraf olarak kabul edilir.
             Örneğin, <code>www.website.com</code> adresi <code>images.website.com</code> adresinden bir resim yüklüyorsa,
             her ikisi de aynı temel domaini (<code>website.com</code>) paylaştığı için bu üçüncü taraf isteği olarak engellenmez.
index 3039f39ccb987cef00beaf49ec353075e8f4c3b5..0331c50885672818c12e5f9a8312af18da833626 100644 (file)
@@ -71,9 +71,9 @@
             Bu durum, bazen, kaynakların orijinal girdi tarafından amaçlanmayan şekillerde izin verildiği veya engellendiği yanlış pozitif (false positive) durumuna yol açabilir.
             Engel listesi girdilerinin nasıl işlendiğine dair daha ayrıntılı bir açıklama <a href="https://www.stoutner.com/privacy-browser/blocklists/">stoutner.com</a> adresinde bulunabilir.</p>
 
-        <p>Privacy Browser has three additional blocklists.
-            <a href="https://www.stoutner.com/privacy-browser/blocklists/ultralist/">UltraList</a> and <a href="https://www.stoutner.com/privacy-browser/blocklists/ultraprivacy/">UltraPrivacy</a>
-            block ads and trackers that EasyList and EasyPrivacy do not. The third blocks all third-party requests.
+        <p>Privacy Browser'a 3 yeni engel listesi eklendi.
+            <a href="https://www.stoutner.com/privacy-browser/blocklists/ultralist/">UltraList</a> ve <a href="https://www.stoutner.com/privacy-browser/blocklists/ultraprivacy/">UltraPrivacy</a>,
+            EasyList ve EasyPrivacy'nin engellemediği reklamları ve izleyicileri de engeller. Üçüncü liste ise tüm üçüncü taraf istekleri engeller.
             Bir istek yalnızca, isteğin temel domaini bağlantının temel domaininden farklıysa üçüncü taraf olarak kabul edilir.
             Örneğin, <code>www.website.com</code> adresi <code>images.website.com</code> adresinden bir resim yüklüyorsa,
             her ikisi de aynı temel domaini (<code>website.com</code>) paylaştığı için bu üçüncü taraf isteği olarak engellenmez.
index 097c8af9b883b443710a0fd3375af767829ece81..d13c4d27bb0ff149fffeb19064b2564f7a2f3f3c 100644 (file)
@@ -3591,6 +3591,9 @@ public class MainWebViewActivity extends AppCompatActivity implements CreateBook
         // Store a copy of the current user agent to track changes for the return boolean.
         String initialUserAgent = nestedScrollWebView.getSettings().getUserAgentString();
 
+        // Store the current URL.
+        nestedScrollWebView.setCurrentUrl(url);
+
         // Parse the URL into a URI.
         Uri uri = Uri.parse(url);
 
@@ -5344,6 +5347,12 @@ public class MainWebViewActivity extends AppCompatActivity implements CreateBook
             // Check requests against the block lists.  The deprecated `shouldInterceptRequest()` must be used until minimum API >= 21.
             @Override
             public WebResourceResponse shouldInterceptRequest(WebView view, String url) {
+                // Check to see if the resource request is for the main URL.
+                if (url.equals(nestedScrollWebView.getCurrentUrl())) {
+                    // `return null` loads the resource request, which should never be blocked if it is the main URL.
+                    return null;
+                }
+
                 // Wait until the blocklists have been populated.  When Privacy Browser is being resumed after having the process killed in the background it will try to load the URLs immediately.
                 while (ultraPrivacy == null) {
                     // The wait must be synchronized, which only lets one thread run on it at a time, or `java.lang.IllegalMonitorStateException` is thrown.
index c7a2227802391dd10cbb7a2ed6bee2d663df3605..c7122cb8c83c4c34cad3ff4ff5a7a549cc2dc059 100644 (file)
@@ -65,6 +65,9 @@ public class NestedScrollWebView extends WebView implements NestedScrollingChild
     private boolean domainSettingsApplied;
     private int domainSettingsDatabaseId;
 
+    // Keep track of the current URL.  This is used to not block resource requests to the main URL.
+    private String currentUrl;
+
     // Keep track of when the domain name changes so that domain settings can be reapplied.  This should never be null.
     private String currentDomainName = "";
 
@@ -230,6 +233,18 @@ public class NestedScrollWebView extends WebView implements NestedScrollingChild
     }
 
 
+    // Current URL.
+    public void setCurrentUrl(String url) {
+        // Store the current URL.
+        currentUrl = url;
+    }
+
+    public String getCurrentUrl() {
+        // Return the current URL.
+        return currentUrl;
+    }
+
+
     // Current domain name.  To function well when called, the domain name should never be allowed to be null.
     public void setCurrentDomainName(@NonNull String domainName) {
         // Store the current domain name.
index a429ebbea022d7af874444900866ce3b80078266..219ecd2eb733b1a474f099d2c063c6e46401dbc1 100644 (file)
     <string name="close_tab">Sekmeyi kapa</string>
     <string name="new_tab">Yeni sekme</string>
     <string name="loading">Yükleniyor…</string>
+    <string name="error">Hata:</string>
 
     <!-- Loading Blocklists. -->
     <string name="loading_easylist">EasyList yükleniyor</string>
     <string name="loading_easyprivacy">EasyPrivacy yükleniyor</string>
     <string name="loading_fanboys_annoyance_list">Fanboy’s Annoyance List yükleniyor</string>
     <string name="loading_fanboys_social_blocking_list">Fanboy’s Social Blocking List yükleniyor</string>
+    <string name="loading_ultralist">UltraList yükleniyor</string>
     <string name="loading_ultraprivacy">UltraPrivacy yükleniyor</string>
 
     <!-- Save As. -->
     <string name="easyprivacy_label">EasyPrivacy:</string>
     <string name="fanboy_annoyance_label">Fanboy’s Annoyance List:</string>
     <string name="fanboy_social_label">Fanboy’s Social Blocking List:</string>
+    <string name="ultralist_label">UltraList:</string>
     <string name="ultraprivacy_label">UltraPrivacy:</string>
     <string name="package_signature">Paket İmzası</string>
     <string name="issuer_dn">Yayınlayan DN:</string>
         <string name="fanboys_annoyance_list_summary">Rahatsız eden açılır pencereleri ve linkleri engeller. Fanboy’s Social Blocking listelerini de içerir.</string>
         <string name="fanboys_social_blocking_list">Fanboy’s Social Blocking List</string>
         <string name="fanboys_social_blocking_list_summary">Üçüncü taraf sosyal medya içeriklerini engeller.</string>
+        <string name="ultralist">UltraList</string>
+        <string name="ultralist_summary">UltraList, EasyList\'in engellemediği reklamları da engeller, bunu yapmak web sitelerinin çökmesine sebep olabilir.</string>
         <string name="ultraprivacy">UltraPrivacy</string>
         <string name="ultraprivacy_summary">UltraPrivacy, EasyPrivacy\'de olmayan takipçileri de engeller, fakat bu seçenek bazı web sitelerinin çökmesine sebep olabilir.</string>
         <string name="block_all_third_party_requests">Tüm üçüncü taraf istekleri engelle</string>