summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorPeter Varga <pvarga@inf.u-szeged.hu>2021-12-03 12:11:06 +0100
committerPeter Varga <pvarga@inf.u-szeged.hu>2021-12-08 11:40:33 +0100
commit8c8c3390cada3070e09e18e2045a11d16109fb10 (patch)
tree96ed1447c7adc12c2408b19211afee1aed27fd2e /src
parentca1074f7d0b91ccb9290acbfe51ecab54ad2efb9 (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.cpp20
-rw-r--r--src/core/browser_main_parts_qt.h6
-rw-r--r--src/core/content_browser_client_qt.cpp6
-rw-r--r--src/core/content_browser_client_qt.h4
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;