Use closure instead of dynamic params callback

This commit is contained in:
Shivan Kaul Sahib
2022-04-13 14:43:24 -07:00
parent 7de93b4872
commit 102d405c4a
7 changed files with 24 additions and 16 deletions
+2 -1
View File
@@ -12,6 +12,7 @@
#include "brave/common/brave_renderer_configuration.mojom.h"
#include "brave/components/brave_wallet/browser/pref_names.h"
#include "brave/components/brave_wallet/common/brave_wallet.mojom.h"
#include "brave/components/de_amp/browser/de_amp_util.h"
#include "brave/components/de_amp/common/pref_names.h"
#include "build/build_config.h"
#include "chrome/browser/profiles/profile.h"
@@ -110,7 +111,7 @@ void BraveRendererUpdater::UpdateRenderer(
brave_wallet::mojom::DefaultWallet::BraveWalletPreferExtension;
PrefService* pref_service = profile_->GetPrefs();
bool de_amp_enabled = pref_service->GetBoolean(de_amp::kDeAmpPrefEnabled);
bool de_amp_enabled = de_amp::IsDeAmpEnabled(pref_service);
(*renderer_configuration)
->SetConfiguration(brave::mojom::DynamicParams::New(
@@ -1,5 +1,4 @@
include_rules = [
"+brave/common",
"+content/public/renderer",
"+gin",
"+third_party/blink/public",
@@ -52,14 +52,14 @@ void EnsureIsolatedWorldInitialized(int world_id) {
CosmeticFiltersJsRenderFrameObserver::CosmeticFiltersJsRenderFrameObserver(
content::RenderFrame* render_frame,
const int32_t isolated_world_id,
GetDynamicParamsCallback get_dynamic_params_callback)
base::RepeatingCallback<bool(void)> get_de_amp_enabled_closure)
: RenderFrameObserver(render_frame),
RenderFrameObserverTracker<CosmeticFiltersJsRenderFrameObserver>(
render_frame),
isolated_world_id_(isolated_world_id),
native_javascript_handle_(
new CosmeticFiltersJSHandler(render_frame, isolated_world_id)),
get_dynamic_params_callback_(std::move(get_dynamic_params_callback)),
get_de_amp_enabled_closure_(std::move(get_de_amp_enabled_closure)),
ready_(new base::OneShotEvent()) {}
CosmeticFiltersJsRenderFrameObserver::~CosmeticFiltersJsRenderFrameObserver() {}
@@ -111,10 +111,7 @@ void CosmeticFiltersJsRenderFrameObserver::RunScriptsAtDocumentStart() {
}
void CosmeticFiltersJsRenderFrameObserver::ApplyRules() {
auto dynamic_params = get_dynamic_params_callback_.Run();
bool de_amp_enabled =
base::FeatureList::IsEnabled(de_amp::features::kBraveDeAMP) &&
dynamic_params.de_amp_enabled;
bool de_amp_enabled = get_de_amp_enabled_closure_.Run();
native_javascript_handle_->ApplyRules(de_amp_enabled);
}
@@ -10,7 +10,6 @@
#include "base/memory/weak_ptr.h"
#include "base/one_shot_event.h"
#include "brave/common/brave_renderer_configuration.mojom.h"
#include "brave/components/cosmetic_filters/renderer/cosmetic_filters_js_handler.h"
#include "content/public/renderer/render_frame.h"
#include "content/public/renderer/render_frame_observer.h"
@@ -29,13 +28,10 @@ class CosmeticFiltersJsRenderFrameObserver
public content::RenderFrameObserverTracker<
CosmeticFiltersJsRenderFrameObserver> {
public:
using GetDynamicParamsCallback =
base::RepeatingCallback<const brave::mojom::DynamicParams&()>;
CosmeticFiltersJsRenderFrameObserver(
content::RenderFrame* render_frame,
const int32_t isolated_world_id,
GetDynamicParamsCallback get_dynamic_params_callback);
base::RepeatingCallback<bool(void)> get_de_amp_enabled_closure_);
~CosmeticFiltersJsRenderFrameObserver() override;
CosmeticFiltersJsRenderFrameObserver(
@@ -70,7 +66,7 @@ class CosmeticFiltersJsRenderFrameObserver
std::unique_ptr<CosmeticFiltersJSHandler> native_javascript_handle_;
GURL url_;
GetDynamicParamsCallback get_dynamic_params_callback_;
base::RepeatingCallback<bool(void)> get_de_amp_enabled_closure_;
std::unique_ptr<base::OneShotEvent> ready_;
+9
View File
@@ -5,7 +5,11 @@
#include "brave/components/de_amp/browser/de_amp_util.h"
#include "base/feature_list.h"
#include "base/no_destructor.h"
#include "brave/components/de_amp/common/features.h"
#include "brave/components/de_amp/common/pref_names.h"
#include "components/prefs/pref_service.h"
#include "third_party/re2/src/re2/re2.h"
namespace de_amp {
@@ -22,6 +26,11 @@ constexpr char kFindCanonicalLinkTagPattern[] =
constexpr char kFindCanonicalHrefInTagPattern[] = "href=(?:\"|')(.*?)(?:\"|')";
} // namespace
bool IsDeAmpEnabled(PrefService* prefs) {
return base::FeatureList::IsEnabled(features::kBraveDeAMP) &&
prefs->GetBoolean(de_amp::kDeAmpPrefEnabled);
}
bool VerifyCanonicalAmpUrl(const GURL& canonical_link,
const GURL& original_url) {
// Canonical URL should be a valid URL,
+2
View File
@@ -8,9 +8,11 @@
#include <string>
#include "components/prefs/pref_service.h"
#include "url/gurl.h"
namespace de_amp {
bool IsDeAmpEnabled(PrefService* prefs);
bool MaybeFindCanonicalAmpUrl(const std::string& body,
std::string* canonical_url);
bool VerifyCanonicalAmpUrl(const GURL& canonical_url, const GURL& original_url);
+6 -2
View File
@@ -62,9 +62,13 @@ void BraveContentRendererClient::RenderFrameCreated(
if (base::FeatureList::IsEnabled(
brave_shields::features::kBraveAdblockCosmeticFiltering)) {
auto dynamic_params_closure = base::BindRepeating([]() {
auto dynamic_params = BraveRenderThreadObserver::GetDynamicParams();
return dynamic_params.de_amp_enabled;
});
new cosmetic_filters::CosmeticFiltersJsRenderFrameObserver(
render_frame, ISOLATED_WORLD_ID_BRAVE_INTERNAL,
base::BindRepeating(&BraveRenderThreadObserver::GetDynamicParams));
render_frame, ISOLATED_WORLD_ID_BRAVE_INTERNAL, dynamic_params_closure);
}
if (base::FeatureList::IsEnabled(