Changeset 242848 in webkit
- Timestamp:
- Mar 13, 2019, 1:24:09 AM (7 years ago)
- Location:
- branches/safari-607-branch/Source/WebKit
- Files:
-
- 2 edited
-
ChangeLog (modified) (1 diff)
-
UIProcess/UserMediaPermissionRequestManagerProxy.cpp (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
branches/safari-607-branch/Source/WebKit/ChangeLog
r242845 r242848 1 2019-03-13 Babak Shafiei <bshafiei@apple.com> 2 3 Cherry-pick r241002. rdar://problem/48839377 4 5 UserMediaPermissionRequestManagerProxy lambdas should check for 'this' being valid 6 https://bugs.webkit.org/show_bug.cgi?id=194246 7 8 Reviewed by Eric Carlson. 9 10 With PSON enabled, the manager proxy can be destroyed. 11 It is thus important for its callbacks to check for 'this' to be valid. 12 13 * UIProcess/UserMediaPermissionRequestManagerProxy.cpp: 14 (WebKit::UserMediaPermissionRequestManagerProxy::captureDevicesChanged): 15 (WebKit::UserMediaPermissionRequestManagerProxy::requestUserMediaPermissionForFrame): 16 (WebKit::UserMediaPermissionRequestManagerProxy::enumerateMediaDevicesForFrame): 17 18 19 git-svn-id: https://svn.webkit.org/repository/webkit/trunk@241002 268f45cc-cd09-0410-ab3c-d52691b4dbfc 20 21 2019-02-05 Youenn Fablet <youenn@apple.com> 22 23 UserMediaPermissionRequestManagerProxy lambdas should check for 'this' being valid 24 https://bugs.webkit.org/show_bug.cgi?id=194246 25 26 Reviewed by Eric Carlson. 27 28 With PSON enabled, the manager proxy can be destroyed. 29 It is thus important for its callbacks to check for 'this' to be valid. 30 31 * UIProcess/UserMediaPermissionRequestManagerProxy.cpp: 32 (WebKit::UserMediaPermissionRequestManagerProxy::captureDevicesChanged): 33 (WebKit::UserMediaPermissionRequestManagerProxy::requestUserMediaPermissionForFrame): 34 (WebKit::UserMediaPermissionRequestManagerProxy::enumerateMediaDevicesForFrame): 35 1 36 2019-03-12 Kocsen Chung <kocsen_chung@apple.com> 2 37 -
branches/safari-607-branch/Source/WebKit/UIProcess/UserMediaPermissionRequestManagerProxy.cpp
r241050 r242848 94 94 95 95 auto requestID = generateRequestID(); 96 auto handler = [this, requestID](bool originHasPersistentAccess) mutable { 96 auto handler = [this, weakThis = makeWeakPtr(*this), requestID](bool originHasPersistentAccess) mutable { 97 if (!weakThis) 98 return; 97 99 98 100 auto pendingRequest = m_pendingDeviceRequests.take(requestID); … … 384 386 385 387 auto requestID = generateRequestID(); 386 auto havePermissionInfoHandler = [this, requestID, validHandler = WTFMove(validHandler), invalidHandler = WTFMove(invalidHandler), localUserRequest = userRequest](bool originHasPersistentAccess) mutable { 388 auto havePermissionInfoHandler = [this, weakThis = makeWeakPtr(*this), requestID, validHandler = WTFMove(validHandler), invalidHandler = WTFMove(invalidHandler), localUserRequest = userRequest](bool originHasPersistentAccess) mutable { 389 if (!weakThis) 390 return; 387 391 388 392 auto pendingRequest = m_pendingDeviceRequests.take(requestID); … … 456 460 457 461 auto requestID = generateRequestID(); 458 auto completionHandler = [this, requestID, userMediaID, requestOrigin = userMediaDocumentOrigin.copyRef(), topOrigin = topLevelDocumentOrigin.copyRef()](bool originHasPersistentAccess) { 462 auto completionHandler = [this, weakThis = makeWeakPtr(*this), requestID, userMediaID, requestOrigin = userMediaDocumentOrigin.copyRef(), topOrigin = topLevelDocumentOrigin.copyRef()](bool originHasPersistentAccess) mutable { 463 if (!weakThis) 464 return; 459 465 460 466 if (!m_page.isValid()) 461 467 return; 462 468 463 m_page.websiteDataStore().deviceIdHashSaltStorage().deviceIdHashSaltForOrigin(requestOrigin.get(), topOrigin.get(), [this, weakThis = makeWeakPtr(*this), requestID, userMediaID, &originHasPersistentAccess] (String&& deviceIDHashSalt) {469 m_page.websiteDataStore().deviceIdHashSaltStorage().deviceIdHashSaltForOrigin(requestOrigin.get(), topOrigin.get(), [this, weakThis = WTFMove(weakThis), requestID, userMediaID, &originHasPersistentAccess] (String&& deviceIDHashSalt) { 464 470 if (!weakThis) 465 471 return;
Note:
See TracChangeset
for help on using the changeset viewer.