From ca0a121f1962a99230b27dbcfdb783973ef0ee37 Mon Sep 17 00:00:00 2001 From: csagan5 <32685696+csagan5@users.noreply.github.com> Date: Sat, 9 Dec 2017 00:18:10 +0100 Subject: [PATCH] Updated patches for new release --- CHANGELOG.md | 8 +++++++- patches/adblock/intercept-ads.patch | 15 ++++----------- patches/privacy/add-duckduckgo.patch | 8 +++----- ...atch => disable-amp-from-search-results.patch} | 14 ++++++-------- 4 files changed, 20 insertions(+), 25 deletions(-) rename patches/privacy/{customize-google-search-results.patch => disable-amp-from-search-results.patch} (92%) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3415d095..648a02ea 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,10 @@ -63.0.3239.78 +# 63.0.3239.85 +* no suggest URL for DuckDuckGo (https://github.com/bromite/bromite/issues/19) +* fixed 4chan blocking rule +* limit AMP links cleanup to search results only (fixes broken images/news result tabs) +* updated adBlock filters + +# 63.0.3239.78 * correctly set version and build numbers * updated adBlock filters diff --git a/patches/adblock/intercept-ads.patch b/patches/adblock/intercept-ads.patch index a8132a82..8d41f361 100644 --- a/patches/adblock/intercept-ads.patch +++ b/patches/adblock/intercept-ads.patch @@ -7,7 +7,7 @@ Date: Tue Oct 10 20:23:06 2017 +0200 Complete rebranding diff --git a/net/BUILD.gn b/net/BUILD.gn -index cda37cb..cd77d668 100644 +index 5524b0d..5a05bba 100644 --- a/net/BUILD.gn +++ b/net/BUILD.gn @@ -1745,6 +1745,8 @@ component("net") { @@ -21,10 +21,10 @@ index cda37cb..cd77d668 100644 "url_request/url_request_context.cc", diff --git a/net/url_request/adblock_entries.h b/net/url_request/adblock_entries.h new file mode 100644 -index 0000000..c62e6b8 +index 0000000..c1d57bf --- /dev/null +++ b/net/url_request/adblock_entries.h -@@ -0,0 +1,41803 @@ +@@ -0,0 +1,41796 @@ +#ifndef NET_URL_REQUEST_ADBLOCK_ENTRIES_H_ +#define NET_URL_REQUEST_ADBLOCK_ENTRIES_H_ + @@ -44,7 +44,7 @@ index 0000000..c62e6b8 + int flags; +}; + -+#define ADBLOCK_ENTRY_COUNT 41776 ++#define ADBLOCK_ENTRY_COUNT 41769 + +struct adblock_entry ADBLOCK_ENTRIES[ADBLOCK_ENTRY_COUNT] = { + { 1, { "&Ads_DFP=", NULL, NULL, NULL, NULL, NULL, NULL, NULL }, 0 }, @@ -10702,7 +10702,6 @@ index 0000000..c62e6b8 + { 1, { "4c901e97cb4f89.men^", NULL, NULL, NULL, NULL, NULL, NULL, NULL }, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR }, + { 1, { "4c935d6a244f.com^", NULL, NULL, NULL, NULL, NULL, NULL, NULL }, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR }, + { 1, { "4chan.org/support/", NULL, NULL, NULL, NULL, NULL, NULL, NULL }, ADBLOCK_FLAG_MATCH_DOMAIN }, -+ { 1, { "4chan.org^", NULL, NULL, NULL, NULL, NULL, NULL, NULL }, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR }, + { 1, { "4d28ae0e559c1ba.webcam^", NULL, NULL, NULL, NULL, NULL, NULL, NULL }, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR }, + { 1, { "4d5.net^", NULL, NULL, NULL, NULL, NULL, NULL, NULL }, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR }, + { 1, { "4downfiles.com/open1.js", NULL, NULL, NULL, NULL, NULL, NULL, NULL }, ADBLOCK_FLAG_MATCH_DOMAIN }, @@ -19862,7 +19861,6 @@ index 0000000..c62e6b8 + { 1, { "dato.porn/cp.js", NULL, NULL, NULL, NULL, NULL, NULL, NULL }, ADBLOCK_FLAG_MATCH_DOMAIN }, + { 1, { "datoporn.com^", NULL, NULL, NULL, NULL, NULL, NULL, NULL }, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR }, + { 1, { "datpiff.com/skins/misc/", NULL, NULL, NULL, NULL, NULL, NULL, NULL }, ADBLOCK_FLAG_MATCH_DOMAIN }, -+ { 1, { "datpiff.com^", NULL, NULL, NULL, NULL, NULL, NULL, NULL }, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR }, + { 1, { "datumreact.com^", NULL, NULL, NULL, NULL, NULL, NULL, NULL }, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR }, + { 1, { "datvantage.com^", NULL, NULL, NULL, NULL, NULL, NULL, NULL }, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR }, + { 2, { "daum.net^", "^dwi.js", NULL, NULL, NULL, NULL, NULL, NULL }, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_WILDCARD | ADBLOCK_FLAG_HAS_SEPARATOR }, @@ -24370,7 +24368,6 @@ index 0000000..c62e6b8 + { 1, { "hipersushiads.com^", NULL, NULL, NULL, NULL, NULL, NULL, NULL }, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR }, + { 1, { "hipforums.com/images/banners/", NULL, NULL, NULL, NULL, NULL, NULL, NULL }, ADBLOCK_FLAG_MATCH_DOMAIN }, + { 1, { "hipforums.com/newforums/calendarcolumn.php?cquery=bush", NULL, NULL, NULL, NULL, NULL, NULL, NULL }, ADBLOCK_FLAG_MATCH_DOMAIN }, -+ { 1, { "hiphopearly.com^", NULL, NULL, NULL, NULL, NULL, NULL, NULL }, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR }, + { 1, { "hiplair.com^", NULL, NULL, NULL, NULL, NULL, NULL, NULL }, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR }, + { 1, { "hipsterhitler.com/hhcomic/wp-content/uploads/2011/10/20_advertisement.jpg", NULL, NULL, NULL, NULL, NULL, NULL, NULL }, ADBLOCK_FLAG_EXCEPTION | ADBLOCK_FLAG_MATCH_DOMAIN }, + { 1, { "hirmatrix.hu^", NULL, NULL, NULL, NULL, NULL, NULL, NULL }, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR }, @@ -31161,7 +31158,6 @@ index 0000000..c62e6b8 + { 1, { "pclicks.com^", NULL, NULL, NULL, NULL, NULL, NULL, NULL }, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR }, + { 1, { "pcmag.com/blogshome/logicbuy.js", NULL, NULL, NULL, NULL, NULL, NULL, NULL }, ADBLOCK_FLAG_MATCH_DOMAIN }, + { 1, { "pcmag.com/mst/", NULL, NULL, NULL, NULL, NULL, NULL, NULL }, ADBLOCK_FLAG_MATCH_DOMAIN }, -+ { 1, { "pcmag.com^", NULL, NULL, NULL, NULL, NULL, NULL, NULL }, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR }, + { 2, { "pcmag.com^", "^analytics.js", NULL, NULL, NULL, NULL, NULL, NULL }, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_WILDCARD | ADBLOCK_FLAG_HAS_SEPARATOR }, + { 1, { "pcmall.co.za/affiliates/", NULL, NULL, NULL, NULL, NULL, NULL, NULL }, ADBLOCK_FLAG_MATCH_DOMAIN }, + { 1, { "pcp001.com/media/globalPixel.js", NULL, NULL, NULL, NULL, NULL, NULL, NULL }, ADBLOCK_FLAG_MATCH_DOMAIN }, @@ -31648,7 +31644,6 @@ index 0000000..c62e6b8 + { 1, { "play4movie.com/banner/", NULL, NULL, NULL, NULL, NULL, NULL, NULL }, ADBLOCK_FLAG_MATCH_DOMAIN }, + { 1, { "play4traffic.com^", NULL, NULL, NULL, NULL, NULL, NULL, NULL }, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR }, + { 1, { "playata.myvideo.de^", NULL, NULL, NULL, NULL, NULL, NULL, NULL }, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR }, -+ { 1, { "playbill.com^", NULL, NULL, NULL, NULL, NULL, NULL, NULL }, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR }, + { 1, { "playbitcoingames.com/images/banners/", NULL, NULL, NULL, NULL, NULL, NULL, NULL }, ADBLOCK_FLAG_MATCH_DOMAIN }, + { 1, { "playboy.com/libs/analytics/", NULL, NULL, NULL, NULL, NULL, NULL, NULL }, ADBLOCK_FLAG_MATCH_DOMAIN }, + { 1, { "playboymethod.com^", NULL, NULL, NULL, NULL, NULL, NULL, NULL }, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR }, @@ -39315,7 +39310,6 @@ index 0000000..c62e6b8 + { 1, { "videosz.com/search.php", NULL, NULL, NULL, NULL, NULL, NULL, NULL }, ADBLOCK_FLAG_MATCH_DOMAIN }, + { 2, { "videosz.com^", "^tracker_id^", NULL, NULL, NULL, NULL, NULL, NULL }, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_WILDCARD | ADBLOCK_FLAG_HAS_SEPARATOR }, + { 1, { "videotoolbox.com^", NULL, NULL, NULL, NULL, NULL, NULL, NULL }, ADBLOCK_FLAG_EXCEPTION | ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR }, -+ { 1, { "videotoolbox.com^", NULL, NULL, NULL, NULL, NULL, NULL, NULL }, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR }, + { 1, { "videotracker.washingtonpost.com^", NULL, NULL, NULL, NULL, NULL, NULL, NULL }, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR }, + { 1, { "videovalis.tv/tracking/", NULL, NULL, NULL, NULL, NULL, NULL, NULL }, ADBLOCK_FLAG_MATCH_DOMAIN }, + { 1, { "videovfr.com^", NULL, NULL, NULL, NULL, NULL, NULL, NULL }, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR }, @@ -39872,7 +39866,6 @@ index 0000000..c62e6b8 + { 1, { "watchcartoononline.com/inc/siteskin.", NULL, NULL, NULL, NULL, NULL, NULL, NULL }, ADBLOCK_FLAG_MATCH_DOMAIN }, + { 1, { "watchcartoononline.com/pve.php", NULL, NULL, NULL, NULL, NULL, NULL, NULL }, ADBLOCK_FLAG_MATCH_DOMAIN }, + { 2, { "watchcartoononline.com^", "^530x90.", NULL, NULL, NULL, NULL, NULL, NULL }, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_WILDCARD | ADBLOCK_FLAG_HAS_SEPARATOR }, -+ { 1, { "watchcartoonsonline.eu^", NULL, NULL, NULL, NULL, NULL, NULL, NULL }, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR }, + { 1, { "watchfomny.tv/Menu/A/", NULL, NULL, NULL, NULL, NULL, NULL, NULL }, ADBLOCK_FLAG_MATCH_DOMAIN }, + { 1, { "watchformytechstuff.com^", NULL, NULL, NULL, NULL, NULL, NULL, NULL }, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR }, + { 1, { "watchfree.flv.in^", NULL, NULL, NULL, NULL, NULL, NULL, NULL }, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR }, diff --git a/patches/privacy/add-duckduckgo.patch b/patches/privacy/add-duckduckgo.patch index 3a5dc311..9e9ba3a5 100644 --- a/patches/privacy/add-duckduckgo.patch +++ b/patches/privacy/add-duckduckgo.patch @@ -1,14 +1,13 @@ -commit 4035ce612520759de41a4870b0035946deea2efc Author: csagan5 <32685696+csagan5@users.noreply.github.com> Date: Thu Oct 12 11:06:18 2017 +0200 Add DuckDuckGo search engine, not enabled by default diff --git a/components/search_engines/prepopulated_engines.json b/components/search_engines/prepopulated_engines.json -index 002b6c0..25e85ab 100644 +index 002b6c0..7b4155b 100644 --- a/components/search_engines/prepopulated_engines.json +++ b/components/search_engines/prepopulated_engines.json -@@ -32,12 +32,23 @@ +@@ -32,12 +32,22 @@ // Increment this if you change the data in ways that mean users with // existing data should get a new version. @@ -24,7 +23,6 @@ index 002b6c0..25e85ab 100644 + "keyword": "duckduckgo.com", + "favicon_url": "https://duckduckgo.com/favicon.ico", + "search_url": "https://duckduckgo.com/?q={searchTerms}", -+ "suggest_url": "https://duckduckgo.com/?q={searchTerms}&language={language}&kac=1", + "new_tab_url": "https://duckduckgo.com/", + "type": "SEARCH_ENGINE_DUCKDUCKGO", + "id": 11 @@ -46,7 +44,7 @@ index c19dd0e..02f6b16 100644 }; diff --git a/components/search_engines/template_url_prepopulate_data.cc b/components/search_engines/template_url_prepopulate_data.cc -index 862e001..7adede7 100644 +index 6be17ee..ef50529 100644 --- a/components/search_engines/template_url_prepopulate_data.cc +++ b/components/search_engines/template_url_prepopulate_data.cc @@ -50,548 +50,548 @@ namespace { diff --git a/patches/privacy/customize-google-search-results.patch b/patches/privacy/disable-amp-from-search-results.patch similarity index 92% rename from patches/privacy/customize-google-search-results.patch rename to patches/privacy/disable-amp-from-search-results.patch index 14eb6989..797411f7 100644 --- a/patches/privacy/customize-google-search-results.patch +++ b/patches/privacy/disable-amp-from-search-results.patch @@ -1,11 +1,11 @@ -commit 07e215b4aaeb690d669dbc3ec8f4bce1b3df26d7 Author: csagan5 <32685696+csagan5@users.noreply.github.com> Date: Sat Oct 28 10:09:41 2017 +0200 Do not track google search results clicks + + Limit AMP cleanup to main search results diff --git a/third_party/WebKit/Source/core/dom/BUILD.gn b/third_party/WebKit/Source/core/dom/BUILD.gn -index c069931..c458fef 100644 --- a/third_party/WebKit/Source/core/dom/BUILD.gn +++ b/third_party/WebKit/Source/core/dom/BUILD.gn @@ -344,6 +344,7 @@ blink_core_sources("dom") { @@ -17,10 +17,9 @@ index c069931..c458fef 100644 "ng/flat_tree_traversal_ng.h", "trustedtypes/TrustedHTML.cpp", diff --git a/third_party/WebKit/Source/core/dom/Document.cpp b/third_party/WebKit/Source/core/dom/Document.cpp -index 9b88b42..89ae8df 100644 --- a/third_party/WebKit/Source/core/dom/Document.cpp +++ b/third_party/WebKit/Source/core/dom/Document.cpp -@@ -219,6 +219,7 @@ +@@ -218,6 +218,7 @@ #include "core/xml/parser/XMLDocumentParser.h" #include "core/xml_names.h" #include "core/xmlns_names.h" @@ -28,7 +27,7 @@ index 9b88b42..89ae8df 100644 #include "platform/CrossThreadFunctional.h" #include "platform/DateComponents.h" #include "platform/EventDispatchForbiddenScope.h" -@@ -5785,8 +5786,24 @@ void Document::FinishedParsing() { +@@ -5826,8 +5827,24 @@ void Document::FinishedParsing() { fetcher_->ClearResourcesFromPreviousFetcher(); } @@ -39,7 +38,7 @@ index 9b88b42..89ae8df 100644 + } + + // determine whether this is a Google search results page -+ SecurityOrigin *origin = GetSecurityOrigin(); ++ const SecurityOrigin *origin = GetSecurityOrigin(); + if (origin) { + WTF::String domain = origin->Domain(); + size_t pos = domain.Find(".google."); @@ -56,13 +55,12 @@ index 9b88b42..89ae8df 100644 void Document::ElementDataCacheClearTimerFired(TimerBase*) { diff --git a/third_party/WebKit/Source/core/dom/extensions/dont-track-me.h b/third_party/WebKit/Source/core/dom/extensions/dont-track-me.h new file mode 100644 -index 0000000..d6be4c1 --- /dev/null +++ b/third_party/WebKit/Source/core/dom/extensions/dont-track-me.h @@ -0,0 +1,6 @@ +#ifndef dont_track_me_h +#define dont_track_me_h + -+#define DONT_TRACK_ME_JS "// Bromite click-tracking and AMP removal\nfunction recreateHyperlink(a) {\n // create new A element - old one has event listeners attached\n var newA = document.createElement('a');\n newA.referrerPolicy = 'origin';\n\n // remove AMP class, get actual page URL\n var ampCur = a.getAttribute('data-amp-cur');\n if (ampCur) {\n newA.href = ampCur;\n a.classList.remove('amp_r');\n } else {\n var realLink = getRealLinkFromGoogleUrl(a);\n if (realLink) {\n newA.href = realLink;\n } else {\n // might not be an actual hyperlink, ignore it\n if (!a.href) {\n return;\n }\n newA.href = a.href;\n }\n }\n // copy CSS classes\n newA.className = a.className;\n\n // copy nodes inside the hyperlink\n while (a.firstChild) {\n newA.appendChild(a.lastChild);\n }\n // replace hyperlink\n a.parentNode.replaceChild(newA, a);\n}\n\n/**\n * @returns {String} the real URL if the given link is a Google redirect URL.\n */\nfunction getRealLinkFromGoogleUrl(a) {\n if ((a.hostname === location.hostname || a.hostname === 'www.google.com') &&\n /^\\/(local_)?url$/.test(a.pathname)) {\n // Google Maps / Dito (/local_url?q=)\n // Mobile (/url?q=)\n var url = /[?&](?:q|url)=((?:https?|ftp)[%:][^&]+)/.exec(a.search);\n if (url) {\n return decodeURIComponent(url[1]);\n }\n // Help pages, e.g. safe browsing (/url?...&q=%2Fsupport%2Fanswer...)\n url = /[?&](?:q|url)=((?:%2[Ff]|\\/)[^&]+)/.exec(a.search);\n if (url) {\n return a.origin + decodeURIComponent(url[1]);\n }\n }\n}\n\nfunction sanitizeAllHyperlinks() {\n // scan all hyperlinks\n var hyperlinks = document.getElementsByTagName('a');\n for (var i = 0; i < hyperlinks.length; i++) {\n recreateHyperlink(hyperlinks[i]);\n }\n}\n\nsanitizeAllHyperlinks();\n" ++#define DONT_TRACK_ME_JS "// Bromite click-tracking and AMP removal\nfunction recreateHyperlink(a) {\n // create new A element - old one has event listeners attached\n var newA = document.createElement('a');\n newA.referrerPolicy = 'origin';\n\n // remove AMP class, get actual page URL\n var ampCur = a.getAttribute('data-amp-cur');\n if (ampCur) {\n newA.href = ampCur;\n a.classList.remove('amp_r');\n } else {\n var realLink = getRealLinkFromGoogleUrl(a);\n if (realLink) {\n newA.href = realLink;\n } else {\n // might not be an actual hyperlink, ignore it\n if (!a.href) {\n return;\n }\n newA.href = a.href;\n }\n }\n // copy CSS classes\n newA.className = a.className;\n\n // copy nodes inside the hyperlink\n while (a.firstChild) {\n newA.appendChild(a.lastChild);\n }\n // replace hyperlink\n a.parentNode.replaceChild(newA, a);\n}\n\n/**\n * @returns {String} the real URL if the given link is a Google redirect URL.\n */\nfunction getRealLinkFromGoogleUrl(a) {\n if ((a.hostname === location.hostname || a.hostname === 'www.google.com') &&\n /^\\/(local_)?url$/.test(a.pathname)) {\n // Google Maps / Dito (/local_url?q=)\n // Mobile (/url?q=)\n var url = /[?&](?:q|url)=((?:https?|ftp)[%:][^&]+)/.exec(a.search);\n if (url) {\n return decodeURIComponent(url[1]);\n }\n // Help pages, e.g. safe browsing (/url?...&q=%2Fsupport%2Fanswer...)\n url = /[?&](?:q|url)=((?:%2[Ff]|\\/)[^&]+)/.exec(a.search);\n if (url) {\n return a.origin + decodeURIComponent(url[1]);\n }\n }\n}\n\nfunction sanitizeAllHyperlinks() {\n // scan all hyperlinks\n var hyperlinks = document.getElementsByTagName('a');\n for (var i = 0; i < hyperlinks.length; i++) {\n recreateHyperlink(hyperlinks[i]);\n }\n}\n\nif ((document.location.host.indexOf(\"images.google\") == -1) && (document.location.host.indexOf(\"news.google\") == -1))\n\tsanitizeAllHyperlinks();\n" + +#endif // dont_track_me_h