Changeset 120248 in webkit
- Timestamp:
- Jun 13, 2012 2:09:57 PM (12 years ago)
- Location:
- trunk
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r120244 r120248 1 2012-06-12 Vincent Scheib <scheib@chromium.org> 2 3 Remove duplicate webkitpointerlockchange events when unlocking. 4 https://bugs.webkit.org/show_bug.cgi?id=88917 5 6 Reviewed by Dimitri Glazkov. 7 8 Part of a series of refactoring changes to update pointer lock API to 9 the fullscreen locking style. https://bugs.webkit.org/show_bug.cgi?id=84402 10 11 Tests simplified by removing the duplicate change events. 12 13 * pointer-lock/lock-already-locked-expected.txt: 14 * pointer-lock/pointerlockchange-pointerlockerror-events-expected.txt: 15 * pointer-lock/pointerlockchange-pointerlockerror-events.html: 16 1 17 2012-06-12 Filip Pizlo <fpizlo@apple.com> 2 18 -
trunk/LayoutTests/pointer-lock/lock-already-locked-expected.txt
r120031 r120248 18 18 PASS document.onwebkitpointerlockchange event received. 19 19 PASS document.webkitPointerLockElement is targetdiv2 20 PASS document.onwebkitpointerlockchange event received.21 PASS document.webkitPointerLockElement is targetdiv222 20 PASS successfullyParsed is true 23 21 -
trunk/LayoutTests/pointer-lock/pointerlockchange-pointerlockerror-events-expected.txt
r119763 r120248 13 13 Lock targetDiv2. 14 14 PASS onwebkitpointerlockchange received after: Lock targetDiv2. 15 PASS onwebkitpointerlockchange received after: Lock targetDiv2.16 15 Lock targetDiv2 again. 17 16 PASS onwebkitpointerlockchange received after: Lock targetDiv2 again. … … 21 20 PASS onwebkitpointerlockchange received after: Lock targetIframe1 (handler for iframe1). 22 21 PASS onwebkitpointerlockchange received after: Lock targetIframe1. 23 PASS onwebkitpointerlockchange received after: Lock targetIframe1.24 22 Lock targetIframe2. 25 23 Lock targetIframe2 (handler for iframe1). 26 24 Lock targetIframe2 (handler for iframe2). 27 25 PASS onwebkitpointerlockchange received after: Lock targetIframe2 (handler for iframe2). 28 PASS onwebkitpointerlockchange received after: Lock targetIframe2 (handler for iframe1).29 26 PASS onwebkitpointerlockchange received after: Lock targetIframe2 (handler for iframe1). 30 27 Unlock targetIframe2. -
trunk/LayoutTests/pointer-lock/pointerlockchange-pointerlockerror-events.html
r119763 r120248 38 38 }; 39 39 40 function expectOnlyChangeEvent(message, expectedCalls,targetDocument) {40 function expectOnlyChangeEvent(message, targetDocument) { 41 41 debug(" " + message); 42 expectedCalls = expectedCalls !== undefined ? expectedCalls : 1;43 42 targetDocument = targetDocument !== undefined ? targetDocument : document; 44 eventExpected("onwebkitpointerlockchange", message, expectedCalls, targetDocument);43 eventExpected("onwebkitpointerlockchange", message, 1, targetDocument); 45 44 eventExpected("onwebkitpointerlockerror", message, 0, targetDocument); 46 45 }; 47 46 48 function expectOnlyErrorEvent(message, expectedCalls,targetDocument) {47 function expectOnlyErrorEvent(message, targetDocument) { 49 48 debug(" " + message); 50 expectedCalls = expectedCalls !== undefined ? expectedCalls : 1;51 49 targetDocument = targetDocument !== undefined ? targetDocument : document; 52 50 eventExpected("onwebkitpointerlockchange", message, 0, targetDocument); 53 eventExpected("onwebkitpointerlockerror", message, expectedCalls, targetDocument);51 eventExpected("onwebkitpointerlockerror", message, 1, targetDocument); 54 52 }; 55 53 … … 90 88 }, 91 89 function () { 92 // FIXME: Only 1 change event should be expected. 93 // But, we will see 2 until we remove the old code for 94 // pointerlocklost and remove the call to didLosePointerLock 95 // made in PointerLockController::requestPointerLock. 96 // (https://bugs.webkit.org/show_bug.cgi?id=84402) 97 expectOnlyChangeEvent("Lock targetDiv2.", 2); 90 expectOnlyChangeEvent("Lock targetDiv2."); 98 91 navigator.webkitPointer.lock(targetDiv2); 99 92 }, … … 116 109 }, 117 110 function () { 118 // FIXME: Only 1 change event should be expected. 119 // But, we will see 2 until we remove the old code for 120 // pointerlocklost and remove the call to didLosePointerLock 121 // made in PointerLockController::requestPointerLock. 122 // (https://bugs.webkit.org/show_bug.cgi?id=84402) 123 expectOnlyChangeEvent("Lock targetIframe1.", 2); 124 expectOnlyChangeEvent("Lock targetIframe1 (handler for iframe1).", 1, targetIframe1.contentDocument); 111 expectOnlyChangeEvent("Lock targetIframe1."); 112 expectOnlyChangeEvent("Lock targetIframe1 (handler for iframe1).", targetIframe1.contentDocument); 125 113 navigator.webkitPointer.lock(targetIframe1.contentDocument.body); 126 114 }, … … 130 118 function () { 131 119 expectNoEvents("Lock targetIframe2."); 132 // FIXME: Only 1 change event should be expected. 133 // But, we will see 2 until we remove the old code for 134 // pointerlocklost and remove the call to didLosePointerLock 135 // made in PointerLockController::requestPointerLock. 136 // (https://bugs.webkit.org/show_bug.cgi?id=84402) 137 expectOnlyChangeEvent("Lock targetIframe2 (handler for iframe1).", 2, targetIframe1.contentDocument); 138 expectOnlyChangeEvent("Lock targetIframe2 (handler for iframe2).", 1, targetIframe2.contentDocument); 120 expectOnlyChangeEvent("Lock targetIframe2 (handler for iframe1).", targetIframe1.contentDocument); 121 expectOnlyChangeEvent("Lock targetIframe2 (handler for iframe2).", targetIframe2.contentDocument); 139 122 navigator.webkitPointer.lock(targetIframe2.contentDocument.body); 140 123 }, … … 145 128 expectNoEvents("Unlock targetIframe2."); 146 129 expectNoEvents("Unlock targetIframe2 (handler for iframe1).", targetIframe1.contentDocument); 147 expectOnlyChangeEvent("Unlock targetIframe2 (handler for iframe2).", 1,targetIframe2.contentDocument);130 expectOnlyChangeEvent("Unlock targetIframe2 (handler for iframe2).", targetIframe2.contentDocument); 148 131 navigator.webkitPointer.unlock(); 149 132 }, -
trunk/Source/WebCore/ChangeLog
r120246 r120248 1 2012-06-12 Vincent Scheib <scheib@chromium.org> 2 3 Remove duplicate webkitpointerlockchange events when unlocking. 4 https://bugs.webkit.org/show_bug.cgi?id=88917 5 6 Reviewed by Dimitri Glazkov. 7 8 Subsequent patches adding the new API for entering and exiting 9 pointer lock would be burdened by handling multiple change events 10 when the lock target is changed. This change introduces 11 temporary code to suppress duplicate change events. 12 13 Existing tests simplified by removing the duplicate change events. 14 15 * page/PointerLockController.cpp: 16 (WebCore::PointerLockController::requestPointerLock): 17 (WebCore::PointerLockController::didLosePointerLock): 18 * page/PointerLockController.h: 19 (PointerLockController): 20 1 21 2012-06-13 Silvia Pfeiffer <silviapf@chromium.org> 2 22 -
trunk/Source/WebCore/page/PointerLockController.cpp
r120031 r120248 63 63 successCallback->handleEvent(); 64 64 } else { 65 didLosePointerLock( );65 didLosePointerLock(false); 66 66 m_element = target; 67 67 if (successCallback) … … 128 128 } 129 129 130 void PointerLockController::didLosePointerLock( )130 void PointerLockController::didLosePointerLock(bool sendChangeEvent) 131 131 { 132 132 // FIXME: Keep enqueueEvent usage. (https://bugs.webkit.org/show_bug.cgi?id=84402) 133 enqueueEvent(eventNames().webkitpointerlockchangeEvent, m_element.get()); 133 if (sendChangeEvent) 134 enqueueEvent(eventNames().webkitpointerlockchangeEvent, m_element.get()); 134 135 135 136 // FIXME: Remove callback usage. (https://bugs.webkit.org/show_bug.cgi?id=84402) -
trunk/Source/WebCore/page/PointerLockController.h
r120031 r120248 51 51 void didAcquirePointerLock(); 52 52 void didNotAcquirePointerLock(); 53 void didLosePointerLock( );53 void didLosePointerLock(bool sendChangeEvent = true); // FIXME: Remove sendChangeEvent parameter when removing old API. (https://bugs.webkit.org/show_bug.cgi?id=84402) 54 54 void dispatchLockedMouseEvent(const PlatformMouseEvent&, const AtomicString& eventType); 55 55
Note: See TracChangeset
for help on using the changeset viewer.