Changeset 239850 in webkit
- Timestamp:
- Jan 10, 2019, 4:49:23 PM (8 years ago)
- Location:
- trunk/Source/WebKit
- Files:
-
- 5 edited
-
ChangeLog (modified) (1 diff)
-
UIProcess/API/glib/WebKitUIClient.cpp (modified) (1 diff)
-
UIProcess/UserMediaPermissionRequestManagerProxy.cpp (modified) (6 diffs)
-
UIProcess/WebsiteData/WebsiteDataStore.cpp (modified) (4 diffs)
-
UIProcess/WebsiteData/WebsiteDataStore.h (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebKit/ChangeLog
r239845 r239850 1 2019-01-10 Eric Carlson <eric.carlson@apple.com> 2 3 DeviceID hash salt manager can be NULL 4 https://bugs.webkit.org/show_bug.cgi?id=193334 5 <rdar://problem/47179650> 6 7 Reviewed by Youenn Fablet. 8 9 * UIProcess/UserMediaPermissionRequestManagerProxy.cpp: 10 (WebKit::UserMediaPermissionRequestManagerProxy::userMediaAccessWasGranted): No need to 11 NULL-check websiteDataStore.deviceIdHashSaltStorage, it is a Ref. 12 (WebKit::UserMediaPermissionRequestManagerProxy::requestUserMediaPermissionForFrame): Ditto. 13 (WebKit::UserMediaPermissionRequestManagerProxy::getUserMediaPermissionInfo): Ditto. 14 (WebKit::UserMediaPermissionRequestManagerProxy::enumerateMediaDevicesForFrame): Ditto. 15 16 * UIProcess/WebsiteData/WebsiteDataStore.cpp: 17 (WebKit::WebsiteDataStore::WebsiteDataStore): m_deviceIdHashSaltStorage is a Ref. 18 (WebKit::WebsiteDataStore::fetchDataAndApply): Ditto. 19 (WebKit::WebsiteDataStore::removeData): Ditto. 20 * UIProcess/WebsiteData/WebsiteDataStore.h: 21 (WebKit::WebsiteDataStore::deviceIdHashSaltStorage): Ditto. 22 1 23 2019-01-10 Per Arne Vollan <pvollan@apple.com> 2 24 -
trunk/Source/WebKit/UIProcess/API/glib/WebKitUIClient.cpp
r239427 r239850 194 194 bool checkUserMediaPermissionForOrigin(WebPageProxy& page, WebFrameProxy&, API::SecurityOrigin& userMediaDocumentOrigin, API::SecurityOrigin& topLevelDocumentOrigin, UserMediaPermissionCheckProxy& permissionRequest) override 195 195 { 196 auto deviceInfoPermissionRequest = adoptGRef(webkitDeviceInfoPermissionRequestCreate(permissionRequest, page.websiteDataStore().deviceIdHashSaltStorage()));196 auto deviceInfoPermissionRequest = adoptGRef(webkitDeviceInfoPermissionRequestCreate(permissionRequest, &page.websiteDataStore().deviceIdHashSaltStorage())); 197 197 webkitWebViewMakePermissionRequest(m_webView, WEBKIT_PERMISSION_REQUEST(deviceInfoPermissionRequest.get())); 198 198 return true; -
trunk/Source/WebKit/UIProcess/UserMediaPermissionRequestManagerProxy.cpp
r239747 r239850 179 179 ASSERT(audioDevice || videoDevice); 180 180 181 if (!m_page.isValid() || !m_page.websiteDataStore().deviceIdHashSaltStorage())181 if (!m_page.isValid()) 182 182 return; 183 183 … … 187 187 return; 188 188 189 m_page.websiteDataStore().deviceIdHashSaltStorage() ->deviceIdHashSaltForOrigin(request->userMediaDocumentSecurityOrigin(), request->topLevelDocumentSecurityOrigin(), [this, weakThis = makeWeakPtr(*this), userMediaID, audioDevice = WTFMove(audioDevice), videoDevice = WTFMove(videoDevice), localRequest = request.copyRef()] (String&& deviceIDHashSalt) mutable {189 m_page.websiteDataStore().deviceIdHashSaltStorage().deviceIdHashSaltForOrigin(request->userMediaDocumentSecurityOrigin(), request->topLevelDocumentSecurityOrigin(), [this, weakThis = makeWeakPtr(*this), userMediaID, audioDevice = WTFMove(audioDevice), videoDevice = WTFMove(videoDevice), localRequest = request.copyRef()] (String&& deviceIDHashSalt) mutable { 190 190 if (!weakThis) 191 191 return; … … 390 390 return; 391 391 392 if (!m_page.isValid() || !m_page.websiteDataStore().deviceIdHashSaltStorage())392 if (!m_page.isValid()) 393 393 return; 394 394 395 395 syncWithWebCorePrefs(); 396 396 397 m_page.websiteDataStore().deviceIdHashSaltStorage() ->deviceIdHashSaltForOrigin(pendingRequest.value()->userMediaDocumentSecurityOrigin(), pendingRequest.value()->topLevelDocumentSecurityOrigin(), [validHandler = WTFMove(validHandler), invalidHandler = WTFMove(invalidHandler), localUserRequest = localUserRequest] (String&& deviceIDHashSalt) mutable {397 m_page.websiteDataStore().deviceIdHashSaltStorage().deviceIdHashSaltForOrigin(pendingRequest.value()->userMediaDocumentSecurityOrigin(), pendingRequest.value()->topLevelDocumentSecurityOrigin(), [validHandler = WTFMove(validHandler), invalidHandler = WTFMove(invalidHandler), localUserRequest = localUserRequest] (String&& deviceIDHashSalt) mutable { 398 398 RealtimeMediaSourceCenter::singleton().validateRequestConstraints(WTFMove(validHandler), WTFMove(invalidHandler), WTFMove(localUserRequest), WTFMove(deviceIDHashSalt)); 399 399 }); … … 413 413 void UserMediaPermissionRequestManagerProxy::getUserMediaPermissionInfo(uint64_t requestID, uint64_t frameID, UserMediaPermissionCheckProxy::CompletionHandler&& handler, Ref<SecurityOrigin>&& userMediaDocumentOrigin, Ref<SecurityOrigin>&& topLevelDocumentOrigin) 414 414 { 415 if (!m_page.websiteDataStore().deviceIdHashSaltStorage()) {416 handler(false);417 return;418 }419 420 415 auto userMediaOrigin = API::SecurityOrigin::create(userMediaDocumentOrigin.get()); 421 416 auto topLevelOrigin = API::SecurityOrigin::create(topLevelDocumentOrigin.get()); … … 462 457 auto requestID = generateRequestID(); 463 458 auto completionHandler = [this, requestID, userMediaID, requestOrigin = userMediaDocumentOrigin.copyRef(), topOrigin = topLevelDocumentOrigin.copyRef()](bool originHasPersistentAccess) { 464 m_page.websiteDataStore().deviceIdHashSaltStorage()->deviceIdHashSaltForOrigin(requestOrigin.get(), topOrigin.get(), [this, weakThis = makeWeakPtr(*this), requestID, userMediaID, &originHasPersistentAccess] (String&& deviceIDHashSalt) { 459 460 if (!m_page.isValid()) 461 return; 462 463 m_page.websiteDataStore().deviceIdHashSaltStorage().deviceIdHashSaltForOrigin(requestOrigin.get(), topOrigin.get(), [this, weakThis = makeWeakPtr(*this), requestID, userMediaID, &originHasPersistentAccess] (String&& deviceIDHashSalt) { 465 464 if (!weakThis) 466 465 return; … … 469 468 return; 470 469 471 if (!m_page.isValid() || !m_page.websiteDataStore().deviceIdHashSaltStorage())470 if (!m_page.isValid()) 472 471 return; 473 472 -
trunk/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp
r239513 r239850 110 110 , m_resolvedConfiguration(WebsiteDataStoreConfiguration::create()) 111 111 , m_configuration(m_resolvedConfiguration->copy()) 112 , m_deviceIdHashSaltStorage(DeviceIdHashSaltStorage::create(isPersistent() ? m_configuration->deviceIdHashSaltsStorageDirectory() : String())) 112 113 , m_queue(WorkQueue::create("com.apple.WebKit.WebsiteDataStore")) 113 114 #if ENABLE(WEB_AUTHN) … … 487 488 } 488 489 489 if ( m_deviceIdHashSaltStorage &&dataTypes.contains(WebsiteDataType::DeviceIdHashSalt)) {490 if (dataTypes.contains(WebsiteDataType::DeviceIdHashSalt)) { 490 491 callbackAggregator->addPendingCallback(); 491 492 … … 815 816 } 816 817 817 if ( m_deviceIdHashSaltStorage && (dataTypes.contains(WebsiteDataType::DeviceIdHashSalt) || (dataTypes.contains(WebsiteDataType::Cookies)))) {818 if (dataTypes.contains(WebsiteDataType::DeviceIdHashSalt) || (dataTypes.contains(WebsiteDataType::Cookies))) { 818 819 callbackAggregator->addPendingCallback(); 819 820 … … 1097 1098 } 1098 1099 1099 if ( m_deviceIdHashSaltStorage && (dataTypes.contains(WebsiteDataType::DeviceIdHashSalt) || (dataTypes.contains(WebsiteDataType::Cookies)))) {1100 if (dataTypes.contains(WebsiteDataType::DeviceIdHashSalt) || (dataTypes.contains(WebsiteDataType::Cookies))) { 1100 1101 callbackAggregator->addPendingCallback(); 1101 1102 -
trunk/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.h
r239427 r239850 143 143 StorageManager* storageManager() { return m_storageManager.get(); } 144 144 145 DeviceIdHashSaltStorage *deviceIdHashSaltStorage() { return m_deviceIdHashSaltStorage.get(); }145 DeviceIdHashSaltStorage& deviceIdHashSaltStorage() { return m_deviceIdHashSaltStorage.get(); } 146 146 147 147 WebProcessPool* processPoolForCookieStorageOperations(); … … 229 229 230 230 const RefPtr<StorageManager> m_storageManager; 231 const Ref Ptr<DeviceIdHashSaltStorage> m_deviceIdHashSaltStorage;231 const Ref<DeviceIdHashSaltStorage> m_deviceIdHashSaltStorage; 232 232 RefPtr<WebResourceLoadStatisticsStore> m_resourceLoadStatistics; 233 233 bool m_resourceLoadStatisticsDebugMode { false };
Note:
See TracChangeset
for help on using the changeset viewer.