From 8c8c3390cada3070e09e18e2045a11d16109fb10 Mon Sep 17 00:00:00 2001 From: Peter Varga Date: Fri, 3 Dec 2021 12:11:06 +0100 Subject: Replace GeolocationSystemPermissionManager with GeolocationManager after 94 adaptations This is necessary to fix crash with disabled geolocation on macOS. The change in upstream is: Use GeolocationManager in CoreLocationProvider https://chromium-review.googlesource.com/c/chromium/src/+/2779636 Change-Id: I97143886bc3c98ad880c3cfc739ef08e5bfa3e73 Reviewed-by: Allan Sandfeld Jensen --- src/core/browser_main_parts_qt.cpp | 20 +++++++++++--------- src/core/browser_main_parts_qt.h | 6 +++--- src/core/content_browser_client_qt.cpp | 6 +++--- src/core/content_browser_client_qt.h | 4 ++-- 4 files changed, 19 insertions(+), 17 deletions(-) (limited to 'src') diff --git a/src/core/browser_main_parts_qt.cpp b/src/core/browser_main_parts_qt.cpp index 74b69bf98..6d03f1175 100644 --- a/src/core/browser_main_parts_qt.cpp +++ b/src/core/browser_main_parts_qt.cpp @@ -88,7 +88,7 @@ #if defined(OS_MAC) #include "base/message_loop/message_pump_mac.h" -#include "services/device/public/cpp/geolocation/geolocation_system_permission_mac.h" +#include "services/device/public/cpp/geolocation/geolocation_manager.h" #include "ui/base/idle/idle.h" #endif @@ -228,14 +228,16 @@ private: }; #if defined(OS_MAC) -class FakeSystemGeolocationPermissionManager : public device::GeolocationSystemPermissionManager +class FakeGeolocationManager : public device::GeolocationManager { public: - FakeSystemGeolocationPermissionManager() = default; - ~FakeSystemGeolocationPermissionManager() override = default; + FakeGeolocationManager() = default; + ~FakeGeolocationManager() override = default; - // GeolocationSystemPermissionManager implementation: - device::LocationSystemPermissionStatus GetSystemPermission() override + // GeolocationManager implementation: + void StartWatchingPosition(bool) override {} + void StopWatchingPosition() override {} + device::LocationSystemPermissionStatus GetSystemPermission() const override { return device::LocationSystemPermissionStatus::kDenied; } @@ -267,7 +269,7 @@ int BrowserMainPartsQt::PreEarlyInitialization() void BrowserMainPartsQt::PreCreateMainMessageLoop() { #if defined(OS_MAC) - m_locationPermissionManager = std::make_unique(); + m_geolocationManager = std::make_unique(); #endif } @@ -344,9 +346,9 @@ void BrowserMainPartsQt::PostCreateThreads() } #if defined(OS_MAC) -device::GeolocationSystemPermissionManager *BrowserMainPartsQt::GetLocationPermissionManager() +device::GeolocationManager *BrowserMainPartsQt::GetGeolocationManager() { - return m_locationPermissionManager.get(); + return m_geolocationManager.get(); } #endif diff --git a/src/core/browser_main_parts_qt.h b/src/core/browser_main_parts_qt.h index 3eb86a657..1ee392e7b 100644 --- a/src/core/browser_main_parts_qt.h +++ b/src/core/browser_main_parts_qt.h @@ -53,7 +53,7 @@ class ServiceManagerConnection; } namespace device { -class GeolocationSystemPermissionManager; +class GeolocationManager; } namespace performance_manager { @@ -80,7 +80,7 @@ public: void PostCreateThreads() override; #if defined(OS_MAC) - device::GeolocationSystemPermissionManager *GetLocationPermissionManager(); + device::GeolocationManager *GetGeolocationManager(); #endif private: @@ -89,7 +89,7 @@ private: std::unique_ptr performance_manager_registry_; std::unique_ptr m_webUsbDetector; #if defined(OS_MAC) - std::unique_ptr m_locationPermissionManager; + std::unique_ptr m_geolocationManager; #endif }; diff --git a/src/core/content_browser_client_qt.cpp b/src/core/content_browser_client_qt.cpp index 8fbb2d668..893eca09d 100644 --- a/src/core/content_browser_client_qt.cpp +++ b/src/core/content_browser_client_qt.cpp @@ -72,7 +72,7 @@ #include "mojo/public/cpp/bindings/self_owned_associated_receiver.h" #include "net/ssl/client_cert_identity.h" #include "net/ssl/client_cert_store.h" -#include "services/device/public/cpp/geolocation/geolocation_system_permission_mac.h" +#include "services/device/public/cpp/geolocation/geolocation_manager.h" #include "services/network/network_service.h" #include "third_party/blink/public/common/associated_interfaces/associated_interface_registry.h" #include "third_party/blink/public/common/loader/url_loader_throttle.h" @@ -592,10 +592,10 @@ std::unique_ptr ContentBrowserClientQt::OverrideSystem } #endif -device::GeolocationSystemPermissionManager *ContentBrowserClientQt::GetLocationPermissionManager() +device::GeolocationManager *ContentBrowserClientQt::GetGeolocationManager() { #if defined(OS_MAC) - return m_browserMainParts->GetLocationPermissionManager(); + return m_browserMainParts->GetGeolocationManager(); #else return nullptr; #endif diff --git a/src/core/content_browser_client_qt.h b/src/core/content_browser_client_qt.h index 35730f9d2..3079d33d0 100644 --- a/src/core/content_browser_client_qt.h +++ b/src/core/content_browser_client_qt.h @@ -61,7 +61,7 @@ struct Referrer; } // namespace content namespace device { -class GeolocationSystemPermissionManager; +class GeolocationManager; } // namespace device namespace gl { @@ -172,7 +172,7 @@ public: #if QT_CONFIG(webengine_geolocation) std::unique_ptr OverrideSystemLocationProvider() override; #endif - device::GeolocationSystemPermissionManager *GetLocationPermissionManager() override; + device::GeolocationManager *GetGeolocationManager() override; bool ShouldIsolateErrorPage(bool in_main_frame) override; bool ShouldUseProcessPerSite(content::BrowserContext *browser_context, const GURL &effective_url) override; -- cgit v1.2.3