[VPN 2.0] Add GetLastConnectionError API to BraveVpnService (#37008)
Currently, SkusInternalsUI uses a call to the VPN connection manager to get a last VPN error. This is relevant only to Architecture 1.0, since in Architecture 2.0 there is no connection manager in the browser. Hence we need to implement an implementation-agnotic API in the BraveVpnService, to access the last VPN connection error in SkusInternalsUI. This change introduces this new API. Resolves https://github.com/brave/brave-browser/issues/55762
This commit is contained in:
@@ -993,7 +993,6 @@ source_set("ui") {
|
||||
]
|
||||
}
|
||||
if (enable_brave_vpn_v1) {
|
||||
deps += [ "//brave/components/brave_vpn/browser/connection:api" ]
|
||||
if (is_win) {
|
||||
deps += [
|
||||
"//brave/components/brave_vpn/common/win",
|
||||
|
||||
@@ -42,10 +42,6 @@
|
||||
#include "brave/components/brave_vpn/common/pref_names.h"
|
||||
#endif
|
||||
|
||||
#if BUILDFLAG(ENABLE_BRAVE_VPN_V1)
|
||||
#include "brave/components/brave_vpn/browser/connection/brave_vpn_connection_manager.h"
|
||||
#endif
|
||||
|
||||
namespace {
|
||||
|
||||
void SaveSkusStateToFile(const base::FilePath& path,
|
||||
@@ -231,10 +227,12 @@ void SkusInternalsUI::FileSelectionCanceled() {
|
||||
|
||||
std::string SkusInternalsUI::GetLastVPNConnectionError() const {
|
||||
std::string error;
|
||||
#if BUILDFLAG(ENABLE_BRAVE_VPN_V1)
|
||||
auto* manager = g_brave_browser_process->brave_vpn_connection_manager();
|
||||
CHECK(manager);
|
||||
error = manager->GetLastConnectionError();
|
||||
#if BUILDFLAG(ENABLE_BRAVE_VPN) && !BUILDFLAG(IS_ANDROID)
|
||||
auto* profile = Profile::FromWebUI(web_ui());
|
||||
if (auto* service =
|
||||
brave_vpn::BraveVpnServiceFactory::GetForProfile(profile)) {
|
||||
error = service->GetLastConnectionError();
|
||||
}
|
||||
#endif
|
||||
return error;
|
||||
}
|
||||
|
||||
@@ -63,6 +63,7 @@ class BraveVpnService : public mojom::ServiceHandler, public KeyedService {
|
||||
virtual bool IsConnected() const = 0;
|
||||
virtual void ToggleConnection() = 0;
|
||||
virtual mojom::ConnectionState GetConnectionState() const = 0;
|
||||
virtual std::string GetLastConnectionError() const = 0;
|
||||
virtual void RecordWidgetUsageMetrics(bool new_usage) = 0;
|
||||
#else // !BUILDFLAG(IS_ANDROID)
|
||||
// Public interface for Android native worker.
|
||||
|
||||
@@ -122,6 +122,11 @@ std::string BraveVpnServiceImpl::GetCurrentEnvironment() const {
|
||||
}
|
||||
|
||||
#if !BUILDFLAG(IS_ANDROID)
|
||||
std::string BraveVpnServiceImpl::GetLastConnectionError() const {
|
||||
CHECK(connection_manager_);
|
||||
return connection_manager_->GetLastConnectionError();
|
||||
}
|
||||
|
||||
void BraveVpnServiceImpl::RecordWidgetUsageMetrics(bool new_usage) {
|
||||
brave_vpn_metrics_.RecordWidgetUsage(new_usage);
|
||||
}
|
||||
|
||||
@@ -77,6 +77,7 @@ class BraveVpnServiceImpl : public BraveVpnService,
|
||||
bool IsConnected() const override;
|
||||
void ToggleConnection() override;
|
||||
mojom::ConnectionState GetConnectionState() const override;
|
||||
std::string GetLastConnectionError() const override;
|
||||
void RecordWidgetUsageMetrics(bool new_usage) override;
|
||||
#endif // !BUILDFLAG(IS_ANDROID)
|
||||
|
||||
|
||||
@@ -45,6 +45,7 @@ class TestBraveVpnService : public BraveVpnService {
|
||||
mojom::ConnectionState GetConnectionState() const override {
|
||||
return mojom::ConnectionState::DISCONNECTED;
|
||||
}
|
||||
std::string GetLastConnectionError() const override { return {}; }
|
||||
void RecordWidgetUsageMetrics(bool new_usage) override {}
|
||||
#else
|
||||
void GetTimezonesForRegions(ResponseCallback callback) override {}
|
||||
|
||||
@@ -37,6 +37,7 @@ class BraveVpnServiceImpl : public BraveVpnService {
|
||||
bool IsConnected() const override;
|
||||
void ToggleConnection() override;
|
||||
mojom::ConnectionState GetConnectionState() const override;
|
||||
std::string GetLastConnectionError() const override;
|
||||
void RecordWidgetUsageMetrics(bool new_usage) override;
|
||||
|
||||
// mojom::ServiceHandler overrides:
|
||||
|
||||
@@ -26,6 +26,11 @@ mojom::ConnectionState BraveVpnServiceImpl::GetConnectionState() const {
|
||||
return connection_state_;
|
||||
}
|
||||
|
||||
std::string BraveVpnServiceImpl::GetLastConnectionError() const {
|
||||
NOTIMPLEMENTED();
|
||||
return std::string();
|
||||
}
|
||||
|
||||
void BraveVpnServiceImpl::RecordWidgetUsageMetrics(bool new_usage) {
|
||||
NOTIMPLEMENTED();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user