Diff
Modified: trunk/Source/WebKit/ChangeLog (260380 => 260381)
--- trunk/Source/WebKit/ChangeLog 2020-04-20 18:16:57 UTC (rev 260380)
+++ trunk/Source/WebKit/ChangeLog 2020-04-20 18:41:29 UTC (rev 260381)
@@ -1,3 +1,39 @@
+2020-04-20 David Kilzer <[email protected]>
+
+ [IPC hardening] Use ObjectIdentifier<> for geolocationID
+ <https://webkit.org/b/210680>
+ <rdar://problem/58892340>
+
+ Reviewed by Chris Dumez.
+
+ Replace uses of uint64_t with GeolocationIdentifier.
+
+ * Scripts/webkit/messages.py:
+ * UIProcess/GeolocationIdentifier.h: Add.
+ * UIProcess/GeolocationPermissionRequestManagerProxy.cpp:
+ (WebKit::GeolocationPermissionRequestManagerProxy::createRequest):
+ (WebKit::GeolocationPermissionRequestManagerProxy::didReceiveGeolocationPermissionDecision):
+ * UIProcess/GeolocationPermissionRequestManagerProxy.h:
+ * UIProcess/GeolocationPermissionRequestProxy.cpp:
+ (WebKit::GeolocationPermissionRequestProxy::GeolocationPermissionRequestProxy):
+ * UIProcess/GeolocationPermissionRequestProxy.h:
+ (WebKit::GeolocationPermissionRequestProxy::create):
+ * UIProcess/WebPageProxy.cpp:
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebPageProxy.messages.in:
+ * WebKit.xcodeproj/project.pbxproj:
+ * WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp:
+ (WebKit::GeolocationPermissionRequestManager::startRequestForGeolocation):
+ (WebKit::GeolocationPermissionRequestManager::cancelRequestForGeolocation):
+ (WebKit::GeolocationPermissionRequestManager::didReceiveGeolocationPermissionDecision):
+ (WebKit::generateGeolocationID): Delete.
+ - Replace with GeolocationIdentifier::generate().
+ * WebProcess/Geolocation/GeolocationPermissionRequestManager.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::didReceiveGeolocationPermissionDecision):
+ * WebProcess/WebPage/WebPage.h:
+ * WebProcess/WebPage/WebPage.messages.in:
+
2020-04-20 Chris Dumez <[email protected]>
[iOS] Refactor WebKit media playback process assertion logic to minimize chances of leaking them
Modified: trunk/Source/WebKit/Scripts/webkit/messages.py (260380 => 260381)
--- trunk/Source/WebKit/Scripts/webkit/messages.py 2020-04-20 18:16:57 UTC (rev 260380)
+++ trunk/Source/WebKit/Scripts/webkit/messages.py 2020-04-20 18:41:29 UTC (rev 260381)
@@ -1,4 +1,4 @@
-# Copyright (C) 2010-2019 Apple Inc. All rights reserved.
+# Copyright (C) 2010-2020 Apple Inc. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
@@ -229,6 +229,7 @@
'WebKit::ActivityStateChangeID',
'WebKit::AudioMediaStreamTrackRendererIdentifier',
'WebKit::ContentWorldIdentifier',
+ 'WebKit::GeolocationIdentifier',
'WebKit::ImageBufferBackendHandle',
'WebKit::ImageBufferFlushIdentifier',
'WebKit::ImageBufferIdentifier',
Copied: trunk/Source/WebKit/UIProcess/GeolocationIdentifier.h (from rev 260380, trunk/Source/WebKit/WebProcess/Geolocation/GeolocationPermissionRequestManager.h) (0 => 260381)
--- trunk/Source/WebKit/UIProcess/GeolocationIdentifier.h (rev 0)
+++ trunk/Source/WebKit/UIProcess/GeolocationIdentifier.h 2020-04-20 18:41:29 UTC (rev 260381)
@@ -0,0 +1,35 @@
+/*
+ * Copyright (C) 2020 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#pragma once
+
+#include <wtf/ObjectIdentifier.h>
+
+namespace WebKit {
+
+enum GeolocationIdentifierType { };
+using GeolocationIdentifier = ObjectIdentifier<GeolocationIdentifierType>;
+
+}
Modified: trunk/Source/WebKit/UIProcess/GeolocationPermissionRequestManagerProxy.cpp (260380 => 260381)
--- trunk/Source/WebKit/UIProcess/GeolocationPermissionRequestManagerProxy.cpp 2020-04-20 18:16:57 UTC (rev 260380)
+++ trunk/Source/WebKit/UIProcess/GeolocationPermissionRequestManagerProxy.cpp 2020-04-20 18:41:29 UTC (rev 260381)
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2011 Apple Inc. All rights reserved.
+ * Copyright (C) 2011-2020 Apple Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -46,7 +46,7 @@
m_pendingRequests.clear();
}
-Ref<GeolocationPermissionRequestProxy> GeolocationPermissionRequestManagerProxy::createRequest(uint64_t geolocationID)
+Ref<GeolocationPermissionRequestProxy> GeolocationPermissionRequestManagerProxy::createRequest(GeolocationIdentifier geolocationID)
{
auto request = GeolocationPermissionRequestProxy::create(this, geolocationID);
m_pendingRequests.add(geolocationID, request.ptr());
@@ -53,7 +53,7 @@
return request;
}
-void GeolocationPermissionRequestManagerProxy::didReceiveGeolocationPermissionDecision(uint64_t geolocationID, bool allowed)
+void GeolocationPermissionRequestManagerProxy::didReceiveGeolocationPermissionDecision(GeolocationIdentifier geolocationID, bool allowed)
{
if (!m_page.hasRunningProcess())
return;
Modified: trunk/Source/WebKit/UIProcess/GeolocationPermissionRequestManagerProxy.h (260380 => 260381)
--- trunk/Source/WebKit/UIProcess/GeolocationPermissionRequestManagerProxy.h 2020-04-20 18:16:57 UTC (rev 260380)
+++ trunk/Source/WebKit/UIProcess/GeolocationPermissionRequestManagerProxy.h 2020-04-20 18:41:29 UTC (rev 260381)
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2011 Apple Inc. All rights reserved.
+ * Copyright (C) 2011-2020 Apple Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -26,6 +26,7 @@
#ifndef GeolocationPermissionRequestManagerProxy_h
#define GeolocationPermissionRequestManagerProxy_h
+#include "GeolocationIdentifier.h"
#include "GeolocationPermissionRequestProxy.h"
#include <wtf/HashMap.h>
#include <wtf/HashSet.h>
@@ -42,16 +43,16 @@
void invalidateRequests();
// Create a request to be presented to the user.
- Ref<GeolocationPermissionRequestProxy> createRequest(uint64_t geolocationID);
+ Ref<GeolocationPermissionRequestProxy> createRequest(GeolocationIdentifier);
// Called by GeolocationPermissionRequestProxy when a decision is made by the user.
- void didReceiveGeolocationPermissionDecision(uint64_t, bool allow);
+ void didReceiveGeolocationPermissionDecision(GeolocationIdentifier, bool allow);
bool isValidAuthorizationToken(const String&) const;
void revokeAuthorizationToken(const String&);
private:
- HashMap<uint64_t, RefPtr<GeolocationPermissionRequestProxy>> m_pendingRequests;
+ HashMap<GeolocationIdentifier, RefPtr<GeolocationPermissionRequestProxy>> m_pendingRequests;
HashSet<String> m_validAuthorizationTokens;
WebPageProxy& m_page;
};
Modified: trunk/Source/WebKit/UIProcess/GeolocationPermissionRequestProxy.cpp (260380 => 260381)
--- trunk/Source/WebKit/UIProcess/GeolocationPermissionRequestProxy.cpp 2020-04-20 18:16:57 UTC (rev 260380)
+++ trunk/Source/WebKit/UIProcess/GeolocationPermissionRequestProxy.cpp 2020-04-20 18:41:29 UTC (rev 260381)
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2011 Apple Inc. All rights reserved.
+ * Copyright (C) 2011-2020 Apple Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -30,7 +30,7 @@
namespace WebKit {
-GeolocationPermissionRequestProxy::GeolocationPermissionRequestProxy(GeolocationPermissionRequestManagerProxy* manager, uint64_t geolocationID)
+GeolocationPermissionRequestProxy::GeolocationPermissionRequestProxy(GeolocationPermissionRequestManagerProxy* manager, GeolocationIdentifier geolocationID)
: m_manager(manager)
, m_geolocationID(geolocationID)
{
Modified: trunk/Source/WebKit/UIProcess/GeolocationPermissionRequestProxy.h (260380 => 260381)
--- trunk/Source/WebKit/UIProcess/GeolocationPermissionRequestProxy.h 2020-04-20 18:16:57 UTC (rev 260380)
+++ trunk/Source/WebKit/UIProcess/GeolocationPermissionRequestProxy.h 2020-04-20 18:41:29 UTC (rev 260381)
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2011 Apple Inc. All rights reserved.
+ * Copyright (C) 2011-2020 Apple Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -26,6 +26,7 @@
#pragma once
#include "APIObject.h"
+#include "GeolocationIdentifier.h"
#include <wtf/Function.h>
namespace WebKit {
@@ -34,7 +35,7 @@
class GeolocationPermissionRequestProxy : public RefCounted<GeolocationPermissionRequestProxy> {
public:
- static Ref<GeolocationPermissionRequestProxy> create(GeolocationPermissionRequestManagerProxy* manager, uint64_t geolocationID)
+ static Ref<GeolocationPermissionRequestProxy> create(GeolocationPermissionRequestManagerProxy* manager, GeolocationIdentifier geolocationID)
{
return adoptRef(*new GeolocationPermissionRequestProxy(manager, geolocationID));
}
@@ -45,10 +46,10 @@
void invalidate();
private:
- GeolocationPermissionRequestProxy(GeolocationPermissionRequestManagerProxy*, uint64_t geolocationID);
+ GeolocationPermissionRequestProxy(GeolocationPermissionRequestManagerProxy*, GeolocationIdentifier);
GeolocationPermissionRequestManagerProxy* m_manager;
- uint64_t m_geolocationID;
+ GeolocationIdentifier m_geolocationID;
};
class GeolocationPermissionRequest : public API::ObjectImpl<API::Object::Type::GeolocationPermissionRequest> {
Modified: trunk/Source/WebKit/UIProcess/WebPageProxy.cpp (260380 => 260381)
--- trunk/Source/WebKit/UIProcess/WebPageProxy.cpp 2020-04-20 18:16:57 UTC (rev 260380)
+++ trunk/Source/WebKit/UIProcess/WebPageProxy.cpp 2020-04-20 18:41:29 UTC (rev 260381)
@@ -7982,7 +7982,7 @@
m_uiClient->reachedApplicationCacheOriginQuota(this, securityOrigin.get(), currentQuota, totalBytesNeeded, WTFMove(reply));
}
-void WebPageProxy::requestGeolocationPermissionForFrame(uint64_t geolocationID, FrameInfoData&& frameInfo)
+void WebPageProxy::requestGeolocationPermissionForFrame(GeolocationIdentifier geolocationID, FrameInfoData&& frameInfo)
{
MESSAGE_CHECK(m_process, frameInfo.frameID);
auto* frame = m_process->webFrame(*frameInfo.frameID);
Modified: trunk/Source/WebKit/UIProcess/WebPageProxy.h (260380 => 260381)
--- trunk/Source/WebKit/UIProcess/WebPageProxy.h 2020-04-20 18:16:57 UTC (rev 260380)
+++ trunk/Source/WebKit/UIProcess/WebPageProxy.h 2020-04-20 18:41:29 UTC (rev 260381)
@@ -34,6 +34,7 @@
#include "EditingRange.h"
#include "EditorState.h"
#include "FocusedElementInformation.h"
+#include "GeolocationIdentifier.h"
#include "GeolocationPermissionRequestManagerProxy.h"
#include "HiddenPageThrottlingAutoIncreasesCounter.h"
#include "LayerTreeContext.h"
@@ -1891,7 +1892,7 @@
void exceededDatabaseQuota(WebCore::FrameIdentifier, const String& originIdentifier, const String& databaseName, const String& displayName, uint64_t currentQuota, uint64_t currentOriginUsage, uint64_t currentDatabaseUsage, uint64_t expectedUsage, Messages::WebPageProxy::ExceededDatabaseQuotaDelayedReply&&);
void reachedApplicationCacheOriginQuota(const String& originIdentifier, uint64_t currentQuota, uint64_t totalBytesNeeded, Messages::WebPageProxy::ReachedApplicationCacheOriginQuotaDelayedReply&&);
- void requestGeolocationPermissionForFrame(uint64_t geolocationID, FrameInfoData&&);
+ void requestGeolocationPermissionForFrame(GeolocationIdentifier, FrameInfoData&&);
void revokeGeolocationAuthorizationToken(const String& authorizationToken);
#if PLATFORM(GTK) || PLATFORM(WPE)
Modified: trunk/Source/WebKit/UIProcess/WebPageProxy.messages.in (260380 => 260381)
--- trunk/Source/WebKit/UIProcess/WebPageProxy.messages.in 2020-04-20 18:16:57 UTC (rev 260380)
+++ trunk/Source/WebKit/UIProcess/WebPageProxy.messages.in 2020-04-20 18:41:29 UTC (rev 260381)
@@ -1,4 +1,4 @@
-# Copyright (C) 2010-2019 Apple Inc. All rights reserved.
+# Copyright (C) 2010-2020 Apple Inc. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
@@ -280,7 +280,7 @@
ReachedApplicationCacheOriginQuota(String originIdentifier, uint64_t currentQuota, uint64_t totalBytesNeeded) -> (uint64_t newQuota) Synchronous
# Geolocation messages
- RequestGeolocationPermissionForFrame(uint64_t geolocationID, struct WebKit::FrameInfoData frameInfo)
+ RequestGeolocationPermissionForFrame(WebKit::GeolocationIdentifier geolocationID, struct WebKit::FrameInfoData frameInfo)
RevokeGeolocationAuthorizationToken(String authorizationToken);
#if ENABLE(MEDIA_STREAM)
Modified: trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj (260380 => 260381)
--- trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj 2020-04-20 18:16:57 UTC (rev 260380)
+++ trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj 2020-04-20 18:41:29 UTC (rev 260381)
@@ -1420,6 +1420,7 @@
9B5BEC262400F4A90070C6EF /* WebMediaStrategy.h in Headers */ = {isa = PBXBuildFile; fileRef = 9B5BEC242400F4A90070C6EF /* WebMediaStrategy.h */; };
9B5BEC2A240101580070C6EF /* RemoteAudioDestinationProxy.h in Headers */ = {isa = PBXBuildFile; fileRef = 9B5BEC28240101580070C6EF /* RemoteAudioDestinationProxy.h */; };
9B5BEC31240102220070C6EF /* RemoteAudioBusData.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 9B5BEC30240102220070C6EF /* RemoteAudioBusData.h */; };
+ 9EC532A32447FBAD00215216 /* GeolocationIdentifier.h in Headers */ = {isa = PBXBuildFile; fileRef = 9EC532A22447FBAD00215216 /* GeolocationIdentifier.h */; };
9FB5F395169E6A80002C25BF /* WKContextPrivateMac.h in Headers */ = {isa = PBXBuildFile; fileRef = 9FB5F393169E6A80002C25BF /* WKContextPrivateMac.h */; settings = {ATTRIBUTES = (Private, ); }; };
A102A7081EC0EEE900D81D82 /* com.macromedia.Flash Player ESR.plugin.sb in Copy Plug-in Sandbox Profiles */ = {isa = PBXBuildFile; fileRef = 7A5E39491D5BD8A700B4B7CE /* com.macromedia.Flash Player ESR.plugin.sb */; };
A1046EA12079263100F0C5D8 /* WKPDFView.h in Headers */ = {isa = PBXBuildFile; fileRef = A1046E9F2079263100F0C5D8 /* WKPDFView.h */; };
@@ -4485,6 +4486,7 @@
9B5BEC30240102220070C6EF /* RemoteAudioBusData.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RemoteAudioBusData.h; sourceTree = "<group>"; };
9BC59D6C1EFCCCB6001E8D09 /* CallbackID.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CallbackID.h; sourceTree = "<group>"; };
9BC59D6D1EFCDC6D001E8D09 /* OptionalCallbackID.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OptionalCallbackID.h; sourceTree = "<group>"; };
+ 9EC532A22447FBAD00215216 /* GeolocationIdentifier.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeolocationIdentifier.h; sourceTree = "<group>"; };
9F54F88E16488E87007DF81A /* AuxiliaryProcessMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = AuxiliaryProcessMac.mm; sourceTree = "<group>"; };
9F54F8941648AE0E007DF81A /* PluginProcessManagerMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = PluginProcessManagerMac.mm; sourceTree = "<group>"; };
9FB5F392169E6A80002C25BF /* WKContextPrivateMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = WKContextPrivateMac.mm; path = mac/WKContextPrivateMac.mm; sourceTree = "<group>"; };
@@ -8908,6 +8910,7 @@
1AE00D5E1831792100087DD7 /* FrameLoadState.cpp */,
1AE00D5F1831792100087DD7 /* FrameLoadState.h */,
BC17753E118BABF0007D9E9A /* GenericCallback.h */,
+ 9EC532A22447FBAD00215216 /* GeolocationIdentifier.h */,
BC06F44912DBD1F5002D78DE /* GeolocationPermissionRequestManagerProxy.cpp */,
BC06F44812DBD1F5002D78DE /* GeolocationPermissionRequestManagerProxy.h */,
BC06F43912DBCCFB002D78DE /* GeolocationPermissionRequestProxy.cpp */,
@@ -10775,6 +10778,7 @@
CDA93DB022F8BCF400490A69 /* FullscreenTouchSecheuristicParameters.h in Headers */,
515BE1B31D5902DD00DD7C68 /* GamepadData.h in Headers */,
BC17753F118BABF0007D9E9A /* GenericCallback.h in Headers */,
+ 9EC532A32447FBAD00215216 /* GeolocationIdentifier.h in Headers */,
BC06F42F12DBB9B6002D78DE /* GeolocationPermissionRequestManager.h in Headers */,
BC06F44A12DBD1F5002D78DE /* GeolocationPermissionRequestManagerProxy.h in Headers */,
BC06F43A12DBCCFB002D78DE /* GeolocationPermissionRequestProxy.h in Headers */,
Modified: trunk/Source/WebKit/WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp (260380 => 260381)
--- trunk/Source/WebKit/WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp 2020-04-20 18:16:57 UTC (rev 260380)
+++ trunk/Source/WebKit/WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp 2020-04-20 18:41:29 UTC (rev 260381)
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2011 Apple Inc. All rights reserved.
+ * Copyright (C) 2011-2020 Apple Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -29,6 +29,7 @@
#if ENABLE(GEOLOCATION)
#include "FrameInfoData.h"
+#include "GeolocationIdentifier.h"
#include "WebCoreArgumentCoders.h"
#include "WebFrame.h"
#include "WebPage.h"
@@ -43,12 +44,6 @@
namespace WebKit {
using namespace WebCore;
-static uint64_t generateGeolocationID()
-{
- static uint64_t uniqueGeolocationID = 1;
- return uniqueGeolocationID++;
-}
-
GeolocationPermissionRequestManager::GeolocationPermissionRequestManager(WebPage& page)
: m_page(page)
{
@@ -64,7 +59,7 @@
return;
}
- uint64_t geolocationID = generateGeolocationID();
+ GeolocationIdentifier geolocationID = GeolocationIdentifier::generate();
m_geolocationToIDMap.set(&geolocation, geolocationID);
m_idToGeolocationMap.set(geolocationID, &geolocation);
@@ -82,13 +77,13 @@
void GeolocationPermissionRequestManager::cancelRequestForGeolocation(Geolocation& geolocation)
{
- uint64_t geolocationID = m_geolocationToIDMap.take(&geolocation);
+ GeolocationIdentifier geolocationID = m_geolocationToIDMap.take(&geolocation);
if (!geolocationID)
return;
m_idToGeolocationMap.remove(geolocationID);
}
-void GeolocationPermissionRequestManager::didReceiveGeolocationPermissionDecision(uint64_t geolocationID, const String& authorizationToken)
+void GeolocationPermissionRequestManager::didReceiveGeolocationPermissionDecision(GeolocationIdentifier geolocationID, const String& authorizationToken)
{
Geolocation* geolocation = m_idToGeolocationMap.take(geolocationID);
if (!geolocation)
Modified: trunk/Source/WebKit/WebProcess/Geolocation/GeolocationPermissionRequestManager.h (260380 => 260381)
--- trunk/Source/WebKit/WebProcess/Geolocation/GeolocationPermissionRequestManager.h 2020-04-20 18:16:57 UTC (rev 260380)
+++ trunk/Source/WebKit/WebProcess/Geolocation/GeolocationPermissionRequestManager.h 2020-04-20 18:41:29 UTC (rev 260381)
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2011 Apple Inc. All rights reserved.
+ * Copyright (C) 2011-2020 Apple Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -25,6 +25,7 @@
#pragma once
+#include "GeolocationIdentifier.h"
#include <wtf/HashMap.h>
#include <wtf/RefPtr.h>
@@ -45,11 +46,11 @@
void cancelRequestForGeolocation(WebCore::Geolocation&);
void revokeAuthorizationToken(const String&);
- void didReceiveGeolocationPermissionDecision(uint64_t geolocationID, const String& authorizationToken);
+ void didReceiveGeolocationPermissionDecision(GeolocationIdentifier, const String& authorizationToken);
private:
- typedef HashMap<uint64_t, WebCore::Geolocation*> IDToGeolocationMap;
- typedef HashMap<WebCore::Geolocation*, uint64_t> GeolocationToIDMap;
+ typedef HashMap<GeolocationIdentifier, WebCore::Geolocation*> IDToGeolocationMap;
+ typedef HashMap<WebCore::Geolocation*, GeolocationIdentifier> GeolocationToIDMap;
IDToGeolocationMap m_idToGeolocationMap;
GeolocationToIDMap m_geolocationToIDMap;
Modified: trunk/Source/WebKit/WebProcess/WebPage/WebPage.cpp (260380 => 260381)
--- trunk/Source/WebKit/WebProcess/WebPage/WebPage.cpp 2020-04-20 18:16:57 UTC (rev 260380)
+++ trunk/Source/WebKit/WebProcess/WebPage/WebPage.cpp 2020-04-20 18:41:29 UTC (rev 260381)
@@ -4260,7 +4260,7 @@
#endif
#if ENABLE(GEOLOCATION)
-void WebPage::didReceiveGeolocationPermissionDecision(uint64_t geolocationID, const String& authorizationToken)
+void WebPage::didReceiveGeolocationPermissionDecision(GeolocationIdentifier geolocationID, const String& authorizationToken)
{
geolocationPermissionRequestManager().didReceiveGeolocationPermissionDecision(geolocationID, authorizationToken);
}
Modified: trunk/Source/WebKit/WebProcess/WebPage/WebPage.h (260380 => 260381)
--- trunk/Source/WebKit/WebProcess/WebPage/WebPage.h 2020-04-20 18:16:57 UTC (rev 260380)
+++ trunk/Source/WebKit/WebProcess/WebPage/WebPage.h 2020-04-20 18:41:29 UTC (rev 260381)
@@ -37,6 +37,7 @@
#include "DrawingAreaInfo.h"
#include "EditingRange.h"
#include "FocusedElementInformation.h"
+#include "GeolocationIdentifier.h"
#include "InjectedBundlePageContextMenuClient.h"
#include "InjectedBundlePageFullScreenClient.h"
#include "InjectedBundlePagePolicyClient.h"
@@ -1593,7 +1594,7 @@
void extendSandboxForFilesFromOpenPanel(SandboxExtension::HandleArray&&);
#endif
- void didReceiveGeolocationPermissionDecision(uint64_t geolocationID, const String& authorizationToken);
+ void didReceiveGeolocationPermissionDecision(GeolocationIdentifier, const String& authorizationToken);
void didReceiveNotificationPermissionDecision(uint64_t notificationID, bool allowed);
Modified: trunk/Source/WebKit/WebProcess/WebPage/WebPage.messages.in (260380 => 260381)
--- trunk/Source/WebKit/WebProcess/WebPage/WebPage.messages.in 2020-04-20 18:16:57 UTC (rev 260380)
+++ trunk/Source/WebKit/WebProcess/WebPage/WebPage.messages.in 2020-04-20 18:41:29 UTC (rev 260381)
@@ -1,4 +1,4 @@
-# Copyright (C) 2010-2019 Apple Inc. All rights reserved.
+# Copyright (C) 2010-2020 Apple Inc. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
@@ -363,7 +363,7 @@
#if ENABLE(GEOLOCATION)
# Geolocation
- DidReceiveGeolocationPermissionDecision(uint64_t geolocationID, String authorizationToken)
+ DidReceiveGeolocationPermissionDecision(WebKit::GeolocationIdentifier geolocationID, String authorizationToken)
#endif
#if ENABLE(MEDIA_STREAM)