diff options
author | Peter Varga <pvarga@inf.u-szeged.hu> | 2021-12-03 12:11:06 +0100 |
---|---|---|
committer | Peter Varga <pvarga@inf.u-szeged.hu> | 2021-12-08 11:40:33 +0100 |
commit | 8c8c3390cada3070e09e18e2045a11d16109fb10 (patch) | |
tree | 96ed1447c7adc12c2408b19211afee1aed27fd2e /src | |
parent | ca1074f7d0b91ccb9290acbfe51ecab54ad2efb9 (diff) |
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 <allan.jensen@qt.io>
Diffstat (limited to 'src')
-rw-r--r-- | src/core/browser_main_parts_qt.cpp | 20 | ||||
-rw-r--r-- | src/core/browser_main_parts_qt.h | 6 | ||||
-rw-r--r-- | src/core/content_browser_client_qt.cpp | 6 | ||||
-rw-r--r-- | src/core/content_browser_client_qt.h | 4 |
4 files changed, 19 insertions, 17 deletions
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<FakeSystemGeolocationPermissionManager>(); + m_geolocationManager = std::make_unique<FakeGeolocationManager>(); #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::PerformanceManagerRegistry> performance_manager_registry_; std::unique_ptr<WebUsbDetectorQt> m_webUsbDetector; #if defined(OS_MAC) - std::unique_ptr<device::GeolocationSystemPermissionManager> m_locationPermissionManager; + std::unique_ptr<device::GeolocationManager> 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<device::LocationProvider> 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<device::LocationProvider> 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; |