mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-26 06:11:37 +00:00
Backed out changeset 493061169650 (bug 1529591) for build bustages on nsGeolocation.cpp. CLOSED TREE
This commit is contained in:
parent
cc2cf9eb99
commit
59aed5845a
@ -1216,65 +1216,22 @@ void Geolocation::NotifyAllowedRequest(nsGeolocationRequest* aRequest) {
|
||||
}
|
||||
}
|
||||
|
||||
bool Geolocation::RegisterRequestWithPromptImpl(
|
||||
nsGeolocationRequest* aRequest) {
|
||||
bool Geolocation::RegisterRequestWithPrompt(nsGeolocationRequest* request) {
|
||||
nsIEventTarget* target = MainThreadTarget(this);
|
||||
ContentPermissionRequestBase::PromptResult pr = aRequest->CheckPromptPrefs();
|
||||
ContentPermissionRequestBase::PromptResult pr = request->CheckPromptPrefs();
|
||||
if (pr == ContentPermissionRequestBase::PromptResult::Granted) {
|
||||
aRequest->RequestDelayedTask(target,
|
||||
nsGeolocationRequest::DelayedTaskType::Allow);
|
||||
request->RequestDelayedTask(target,
|
||||
nsGeolocationRequest::DelayedTaskType::Allow);
|
||||
return true;
|
||||
}
|
||||
if (pr == ContentPermissionRequestBase::PromptResult::Denied) {
|
||||
aRequest->RequestDelayedTask(target,
|
||||
nsGeolocationRequest::DelayedTaskType::Deny);
|
||||
request->RequestDelayedTask(target,
|
||||
nsGeolocationRequest::DelayedTaskType::Deny);
|
||||
return true;
|
||||
}
|
||||
|
||||
aRequest->RequestDelayedTask(target,
|
||||
nsGeolocationRequest::DelayedTaskType::Request);
|
||||
return true;
|
||||
}
|
||||
|
||||
bool Geolocation::RegisterRequestWithPrompt(nsGeolocationRequest* request) {
|
||||
bool isCoreLocationProvider =
|
||||
#ifdef MOZ_WIDGET_COCOA
|
||||
!Preferences::GetBool("geo.provider.use_mls", false) &&
|
||||
!Preferences::GetBool("geo.provider.testing", false);
|
||||
#else
|
||||
false;
|
||||
#endif
|
||||
|
||||
if (!isCoreLocationProvider) {
|
||||
return RegisterRequestWithPromptImpl(request);
|
||||
}
|
||||
|
||||
if (XRE_IsParentProcess()) { // non e10s mode
|
||||
if (!isMacGeoSystemPermissionEnabled()) {
|
||||
return false;
|
||||
}
|
||||
return RegisterRequestWithPromptImpl(request);
|
||||
}
|
||||
|
||||
nsCOMPtr<nsISerialEventTarget> serialTarget =
|
||||
SystemGroup::EventTargetFor(TaskCategory::Other);
|
||||
ContentChild* cpc = ContentChild::GetSingleton();
|
||||
cpc->SendGetGeoSysPermission()->Then(
|
||||
serialTarget, __func__,
|
||||
[request, this](bool aSysPermIsGranted) {
|
||||
if (!aSysPermIsGranted) {
|
||||
nsIEventTarget* target = MainThreadTarget(this);
|
||||
request->RequestDelayedTask(
|
||||
target, nsGeolocationRequest::DelayedTaskType::Deny);
|
||||
} else {
|
||||
RegisterRequestWithPromptImpl(request);
|
||||
}
|
||||
},
|
||||
[request, this](mozilla::ipc::ResponseRejectReason aReason) {
|
||||
nsIEventTarget* target = MainThreadTarget(this);
|
||||
request->RequestDelayedTask(
|
||||
target, nsGeolocationRequest::DelayedTaskType::Deny);
|
||||
});
|
||||
request->RequestDelayedTask(target,
|
||||
nsGeolocationRequest::DelayedTaskType::Request);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -197,8 +197,6 @@ class Geolocation final : public nsIGeolocationUpdate, public nsWrapperCache {
|
||||
|
||||
bool RegisterRequestWithPrompt(nsGeolocationRequest* request);
|
||||
|
||||
bool RegisterRequestWithPromptImpl(nsGeolocationRequest* aRequest);
|
||||
|
||||
// Check if clearWatch is already called
|
||||
bool IsAlreadyCleared(nsGeolocationRequest* aRequest);
|
||||
|
||||
|
@ -236,7 +236,6 @@
|
||||
|
||||
#if defined(XP_MACOSX)
|
||||
# include "nsMacUtilsImpl.h"
|
||||
# include "CoreLocationLocationProvider.h"
|
||||
#endif
|
||||
|
||||
#if defined(ANDROID) || defined(LINUX)
|
||||
@ -4065,15 +4064,6 @@ mozilla::ipc::IPCResult ContentParent::RecvAddGeolocationListener(
|
||||
return IPC_OK();
|
||||
}
|
||||
|
||||
mozilla::ipc::IPCResult ContentParent::RecvGetGeoSysPermission(
|
||||
std::function<void(const bool)>&& aCallback) {
|
||||
#ifdef MOZ_WIDGET_COCOA
|
||||
// This is only called when using the CoreLocation location provider.
|
||||
aCallback(isMacGeoSystemPermissionEnabled());
|
||||
#endif
|
||||
return IPC_OK();
|
||||
}
|
||||
|
||||
mozilla::ipc::IPCResult ContentParent::RecvRemoveGeolocationListener() {
|
||||
if (mGeolocationWatchID != -1) {
|
||||
RefPtr<Geolocation> geo = Geolocation::NonWindowSingleton();
|
||||
|
@ -1000,9 +1000,6 @@ class ContentParent final : public PContentParent,
|
||||
const IPC::Principal& aPrincipal, const bool& aHighAccuracy);
|
||||
mozilla::ipc::IPCResult RecvRemoveGeolocationListener();
|
||||
|
||||
mozilla::ipc::IPCResult RecvGetGeoSysPermission(
|
||||
std::function<void(const bool)>&& aCallback);
|
||||
|
||||
// MOZ_CAN_RUN_SCRIPT_BOUNDARY because we don't have MOZ_CAN_RUN_SCRIPT bits
|
||||
// in IPC code yet.
|
||||
MOZ_CAN_RUN_SCRIPT_BOUNDARY
|
||||
|
@ -959,8 +959,6 @@ parent:
|
||||
async RemoveGeolocationListener();
|
||||
async SetGeolocationHigherAccuracy(bool enable);
|
||||
|
||||
async GetGeoSysPermission() returns (bool isok);
|
||||
|
||||
async ConsoleMessage(nsString message);
|
||||
async ScriptErrorWithStack(nsString message, nsString sourceName, nsString sourceLine,
|
||||
uint32_t lineNumber, uint32_t colNumber, uint32_t flags,
|
||||
|
@ -25,8 +25,6 @@
|
||||
class CoreLocationObjects;
|
||||
class MLSFallback;
|
||||
|
||||
bool isMacGeoSystemPermissionEnabled();
|
||||
|
||||
class CoreLocationLocationProvider : public nsIGeolocationProvider {
|
||||
public:
|
||||
NS_DECL_ISUPPORTS
|
||||
|
@ -32,8 +32,6 @@ using namespace mozilla;
|
||||
static const CLLocationAccuracy kHIGH_ACCURACY = kCLLocationAccuracyBest;
|
||||
static const CLLocationAccuracy kDEFAULT_ACCURACY = kCLLocationAccuracyNearestTenMeters;
|
||||
|
||||
bool isMacGeoSystemPermissionEnabled() { return [CLLocationManager locationServicesEnabled]; }
|
||||
|
||||
@interface LocationDelegate : NSObject <CLLocationManagerDelegate> {
|
||||
CoreLocationLocationProvider* mProvider;
|
||||
}
|
||||
|
@ -10,7 +10,6 @@ SOURCES += [
|
||||
]
|
||||
|
||||
EXPORTS += [
|
||||
'CoreLocationLocationProvider.h',
|
||||
'nsOSPermissionRequest.h',
|
||||
]
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user