Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

cosmetic filters for Android and desktop #6735

Merged
merged 45 commits into from
Jan 22, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
45 commits
Select commit Hold shift + click to select a range
a36b8a0
android cosmetic filters css injections
SergeyZhukovsky Nov 10, 2020
da1aac2
optimized cf patches
SergeyZhukovsky Nov 11, 2020
476eae5
updates cf patches
SergeyZhukovsky Nov 12, 2020
3bc0ae3
guards cosmetic filters for Android implementation only
SergeyZhukovsky Nov 16, 2020
2774592
updates cf patches
SergeyZhukovsky Nov 16, 2020
bc3377f
enable cf on desktop/disable extension
SergeyZhukovsky Nov 17, 2020
b507e89
adds fetching script from resources
SergeyZhukovsky Nov 20, 2020
eead631
replaces Unretained to WeakPtr
SergeyZhukovsky Nov 24, 2020
de97795
adds a pump functionality to cf
SergeyZhukovsky Dec 2, 2020
93ced6a
corrects cf scripts
SergeyZhukovsky Dec 3, 2020
57568bd
moves all cf in a one script
SergeyZhukovsky Dec 3, 2020
cd595d1
creates webpack bundle from js
SergeyZhukovsky Dec 4, 2020
45ebea5
optimizes JS size that we pass to a web page
SergeyZhukovsky Dec 17, 2020
c7cf63c
fixes generichide browser test
SergeyZhukovsky Dec 18, 2020
56e83f8
corrects stylesheet correction and injects scripts in a <script> tag
SergeyZhukovsky Jan 4, 2021
991b228
removes unused extension callbacks
SergeyZhukovsky Jan 4, 2021
7401f7a
addresses some code review feedbacks
SergeyZhukovsky Jan 4, 2021
e8ff9d0
forms a json array of selectors instead of form them on a fly
SergeyZhukovsky Jan 5, 2021
c6c42f5
switched back to ts instead of js
SergeyZhukovsky Jan 6, 2021
a94845e
corrects isRelativeURL detection and makes json structure for the res…
SergeyZhukovsky Jan 6, 2021
c28bbd8
corrects scriptlets injection
SergeyZhukovsky Jan 7, 2021
6d78773
adds ecosia search engine
SergeyZhukovsky Jan 7, 2021
96d6626
moves injecting scripts to consts
SergeyZhukovsky Jan 8, 2021
de3bc39
removes yahoo and onesearch from vetted engines
SergeyZhukovsky Jan 8, 2021
57037d5
addresses code review feedback
SergeyZhukovsky Jan 11, 2021
00f58ed
addresses code review feedback
SergeyZhukovsky Jan 12, 2021
4825344
addresses code review feedback
SergeyZhukovsky Jan 12, 2021
f3b6236
executes gn format on problem gn files
SergeyZhukovsky Jan 12, 2021
4cc364d
changes base::SupportsWeakPtr to base::WeakPtrFactory
SergeyZhukovsky Jan 12, 2021
efcde75
adds a check on HasCommited
SergeyZhukovsky Jan 12, 2021
d67cb10
filters resources if there is a network error
SergeyZhukovsky Jan 12, 2021
97750ac
addresses code review feedback
SergeyZhukovsky Jan 13, 2021
ba3b9a9
moves JS executions to renderer process
SergeyZhukovsky Jan 15, 2021
bed2310
move resources dep to ui
bridiver Jan 15, 2021
74fb6d3
bind interface to render frame, not render process
bridiver Jan 15, 2021
6eb7b65
call the superclass method
bridiver Jan 15, 2021
c3c6586
always ensure connected
bridiver Jan 15, 2021
17c433d
transfers all JS code to renderer process
SergeyZhukovsky Jan 18, 2021
7e37512
clean up and formatting
SergeyZhukovsky Jan 18, 2021
277bfc4
fixes browser tests for cosmetic filters
SergeyZhukovsky Jan 20, 2021
8cbbc95
adds comments and addresses code review feedback
SergeyZhukovsky Jan 21, 2021
f8d7300
moves components/cosmetic_filters/content/renderer to components/cosm…
SergeyZhukovsky Jan 21, 2021
4247e63
corrects components/cosmetic_filters/renderer dependencies
SergeyZhukovsky Jan 21, 2021
e4df7f8
addresses minor review feedback for cosmetic filters
SergeyZhukovsky Jan 21, 2021
058b71e
addresses some code reviews for cosmetic filters
SergeyZhukovsky Jan 22, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions browser/BUILD.gn
Original file line number Diff line number Diff line change
Expand Up @@ -138,6 +138,8 @@ source_set("browser_process") {
"//brave/components/brave_wayback_machine:buildflags",
"//brave/components/brave_webtorrent/browser/buildflags",
"//brave/components/content_settings/core/browser",
"//brave/components/cosmetic_filters/browser",
"//brave/components/cosmetic_filters/common:mojom",
"//brave/components/crypto_dot_com/browser/buildflags",
"//brave/components/gemini/browser/buildflags",
"//brave/components/greaselion/browser/buildflags",
Expand Down Expand Up @@ -182,6 +184,7 @@ source_set("browser_process") {
"//content/public/browser",
"//content/public/common",
"//extensions/buildflags",
"//mojo/public/cpp/bindings",
"//services/metrics/public/cpp:metrics_cpp",
"//services/network/public/cpp",
"//third_party/blink/public/mojom:mojom_platform_headers",
Expand Down
11 changes: 4 additions & 7 deletions browser/android/BUILD.gn
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,6 @@ source_set("android_browser_process") {
check_includes = false

sources = [
"brave_cosmetic_resources_tab_helper.cc",
"brave_cosmetic_resources_tab_helper.h",
"brave_feature_list.cc",
"brave_relaunch_utils.cc",
"brave_shields_content_settings.cc",
Expand All @@ -29,9 +27,8 @@ source_set("android_browser_process") {
]

if (brave_ads_enabled) {
sources += [
"//brave/browser/brave_ads/android/brave_ads_native_helper.cc",
]
sources +=
[ "//brave/browser/brave_ads/android/brave_ads_native_helper.cc" ]

deps += [
"//brave/browser/brave_ads/android:jni_headers",
Expand All @@ -42,10 +39,10 @@ source_set("android_browser_process") {

if (enable_brave_sync) {
sources += [
"brave_sync_worker.cc",
"brave_sync_worker.h",
"//brave/browser/sync/brave_sync_devices_android.cc",
"//brave/browser/sync/brave_sync_devices_android.h",
"brave_sync_worker.cc",
"brave_sync_worker.h",
]
deps += [
"//brave/components/brave_sync",
Expand Down
130 changes: 0 additions & 130 deletions browser/android/brave_cosmetic_resources_tab_helper.cc

This file was deleted.

37 changes: 0 additions & 37 deletions browser/android/brave_cosmetic_resources_tab_helper.h

This file was deleted.

33 changes: 32 additions & 1 deletion browser/brave_content_browser_client.cc
Original file line number Diff line number Diff line change
Expand Up @@ -20,14 +20,16 @@
#include "brave/common/pref_names.h"
#include "brave/common/webui_url_constants.h"
#include "brave/components/binance/browser/buildflags/buildflags.h"
#include "brave/components/gemini/browser/buildflags/buildflags.h"
#include "brave/components/brave_rewards/browser/buildflags/buildflags.h"
#include "brave/components/brave_shields/browser/brave_shields_util.h"
#include "brave/components/brave_shields/browser/brave_shields_web_contents_observer.h"
#include "brave/components/brave_shields/browser/tracking_protection_service.h"
#include "brave/components/brave_shields/common/brave_shield_constants.h"
#include "brave/components/brave_wallet/buildflags/buildflags.h"
#include "brave/components/brave_webtorrent/browser/buildflags/buildflags.h"
#include "brave/components/cosmetic_filters/browser/cosmetic_filters_resources.h"
#include "brave/components/cosmetic_filters/common/cosmetic_filters.mojom.h"
#include "brave/components/gemini/browser/buildflags/buildflags.h"
#include "brave/components/ipfs/buildflags/buildflags.h"
#include "brave/components/speedreader/buildflags.h"
#include "brave/components/tor/buildflags/buildflags.h"
Expand All @@ -37,6 +39,7 @@
#include "chrome/browser/profiles/profile_io_data.h"
#include "chrome/common/url_constants.h"
#include "components/content_settings/browser/page_specific_content_settings.h"
#include "components/content_settings/core/browser/host_content_settings_map.h"
#include "components/prefs/pref_service.h"
#include "components/services/heap_profiling/public/mojom/heap_profiling_client.mojom.h"
#include "content/browser/renderer_host/render_frame_host_impl.h"
Expand All @@ -48,6 +51,7 @@
#include "content/public/common/content_switches.h"
#include "content/public/common/service_names.mojom.h"
#include "extensions/buildflags/buildflags.h"
#include "mojo/public/cpp/bindings/pending_receiver.h"
#include "net/base/registry_controlled_domains/registry_controlled_domain.h"
#include "net/cookies/site_for_cookies.h"
#include "third_party/blink/public/common/loader/url_loader_throttle.h"
Expand Down Expand Up @@ -128,6 +132,24 @@ bool HandleURLRewrite(GURL* url, content::BrowserContext* browser_context) {
return false;
}

void BindCosmeticFiltersResources(
content::RenderFrameHost* const frame_host,
mojo::PendingReceiver<cosmetic_filters::mojom::CosmeticFiltersResources>
receiver) {
auto* web_contents = content::WebContents::FromRenderFrameHost(frame_host);
if (!web_contents)
return;

auto* profile =
Profile::FromBrowserContext(web_contents->GetBrowserContext());
auto* settings_map = HostContentSettingsMapFactory::GetForProfile(profile);

mojo::MakeSelfOwnedReceiver(
std::make_unique<cosmetic_filters::CosmeticFiltersResources>(
settings_map, g_brave_browser_process->ad_block_service()),
std::move(receiver));
}

} // namespace

BraveContentBrowserClient::BraveContentBrowserClient()
Expand Down Expand Up @@ -172,6 +194,15 @@ BraveContentBrowserClient::AllowWebBluetooth(
return ContentBrowserClient::AllowWebBluetoothResult::BLOCK_GLOBALLY_DISABLED;
}

void BraveContentBrowserClient::RegisterBrowserInterfaceBindersForFrame(
content::RenderFrameHost* render_frame_host,
mojo::BinderMapWithContext<content::RenderFrameHost*>* map) {
ChromeContentBrowserClient::RegisterBrowserInterfaceBindersForFrame(
render_frame_host, map);
map->Add<cosmetic_filters::mojom::CosmeticFiltersResources>(
base::BindRepeating(&BindCosmeticFiltersResources));
}

bool BraveContentBrowserClient::HandleExternalProtocol(
const GURL& url,
content::WebContents::OnceGetter web_contents_getter,
Expand Down
4 changes: 4 additions & 0 deletions browser/brave_content_browser_client.h
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,10 @@ class BraveContentBrowserClient : public ChromeContentBrowserClient {
const url::Origin& requesting_origin,
const url::Origin& embedding_origin) override;

void RegisterBrowserInterfaceBindersForFrame(
content::RenderFrameHost* render_frame_host,
mojo::BinderMapWithContext<content::RenderFrameHost*>* map) override;

void AppendExtraCommandLineSwitches(base::CommandLine* command_line,
int child_process_id) override;

Expand Down
Loading