Skip to content

Commit

Permalink
Uplift of #18834 (squashed) to beta
Browse files Browse the repository at this point in the history
  • Loading branch information
brave-builds committed Jul 6, 2023
1 parent b0c5300 commit 41bdb12
Show file tree
Hide file tree
Showing 19 changed files with 588 additions and 47 deletions.
6 changes: 2 additions & 4 deletions browser/brave_browser_process.h
Original file line number Diff line number Diff line change
Expand Up @@ -64,8 +64,7 @@ class LocalhostPermissionComponent;
} // namespace localhost_permission

namespace misc_metrics {
class MenuMetrics;
class PrivacyHubMetrics;
class ProcessMiscMetrics;
} // namespace misc_metrics

namespace request_otr {
Expand Down Expand Up @@ -148,8 +147,7 @@ class BraveBrowserProcess {
#endif
virtual brave_ads::ResourceComponent* resource_component() = 0;
virtual brave::BraveFarblingService* brave_farbling_service() = 0;
virtual misc_metrics::MenuMetrics* menu_metrics() = 0;
virtual misc_metrics::PrivacyHubMetrics* privacy_hub_metrics() = 0;
virtual misc_metrics::ProcessMiscMetrics* process_misc_metrics() = 0;
};

extern BraveBrowserProcess* g_brave_browser_process;
Expand Down
28 changes: 9 additions & 19 deletions browser/brave_browser_process_impl.cc
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
#include "brave/browser/brave_stats/brave_stats_updater.h"
#include "brave/browser/component_updater/brave_component_updater_configurator.h"
#include "brave/browser/component_updater/brave_component_updater_delegate.h"
#include "brave/browser/misc_metrics/process_misc_metrics.h"
#include "brave/browser/net/brave_system_request_handler.h"
#include "brave/browser/profiles/brave_profile_manager.h"
#include "brave/browser/themes/brave_dark_mode_utils.h"
Expand All @@ -38,8 +39,6 @@
#include "brave/components/debounce/common/features.h"
#include "brave/components/https_upgrade_exceptions/browser/https_upgrade_exceptions_service.h"
#include "brave/components/localhost_permission/localhost_permission_component.h"
#include "brave/components/misc_metrics/menu_metrics.h"
#include "brave/components/misc_metrics/privacy_hub_metrics.h"
#include "brave/components/ntp_background_images/browser/ntp_background_images_service.h"
#include "brave/components/p3a/buildflags.h"
#include "brave/components/p3a/histograms_braveizer.h"
Expand Down Expand Up @@ -141,8 +140,8 @@ BraveBrowserProcessImpl::BraveBrowserProcessImpl(StartupData* startup_data)
// early initialize brave stats
brave_stats_updater();

// early initialize menu metrics
menu_metrics();
// early initialize misc metrics
process_misc_metrics();
}

void BraveBrowserProcessImpl::Init() {
Expand Down Expand Up @@ -526,20 +525,11 @@ brave::BraveFarblingService* BraveBrowserProcessImpl::brave_farbling_service() {
return brave_farbling_service_.get();
}

misc_metrics::MenuMetrics* BraveBrowserProcessImpl::menu_metrics() {
#if !BUILDFLAG(IS_ANDROID)
if (!menu_metrics_) {
menu_metrics_ = std::make_unique<misc_metrics::MenuMetrics>(local_state());
}
#endif
return menu_metrics_.get();
}

misc_metrics::PrivacyHubMetrics*
BraveBrowserProcessImpl::privacy_hub_metrics() {
if (!privacy_hub_metrics_) {
privacy_hub_metrics_ =
std::make_unique<misc_metrics::PrivacyHubMetrics>(local_state());
misc_metrics::ProcessMiscMetrics*
BraveBrowserProcessImpl::process_misc_metrics() {
if (!process_misc_metrics_) {
process_misc_metrics_ =
std::make_unique<misc_metrics::ProcessMiscMetrics>(local_state());
}
return privacy_hub_metrics_.get();
return process_misc_metrics_.get();
}
9 changes: 3 additions & 6 deletions browser/brave_browser_process_impl.h
Original file line number Diff line number Diff line change
Expand Up @@ -59,8 +59,7 @@ class DebounceComponentInstaller;
} // namespace debounce

namespace misc_metrics {
class MenuMetrics;
class PrivacyHubMetrics;
class ProcessMiscMetrics;
} // namespace misc_metrics

namespace request_otr {
Expand Down Expand Up @@ -153,8 +152,7 @@ class BraveBrowserProcessImpl : public BraveBrowserProcess,
brave_vpn::BraveVPNOSConnectionAPI* brave_vpn_os_connection_api() override;
#endif
brave::BraveFarblingService* brave_farbling_service() override;
misc_metrics::MenuMetrics* menu_metrics() override;
misc_metrics::PrivacyHubMetrics* privacy_hub_metrics() override;
misc_metrics::ProcessMiscMetrics* process_misc_metrics() override;

private:
// BrowserProcessImpl overrides:
Expand Down Expand Up @@ -231,8 +229,7 @@ class BraveBrowserProcessImpl : public BraveBrowserProcess,
#endif

std::unique_ptr<brave::BraveFarblingService> brave_farbling_service_;
std::unique_ptr<misc_metrics::MenuMetrics> menu_metrics_;
std::unique_ptr<misc_metrics::PrivacyHubMetrics> privacy_hub_metrics_;
std::unique_ptr<misc_metrics::ProcessMiscMetrics> process_misc_metrics_;
std::unique_ptr<brave_ads::BraveStatsHelper> brave_stats_helper_;

SEQUENCE_CHECKER(sequence_checker_);
Expand Down
5 changes: 2 additions & 3 deletions browser/brave_local_state_prefs.cc
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
#include "brave/browser/brave_stats/brave_stats_updater.h"
#include "brave/browser/metrics/buildflags/buildflags.h"
#include "brave/browser/metrics/metrics_reporting_util.h"
#include "brave/browser/misc_metrics/process_misc_metrics.h"
#include "brave/browser/ntp_background/ntp_p3a_helper_impl.h"
#include "brave/browser/playlist/playlist_service_factory.h"
#include "brave/browser/themes/brave_dark_mode_utils.h"
Expand All @@ -25,7 +26,6 @@
#include "brave/components/constants/pref_names.h"
#include "brave/components/decentralized_dns/core/utils.h"
#include "brave/components/misc_metrics/general_browser_usage.h"
#include "brave/components/misc_metrics/menu_metrics.h"
#include "brave/components/misc_metrics/page_metrics_service.h"
#include "brave/components/misc_metrics/privacy_hub_metrics.h"
#include "brave/components/ntp_background_images/browser/ntp_background_images_service.h"
Expand Down Expand Up @@ -136,11 +136,10 @@ void RegisterLocalStatePrefs(PrefRegistrySimple* registry) {

brave_wallet::RegisterLocalStatePrefs(registry);

misc_metrics::MenuMetrics::RegisterPrefs(registry);
misc_metrics::ProcessMiscMetrics::RegisterPrefs(registry);
misc_metrics::PageMetricsService::RegisterPrefs(registry);
brave_ads::BraveStatsHelper::RegisterLocalStatePrefs(registry);
misc_metrics::GeneralBrowserUsage::RegisterPrefs(registry);
misc_metrics::PrivacyHubMetrics::RegisterPrefs(registry);

playlist::PlaylistServiceFactory::RegisterLocalStatePrefs(registry);
}
Expand Down
5 changes: 4 additions & 1 deletion browser/misc_metrics/privacy_hub_metrics_factory_android.cc
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,17 @@

#include "base/android/jni_android.h"
#include "brave/browser/brave_browser_process.h"
#include "brave/browser/misc_metrics/process_misc_metrics.h"
#include "brave/build/android/jni_headers/PrivacyHubMetricsFactory_jni.h"
#include "brave/components/misc_metrics/privacy_hub_metrics.h"

namespace chrome {
namespace android {
static jlong JNI_PrivacyHubMetricsFactory_GetInterfaceToPrivacyHubMetrics(
JNIEnv* env) {
auto pending = g_brave_browser_process->privacy_hub_metrics()->MakeRemote();
auto pending = g_brave_browser_process->process_misc_metrics()
->privacy_hub_metrics()
->MakeRemote();

return static_cast<jlong>(pending.PassPipe().release().value());
}
Expand Down
55 changes: 55 additions & 0 deletions browser/misc_metrics/process_misc_metrics.cc
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
/* Copyright (c) 2023 The Brave Authors. All rights reserved.
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this file,
* You can obtain one at https://mozilla.org/MPL/2.0/. */

#include "brave/browser/misc_metrics/process_misc_metrics.h"

#include "components/prefs/pref_registry_simple.h"
#include "components/prefs/pref_service.h"

#if !BUILDFLAG(IS_ANDROID)
#include "brave/browser/misc_metrics/vertical_tab_metrics.h"
#include "brave/components/misc_metrics/menu_metrics.h"
#else
#include "brave/components/misc_metrics/privacy_hub_metrics.h"
#endif

namespace misc_metrics {

ProcessMiscMetrics::ProcessMiscMetrics(PrefService* local_state) {
#if !BUILDFLAG(IS_ANDROID)
menu_metrics_ = std::make_unique<MenuMetrics>(local_state);
vertical_tab_metrics_ = std::make_unique<VerticalTabMetrics>(local_state);
#else
privacy_hub_metrics_ =
std::make_unique<misc_metrics::PrivacyHubMetrics>(local_state);
#endif
}

ProcessMiscMetrics::~ProcessMiscMetrics() = default;

#if !BUILDFLAG(IS_ANDROID)
MenuMetrics* ProcessMiscMetrics::menu_metrics() {
return menu_metrics_.get();
}

VerticalTabMetrics* ProcessMiscMetrics::vertical_tab_metrics() {
return vertical_tab_metrics_.get();
}
#else
PrivacyHubMetrics* ProcessMiscMetrics::privacy_hub_metrics() {
return privacy_hub_metrics_.get();
}
#endif

void ProcessMiscMetrics::RegisterPrefs(PrefRegistrySimple* registry) {
#if !BUILDFLAG(IS_ANDROID)
MenuMetrics::RegisterPrefs(registry);
VerticalTabMetrics::RegisterPrefs(registry);
#else
PrivacyHubMetrics::RegisterPrefs(registry);
#endif
}

} // namespace misc_metrics
53 changes: 53 additions & 0 deletions browser/misc_metrics/process_misc_metrics.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
/* Copyright (c) 2023 The Brave Authors. All rights reserved.
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this file,
* You can obtain one at https://mozilla.org/MPL/2.0/. */

#ifndef BRAVE_BROWSER_MISC_METRICS_PROCESS_MISC_METRICS_H_
#define BRAVE_BROWSER_MISC_METRICS_PROCESS_MISC_METRICS_H_

#include <memory>

#include "build/build_config.h"

class PrefRegistrySimple;
class PrefService;

namespace misc_metrics {

#if !BUILDFLAG(IS_ANDROID)
class MenuMetrics;
class VerticalTabMetrics;
#else
class PrivacyHubMetrics;
#endif

class ProcessMiscMetrics {
public:
explicit ProcessMiscMetrics(PrefService* local_state);
~ProcessMiscMetrics();

ProcessMiscMetrics(const ProcessMiscMetrics&) = delete;
ProcessMiscMetrics& operator=(const ProcessMiscMetrics&) = delete;

static void RegisterPrefs(PrefRegistrySimple* registry);

#if !BUILDFLAG(IS_ANDROID)
MenuMetrics* menu_metrics();
VerticalTabMetrics* vertical_tab_metrics();
#else
PrivacyHubMetrics* privacy_hub_metrics();
#endif

private:
#if !BUILDFLAG(IS_ANDROID)
std::unique_ptr<MenuMetrics> menu_metrics_;
std::unique_ptr<VerticalTabMetrics> vertical_tab_metrics_;
#else
std::unique_ptr<PrivacyHubMetrics> privacy_hub_metrics_;
#endif
};

} // namespace misc_metrics

#endif // BRAVE_BROWSER_MISC_METRICS_PROCESS_MISC_METRICS_H_
9 changes: 9 additions & 0 deletions browser/misc_metrics/sources.gni
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,17 @@ brave_browser_misc_metrics_sources = [
"//brave/browser/misc_metrics/page_metrics_service_factory.h",
"//brave/browser/misc_metrics/page_metrics_tab_helper.cc",
"//brave/browser/misc_metrics/page_metrics_tab_helper.h",
"//brave/browser/misc_metrics/process_misc_metrics.cc",
"//brave/browser/misc_metrics/process_misc_metrics.h",
]

if (!is_android) {
brave_browser_misc_metrics_sources += [
"//brave/browser/misc_metrics/vertical_tab_metrics.cc",
"//brave/browser/misc_metrics/vertical_tab_metrics.h",
]
}

brave_browser_misc_metrics_deps = [
"//brave/browser:browser_process",
"//brave/browser/profiles:util",
Expand Down
Loading

0 comments on commit 41bdb12

Please sign in to comment.