Pointer lock causes abandoned documents
authorcommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 20 Dec 2018 23:46:01 +0000 (23:46 +0000)
committercommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 20 Dec 2018 23:46:01 +0000 (23:46 +0000)
commitb792cbe945cd2959410feb8a1d564675a1c187da
tree14a92bcd429020db51774945de593089b8c42037
parentd54b152f76dc67f40513a89f9f76ed80c8877406
Pointer lock causes abandoned documents
https://bugs.webkit.org/show_bug.cgi?id=188727
rdar://problem/44248197

Patch by Jeremy Jones <jeremyj@apple.com> on 2018-12-20
Reviewed by Simon Fraser.

Fixes --world-leaks in these tests:

pointer-lock/locked-element-removed-from-dom.html
pointer-lock/mouse-event-delivery.html
fast/shadow-dom/pointerlockelement-in-slot.html

PointerLockController now uses WeakPtr instead of RefPtr because it has no need to extend the lifetime of a document.

* page/PointerLockController.cpp:
(WebCore::PointerLockController::elementRemoved):
(WebCore::PointerLockController::documentDetached):
(WebCore::PointerLockController::didAcquirePointerLock):
* page/PointerLockController.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@239469 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Source/WebCore/ChangeLog
Source/WebCore/page/PointerLockController.cpp
Source/WebCore/page/PointerLockController.h