Backed out changeset 493061169650 (bug 1529591) for build bustages on nsGeolocation.cpp. CLOSED TREE

This commit is contained in:
Brindusan Cristian 2019-09-09 17:35:39 +03:00
parent cc2cf9eb99
commit 59aed5845a
8 changed files with 8 additions and 73 deletions

View File

@ -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;
}

View File

@ -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);

View File

@ -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();

View File

@ -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

View File

@ -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,

View File

@ -25,8 +25,6 @@
class CoreLocationObjects;
class MLSFallback;
bool isMacGeoSystemPermissionEnabled();
class CoreLocationLocationProvider : public nsIGeolocationProvider {
public:
NS_DECL_ISUPPORTS

View File

@ -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;
}

View File

@ -10,7 +10,6 @@ SOURCES += [
]
EXPORTS += [
'CoreLocationLocationProvider.h',
'nsOSPermissionRequest.h',
]