1. 05 Sep, 2012 1 commit
    • scheib@chromium.org's avatar
      webkitPointerLockElement returns null when pointer lock request is pending. · 575ba7c7
      scheib@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=91186
      
      Reviewed by Dimitri Glazkov.
      
      Source/WebCore:
      
      Script should wait for a pointerlockchange event before detecting
      if it has acquired lock. However, if a script attempted to poll
      pointerLockElement it could be confused when lock was still pending.
      This change ensures that if lock is not yet acquired then
      pointerLockElement will return null.
      
      Test: pointer-lock/pointerlockelement-null-when-pending.html
      
      * dom/Document.cpp:
      (WebCore::Document::webkitPointerLockElement):
      * page/PointerLockController.cpp:
      (WebCore::PointerLockController::requestPointerLock):
      (WebCore::PointerLockController::elementRemoved):
      (WebCore::PointerLockController::documentDetached):
      (WebCore::PointerLockController::lockPending):
      (WebCore):
      (WebCore::PointerLockController::didAcquirePointerLock):
      (WebCore::PointerLockController::didNotAcquirePointerLock):
      (WebCore::PointerLockController::didLosePointerLock):
      (WebCore::PointerLockController::clearElement):
      * page/PointerLockController.h:
      (PointerLockController):
      
      LayoutTests:
      
      * pointer-lock/locked-element-iframe-removed-from-dom-expected.txt:
      * pointer-lock/locked-element-iframe-removed-from-dom.html:
           Updated to reflect new behavior of null returned when lock is pending.
      * pointer-lock/pointerlockelement-null-when-pending-expected.txt: Added.
      * pointer-lock/pointerlockelement-null-when-pending.html: Added.
           New test specifically for testing null return when lock is pending.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127606 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      575ba7c7
  2. 04 Sep, 2012 1 commit
    • scheib@chromium.org's avatar
      [Chromium] Allow asyncronous response of pointer lock requests in layout tests. · 34be567b
      scheib@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=95628
      
      Reviewed by James Robinson.
      
      Tools:
      
      Future tests need the ability to respond asynchronously that
      pointer lock requests have been accepted or rejected. This patch
      adds the following:
          testRunner.setPointerLockWillRespondAsynchronously();
          testRunner.didAcquirePointerLock();
          testRunner.didNotAcquirePointerLock();
      
      Tested in existing test:
          pointerlockchange-pointerlockerror-events.html
      
      * DumpRenderTree/chromium/DRTTestRunner.cpp:
      (DRTTestRunner::DRTTestRunner):
      (DRTTestRunner::didAcquirePointerLock):
      (DRTTestRunner::didNotAcquirePointerLock):
      (DRTTestRunner::setPointerLockWillRespondAsynchronously):
      * DumpRenderTree/chromium/DRTTestRunner.h:
      (DRTTestRunner):
      * DumpRenderTree/chromium/WebViewHost.cpp:
      (WebViewHost::requestPointerLock):
      (WebViewHost::didAcquirePointerLock):
      (WebViewHost::didNotAcquirePointerLock):
      * DumpRenderTree/chromium/WebViewHost.h:
      (WebViewHost):
      (WebViewHost::setPointerLockWillRespondAsynchronously):
      
      LayoutTests:
      
      Add testing for testRunner.setPointerLockWillRespondAsynchronously().
      
      * pointer-lock/pointerlockchange-pointerlockerror-events-expected.txt:
      * pointer-lock/pointerlockchange-pointerlockerror-events.html:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127473 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      34be567b
  3. 02 Aug, 2012 1 commit
    • scheib@chromium.org's avatar
      Remove old Pointer Lock API. · 03edde3b
      scheib@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=88892
      
      Reviewed by Adam Barth.
      
      Source/WebCore:
      
      Removing the old Pointer Lock API as one of the final cleanup
      changes for the Update to Fullscreen style locking Spec meta
      bug https://bugs.webkit.org/show_bug.cgi?id=84402.
      
      This change primarily removes idl, access in navigator,
      one event, and supporting infrastructure in page/PointerLock.
      
      In PointerLockController changes were already noted clearly with
      TODOs differentiating old and new api sections.
      
      Test: pointer-lock/pointerlockchange-event-on-lock-lost.html
      
      * WebCore.gypi:
      * dom/Element.cpp:
      (WebCore::Element::webkitRequestPointerLock):
      * dom/EventNames.h:
      (WebCore):
      * page/Navigator.cpp:
      * page/Navigator.h:
      (WebCore):
      (Navigator):
      * page/Navigator.idl:
      * page/PointerLock.cpp: Removed.
      * page/PointerLock.h: Removed.
      * page/PointerLock.idl: Removed.
      * page/PointerLockController.cpp:
      (WebCore::PointerLockController::requestPointerLock):
      (WebCore::PointerLockController::didAcquirePointerLock):
      (WebCore::PointerLockController::didNotAcquirePointerLock):
      (WebCore::PointerLockController::didLosePointerLock):
      * page/PointerLockController.h:
      (PointerLockController):
      
      Source/WebKit/chromium:
      
      * src/WebViewImpl.cpp:
          Removed #include to old API header.
      
      LayoutTests:
      
      Tests for old API removed, and most remaining tests required only small
      changes.
      
      * platform/chromium/fast/dom/navigator-detached-no-crash-expected.txt:
      * pointer-lock/lock-already-locked-expected.txt:
      * pointer-lock/lock-already-locked.html:
      * pointer-lock/lock-fail-responses-expected.txt: Removed.
      * pointer-lock/lock-fail-responses.html: Removed.
          This test only covered the old API. The related concept is tested
          for the new api in pointerlockchange-pointerlockerror-events.html.
      * pointer-lock/pointer-lock-api-expected.txt:
      * pointer-lock/pointer-lock-api.html:
      * pointer-lock/pointerlockchange-event-on-lock-lost-expected.txt: Added.
      * pointer-lock/pointerlockchange-event-on-lock-lost.html: Added.
      * pointer-lock/pointerlocklost-event-expected.txt: Removed.
      * pointer-lock/pointerlocklost-event.html: Removed.
          pointerlocklost-event.html renamed to pointerlockchange-event-on-lock-lost.html.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@124535 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      03edde3b
  4. 31 Jul, 2012 1 commit
    • scheib@chromium.org's avatar
      webkitRequestPointerLock and webkitExitPointerLock limited to the same... · f4b6c5c2
      scheib@chromium.org authored
      webkitRequestPointerLock and webkitExitPointerLock limited to the same document of an active Pointer lock.
      https://bugs.webkit.org/show_bug.cgi?id=91284
      
      Reviewed by Adrienne Walker.
      
      Previously, cross-talk between documents was possible, e.g. allowing one
      document.webkitExitPointerLock to exit the lock from another document.
      This change brings Pointer Lock closer to the Fullscreen API behavior,
      and stops the pointer lock target from being transferable between
      documents.
      
      Source/WebCore:
      
      Test: http/tests/pointer-lock/requestPointerLock-can-not-transfer-between-documents.html
      
      * dom/Document.cpp:
      (WebCore::Document::webkitExitPointerLock):
      * page/PointerLockController.cpp:
      (WebCore::PointerLockController::requestPointerLock):
      
      LayoutTests:
      
      * http/tests/pointer-lock/requestPointerLock-can-not-transfer-between-documents-expected.txt: Added.
      * http/tests/pointer-lock/requestPointerLock-can-not-transfer-between-documents.html: Added.
      * http/tests/resources/pointer-lock/iframe-common.js:
      (document.onwebkitpointerlockchange):
      (document.onwebkitpointerlockerror):
      * pointer-lock/pointerlockchange-pointerlockerror-events-expected.txt:
      * pointer-lock/pointerlockchange-pointerlockerror-events.html:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@124301 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f4b6c5c2
  5. 23 Jul, 2012 1 commit
    • scheib@chromium.org's avatar
      webkitFullscreenElement, webkitCurrentFullScreenElement,... · e31007f1
      scheib@chromium.org authored
      webkitFullscreenElement, webkitCurrentFullScreenElement, webkitPointerLockElement block cross origin access.
      https://bugs.webkit.org/show_bug.cgi?id=91892
      
      Reviewed by Adam Barth.
      
      Source/WebCore:
      
      PointerLockElement only returned when requested from the document that owns it.
      
      Tests: http/tests/fullscreen/fullscreenelement-different-origin.html
             http/tests/fullscreen/fullscreenelement-same-origin.html
             http/tests/pointer-lock/pointerlockelement-different-origin.html
             http/tests/pointer-lock/pointerlockelement-same-origin.html
      
      * dom/Document.cpp:
      (WebCore::Document::webkitPointerLockElement):
      
      LayoutTests:
      
      Tests verifying the behavior of accessing
      webkitFullscreenElement, webkitCurrentFullScreenElement, webkitPointerLockElement
      from different origins.
      
      * http/tests/fullscreen/fullscreenelement-different-origin-expected.txt: Added.
      * http/tests/fullscreen/fullscreenelement-different-origin.html: Added.
      * http/tests/fullscreen/fullscreenelement-same-origin-expected.txt: Added.
      * http/tests/fullscreen/fullscreenelement-same-origin.html: Added.
      * http/tests/pointer-lock/pointerlockelement-different-origin-expected.txt: Added.
      * http/tests/pointer-lock/pointerlockelement-different-origin.html: Added.
      * http/tests/pointer-lock/pointerlockelement-same-origin-expected.txt: Added.
      * http/tests/pointer-lock/pointerlockelement-same-origin.html: Added.
      * http/tests/resources/pointer-lock/iframe-common.js: Added.
      (thisFileName):
      (window.onmessage):
      * http/tests/resources/pointer-lock/inner-iframe.html: Added.
      * http/tests/resources/pointer-lock/pointer-lock-test-harness.js:
      (runOnKeyPress.keypressHandler):
      * pointer-lock/locked-element-iframe-removed-from-dom-expected.txt:
      * pointer-lock/locked-element-iframe-removed-from-dom.html:
      * pointer-lock/locked-element-removed-from-dom-expected.txt:
      * pointer-lock/locked-element-removed-from-dom.html:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@123343 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e31007f1
  6. 20 Jul, 2012 1 commit
    • scheib@chromium.org's avatar
      Move pointer lock test resources to http/tests/resources in preparation for... · aed8d1bd
      scheib@chromium.org authored
      Move pointer lock test resources to http/tests/resources in preparation for adding new tests to http.
      https://bugs.webkit.org/show_bug.cgi?id=91882
      
      Reviewed by Adrienne Walker.
      
      * http/tests/resources/pointer-lock/pointer-lock-test-harness.js: Renamed from LayoutTests/pointer-lock/resources/pointer-lock-test-harness.js.
      * pointer-lock/bug90391-move-then-window-open-crash.html:
      * pointer-lock/lock-already-locked.html:
      * pointer-lock/lock-element-not-in-dom.html:
      * pointer-lock/lock-fail-responses.html:
      * pointer-lock/locked-element-iframe-removed-from-dom.html:
      * pointer-lock/locked-element-removed-from-dom.html:
      * pointer-lock/mouse-event-api.html:
      * pointer-lock/mouse-event-delivery.html:
      * pointer-lock/pointer-lock-api.html:
      * pointer-lock/pointerlockchange-pointerlockerror-events.html:
      * pointer-lock/pointerlocklost-event.html:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@123247 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      aed8d1bd
  7. 16 Jul, 2012 1 commit
  8. 13 Jul, 2012 1 commit
    • scheib@chromium.org's avatar
      Pointer Lock handles disconnected DOM elements · fd0b8a9b
      scheib@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=77029
      
      Reviewed by Adrienne Walker.
      
      Source/WebCore:
      
      Pointer Lock Controller now checks when elements or documents are
      removed, and unlocks if the target element is being removed.
      
      Tests: pointer-lock/locked-element-iframe-removed-from-dom.html
             pointer-lock/locked-element-removed-from-dom.html
      
      * dom/Document.cpp:
      (WebCore::Document::detach):
      * dom/Element.cpp:
      (WebCore::Element::removedFrom):
      (WebCore::Element::webkitRequestPointerLock):
      * page/PointerLockController.cpp:
      (WebCore::PointerLockController::requestPointerLock):
      (WebCore::PointerLockController::elementRemoved):
      (WebCore):
      (WebCore::PointerLockController::documentDetached):
      (WebCore::PointerLockController::didLosePointerLock):
      (WebCore::PointerLockController::enqueueEvent):
      * page/PointerLockController.h:
      (WebCore):
      (PointerLockController):
      
      LayoutTests:
      
      Two new tests that verify pointer lock is released when the target
      is removed from the document.
      
      * pointer-lock/locked-element-iframe-removed-from-dom-expected.txt: Added.
      * pointer-lock/locked-element-iframe-removed-from-dom.html: Added.
      * pointer-lock/locked-element-removed-from-dom-expected.txt: Added.
      * pointer-lock/locked-element-removed-from-dom.html: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@122626 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      fd0b8a9b
  9. 09 Jul, 2012 2 commits
    • scheib@chromium.org's avatar
      Pointer Lock requestPointerLock rejects locking an element not in a document. · 50a79895
      scheib@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=90821
      
      Reviewed by Adrienne Walker.
      
      Source/WebCore:
      
      Test: pointer-lock/lock-element-not-in-dom.html
      
      * page/PointerLockController.cpp:
      (WebCore::PointerLockController::requestPointerLock):
      
      LayoutTests:
      
      * pointer-lock/lock-element-not-in-dom-expected.txt: Added.
      * pointer-lock/lock-element-not-in-dom.html: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@122169 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      50a79895
    • scheib@chromium.org's avatar
      Refactor common Pointer Lock test code to a harness. · 3684f627
      scheib@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=90813
      
      Reviewed by Adrienne Walker.
      
      * pointer-lock/bug90391-move-then-window-open-crash-expected.txt:
      * pointer-lock/bug90391-move-then-window-open-crash.html:
      * pointer-lock/lock-already-locked-expected.txt:
      * pointer-lock/lock-already-locked.html:
      * pointer-lock/lock-fail-responses-expected.txt:
      * pointer-lock/lock-fail-responses.html:
      * pointer-lock/mouse-event-delivery-expected.txt:
      * pointer-lock/mouse-event-delivery.html:
      * pointer-lock/pointer-lock-api-expected.txt:
      * pointer-lock/pointer-lock-api.html:
      * pointer-lock/pointerlockchange-pointerlockerror-events-expected.txt:
      * pointer-lock/pointerlockchange-pointerlockerror-events.html:
      * pointer-lock/pointerlocklost-event-expected.txt:
      * pointer-lock/pointerlocklost-event.html:
      * pointer-lock/resources/pointer-lock-test-harness.js: Added.
      (doNextStep.else):
      (doNextStepWithUserGesture):
      (eventExpected.targetHanderNode.eventHandlerName):
      (eventExpected):
      (expectOnlyChangeEvent):
      (expectOnlyErrorEvent):
      (expectNoEvents):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@122158 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3684f627
  10. 05 Jul, 2012 1 commit
  11. 15 Jun, 2012 2 commits
    • scheib@chromium.org's avatar
      Add new Pointer Lock spec webkitRequestPointerLock and webkitExitPointerLock methods. · ebbfecc5
      scheib@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=88891
      
      Reviewed by Dimitri Glazkov.
      
      Part of a series of refactoring changes to update pointer lock API to
      the fullscreen locking style. https://bugs.webkit.org/show_bug.cgi?id=84402
      
      Entering and exiting mouse lock is provided in the new webkitRequestPointerLock and
      webkitExitPointerLock methods.
      
      Source/WebCore:
      
      Existing pointer-lock tests updated to use the new methods.
      
      * dom/Document.cpp:
      (WebCore::Document::webkitExitPointerLock):
      (WebCore):
      * dom/Document.h:
      (Document):
      * dom/Document.idl:
      * dom/Element.cpp:
      (WebCore):
      (WebCore::Element::webkitRequestPointerLock):
      * dom/Element.h:
      * dom/Element.idl:
      
      LayoutTests:
      
      Existing tests updated to use the new methods. Also, several updated to
      support manual testing.
      
      * pointer-lock/lock-already-locked-expected.txt:
      * pointer-lock/lock-already-locked.html:
      * pointer-lock/mouse-event-delivery-expected.txt:
      * pointer-lock/mouse-event-delivery.html:
      * pointer-lock/pointer-lock-api-expected.txt:
      * pointer-lock/pointer-lock-api.html:
      * pointer-lock/pointerlockchange-pointerlockerror-events-expected.txt:
      * pointer-lock/pointerlockchange-pointerlockerror-events.html:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@120486 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ebbfecc5
    • rniwa@webkit.org's avatar
      Use testRunner instead of layoutTestController in networkinformation, perf,... · 5cf7fa8a
      rniwa@webkit.org authored
      Use testRunner instead of layoutTestController in networkinformation, perf, plugins, pointer-lock, printing, scrollbars, and security tests
      https://bugs.webkit.org/show_bug.cgi?id=89181
      
      Reviewed by Kent Tamura.
      
      * perf/clone-with-focus.html:
      * perf/nested-combined-selectors.html:
      * perf/table-rows-length-caching.html:
      * platform/chromium/plugins/call-as-function.html:
      * platform/chromium/plugins/get-url-with-blank-target2.html:
      * platform/chromium/plugins/get-url-with-iframe-target-no-crash.html:
      * platform/chromium/printing/custom-page-size-style-expected.txt:
      * platform/chromium/printing/custom-page-size-style.html:
      * platform/gtk/plugins/invalidate-rect-with-null-npp-argument.html:
      * platform/gtk/scrollbars/overflow-scrollbar-horizontal-wheel-scroll.html:
      * platform/mac-wk2/plugins/contents-scale-factor.html:
      * platform/mac-wk2/plugins/mouse-events-scaled.html:
      * platform/mac/plugins/bindings-array-apply-crash.html:
      * platform/mac/plugins/bindings-objc-long-method-name.html:
      * platform/mac/plugins/bindings-objc-method-name-conversion.html:
      * platform/mac/plugins/bindings-test-objc.html:
      * platform/mac/plugins/call-as-function-test.html:
      * platform/mac/plugins/convert-point.html:
      * platform/mac/plugins/disable-plugins.html:
      * platform/mac/plugins/jsobjc-dom-wrappers.html:
      * platform/mac/plugins/jsobjc-simple.html:
      * platform/mac/plugins/pluginDocumentView-deallocated-dataSource.html-disabled:
      * platform/mac/plugins/root-object-premature-delete-crash.html:
      * platform/mac/plugins/supports-carbon-event-model.html:
      * platform/mac/plugins/testplugin-onnew-onpaint.html:
      * platform/mac/plugins/throw-on-dealloc.html:
      * platform/mac/plugins/undefined-property-crash.html:
      * platform/mac/plugins/update-widget-from-style-recalc.html:
      * platform/mac/plugins/webScriptObject-exception-deadlock.html:
      * platform/mac/scrollbars/key-window-not-first-responder.html:
      * platform/qt/plugins/application-plugin-plugins-disabled.html:
      * platform/win/plugins/call-javascript-that-destroys-plugin.html:
      * platform/win/plugins/get-value-netscape-window.html:
      * platform/win/plugins/iframe-inside-overflow.html:
      * platform/win/plugins/npn-invalidate-rect-invalidates-window.html:
      * platform/win/plugins/visibility-hidden.html:
      * platform/win/plugins/window-geometry-initialized-before-set-window.html:
      * platform/win/plugins/window-region-is-set-to-clip-rect.html:
      * platform/win/plugins/windowless-paint-rect-coordinates.html:
      * plugins/:
      * pointer-lock/lock-fail-responses-expected.txt:
      * pointer-lock/lock-fail-responses.html:
      * pointer-lock/pointer-lock-api.html:
      * pointer-lock/pointerlockchange-pointerlockerror-events-expected.txt:
      * pointer-lock/pointerlockchange-pointerlockerror-events.html:
      * pointer-lock/pointerlocklost-event-expected.txt:
      * pointer-lock/pointerlocklost-event.html:
      * printing/compositing-layer-printing.html:
      * printing/css2.1/README.txt:
      * printing/css2.1/page-break-after-000.html:
      * printing/css2.1/page-break-after-001.html:
      * printing/css2.1/page-break-after-002.html:
      * printing/css2.1/page-break-after-003.html:
      * printing/css2.1/page-break-after-004.html:
      * printing/css2.1/page-break-before-000.html:
      * printing/css2.1/page-break-before-001.html:
      * printing/css2.1/page-break-before-002.html:
      * printing/css2.1/page-break-inside-000.html:
      * printing/iframe-print.html:
      * printing/media-queries-print.html:
      * printing/numberOfPages-expected.txt:
      * printing/page-count-layout-overflow.html:
      * printing/page-count-relayout-shrink.html:
      * printing/page-count-with-one-word.html:
      * printing/page-format-data-display-none.html:
      * printing/page-format-data-expected.txt:
      * printing/page-format-data.html:
      * printing/page-rule-css-text.html:
      * printing/page-rule-in-media-query.html:
      * printing/page-rule-selection-expected.txt:
      * printing/page-rule-selection.html:
      * printing/pageNumerForElementById-expected.txt:
      * printing/print-close-crash.html:
      * printing/pseudo-class-outside-page.html:
      * printing/resources/paged-media-test-utils.js:
      (pageNumberForElementShouldBe):
      (numberOfPagesShouldBe):
      (runPrintingTest):
      * printing/return-from-printing-mode.html:
      * printing/script-tests/numberOfPages.js:
      * printing/script-tests/pageNumerForElementById.js:
      * printing/setPrinting.html:
      * printing/simultaneous-position-float-change.html:
      * printing/single-line-must-not-be-split-into-two-pages.html:
      * printing/width-overflow.html:
      * printing/zoomed-document.html:
      * scrollbars/hidden-iframe-scrollbar-crash.html:
      * scrollbars/hidden-iframe-scrollbar-crash2.html:
      * scrollbars/hidden-scrollbar-prevents-layout.html:
      * scrollbars/overflow-custom-scrollbar-crash.html:
      * scrollbars/resources/hidden-iframe-scrollbar-crash2.html:
      * scrollbars/scroll-rtl-or-bt-layer.html:
      * scrollbars/scrollable-iframe-remove-crash.html:
      * scrollbars/scrollbar-click-does-not-blur-content.html:
      * scrollbars/scrollbar-crash-on-refresh.html:
      * scrollbars/scrollbar-drag-thumb-with-large-content.html:
      * scrollbars/scrollbar-gradient-crash.html:
      * scrollbars/scrollbar-iframe-click-does-not-blur-content.html:
      * scrollbars/scrollbar-initial-position.html:
      * scrollbars/scrollbar-middleclick-nopaste.html:
      * scrollbars/scrollbar-miss-mousemove-disabled.html:
      * scrollbars/scrollbar-miss-mousemove.html:
      * scrollbars/scrollbar-owning-renderer-crash.html:
      * scrollbars/scrollbar-part-created-with-no-parent-crash.html:
      * scrollbars/scrollbar-percent-padding-crash.html:
      * scrollbars/scrollbar-scrollbarparts-repaint-crash.html:
      * scrollbars/scrollevent-iframe-no-scrolling-wheel.html:
      * scrollbars/scrollevent-iframe-no-scrolling.html:
      * security/autocomplete-cleared-on-back.html:
      * security/block-test-no-port.html:
      * security/block-test.html:
      * security/set-form-autocomplete-attribute.html:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@120417 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5cf7fa8a
  12. 13 Jun, 2012 1 commit
    • scheib@chromium.org's avatar
      Remove duplicate webkitpointerlockchange events when unlocking. · 94681642
      scheib@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=88917
      
      Reviewed by Dimitri Glazkov.
      
      Source/WebCore:
      
      Subsequent patches adding the new API for entering and exiting
      pointer lock would be burdened by handling multiple change events
      when the lock target is changed. This change introduces
      temporary code to suppress duplicate change events.
      
      Existing tests simplified by removing the duplicate change events.
      
      * page/PointerLockController.cpp:
      (WebCore::PointerLockController::requestPointerLock):
      (WebCore::PointerLockController::didLosePointerLock):
      * page/PointerLockController.h:
      (PointerLockController):
      
      LayoutTests:
      
      Part of a series of refactoring changes to update pointer lock API to
      the fullscreen locking style. https://bugs.webkit.org/show_bug.cgi?id=84402
      
      Tests simplified by removing the duplicate change events.
      
      * pointer-lock/lock-already-locked-expected.txt:
      * pointer-lock/pointerlockchange-pointerlockerror-events-expected.txt:
      * pointer-lock/pointerlockchange-pointerlockerror-events.html:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@120248 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      94681642
  13. 11 Jun, 2012 1 commit
    • scheib@chromium.org's avatar
      Add new Pointer Lock spec attribute webkitPointerLockElement. · 6ed01762
      scheib@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=88799
      
      Source/WebCore:
      
      Reviewed by Dimitri Glazkov.
      
      Part of a series of refactoring changes to update pointer lock API to
      the fullscreen locking style. https://bugs.webkit.org/show_bug.cgi?id=84402
      
      New attribute webkitPointerLockElement added. Follow up patches
      will remove the previous isLocked attribute. Tests updated to use
      the new attribute.
      
      * bindings/generic/RuntimeEnabledFeatures.h:
      (WebCore::RuntimeEnabledFeatures::webkitPointerLockElementEnabled):
      * dom/Document.cpp:
      (WebCore):
      (WebCore::Document::webkitPointerLockElement):
      * dom/Document.h:
      (Document):
      * dom/Document.idl:
      * page/PointerLockController.h:
      (WebCore::PointerLockController::element):
      
      Tools:
      
      Reviewed by Dimitri Glazkov.
      
      Part of a series of refactoring changes to update pointer lock API to
      the fullscreen locking style. https://bugs.webkit.org/show_bug.cgi?id=84402
      
      New attribute webkitPointerLockElement added. Follow up patches
      will remove the previous isLocked attribute. Tests updated to use
      the new attribute.
      
      WebViewHost logic required modification to correctly repond to
      a lock, unlock, pointerLockElement call series. Specifically,
      unlocking must be queued after a lock command is issued always
      as the lock state may not be set yet with a lock request in flight.
      
      * DumpRenderTree/chromium/WebViewHost.cpp:
      (WebViewHost::requestPointerUnlock): Always post didLosePointerLock task.
      (WebViewHost::didLosePointerLock): Signal didLosePointerLock only if pointer was locked.
      
      LayoutTests:
      
      Part of a series of refactoring changes to update pointer lock API to
      the fullscreen locking style. https://bugs.webkit.org/show_bug.cgi?id=84402
      
      New attribute webkitPointerLockElement added. Follow up patches
      will remove the previous isLocked attribute. Tests updated to use
      the new attribute.
      
      Reviewed by Dimitri Glazkov.
      
      * pointer-lock/lock-already-locked-expected.txt:
      * pointer-lock/lock-already-locked.html:
      * pointer-lock/pointer-lock-api-expected.txt:
      * pointer-lock/pointer-lock-api.html:
      * pointer-lock/pointerlocklost-event-expected.txt:
      * pointer-lock/pointerlocklost-event.html:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@120031 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6ed01762
  14. 07 Jun, 2012 1 commit
    • scheib@chromium.org's avatar
      Add new Pointer Lock spec events webkitpointerlockchange and webkitpointerlockerror · 13c96db0
      scheib@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=88377
      
      Reviewed by Dimitri Glazkov.
      
      Part of a series of refactoring changes to update pointer lock API to
      the fullscreen locking style. https://bugs.webkit.org/show_bug.cgi?id=84402
      
      New change and error events added. Follow up patches will remove
      the previous callbacks and pointerlocklost event. Tests updated
      to include the new events, and a new test added specifically for
      the new events, pointerlockchange-pointerlockerror-events.html.
      
      Source/WebCore:
      
      Test: pointer-lock/pointerlockchange-pointerlockerror-events.html
      
      * dom/Document.h:
      (Document):
      * dom/Document.idl:
      * dom/EventNames.h:
      (WebCore):
      * page/PointerLockController.cpp:
      (WebCore::PointerLockController::requestPointerLock):
      (WebCore::PointerLockController::didAcquirePointerLock):
      (WebCore::PointerLockController::didNotAcquirePointerLock):
      (WebCore::PointerLockController::didLosePointerLock):
      (WebCore::PointerLockController::enqueueEvent):
      (WebCore):
      * page/PointerLockController.h:
      (PointerLockController):
      
      LayoutTests:
      
      * pointer-lock/lock-already-locked-expected.txt:
      * pointer-lock/lock-already-locked.html:
      * pointer-lock/pointer-lock-api-expected.txt:
      * pointer-lock/pointer-lock-api.html:
      * pointer-lock/pointerlockchange-pointerlockerror-events-expected.txt: Added.
      * pointer-lock/pointerlockchange-pointerlockerror-events.html: Added.
      * pointer-lock/pointerlocklost-event-expected.txt:
      * pointer-lock/pointerlocklost-event.html:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@119763 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      13c96db0
  15. 27 Jan, 2012 1 commit
    • scheib@chromium.org's avatar
      Pointer Lock: Implement pointer interface · 32c154ad
      scheib@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=75762
      
      Source/WebCore:
      
      Reviewed by Julien Chaffraix.
      
      Implement the navigator.pointer interface via a new
      PointerLockController class, as per
      http://dvcs.w3.org/hg/webevents/raw-file/default/mouse-lock.html.
      
      The implementation is being made in steps, the feature is still behind
      compile-time and run-time flags, 'webkit' prefixed, and not yet enabled
      in any browser. (Chromium has a developer flag required.) Follow-up
      work will include handling DOM elements being removed, making all
      callbacks asynchronous, iframe permissions (similar to Full Screen),
      etc.
      
      PointerLockController maintains state of which Element is the current
      lock target and the success and failure callbacks. ChromeClient has
      methods added to expose the required state change requests.
      
      Tests: pointer-lock/lock-already-locked.html
             pointer-lock/lock-fail-responses.html
             pointer-lock/mouse-event-delivery.html
             pointer-lock/pointerlocklost-event.html
      
      * WebCore.gypi:
      * dom/EventNames.h:
      * page/ChromeClient.h:
      (WebCore::ChromeClient::requestPointerLock):
      (WebCore::ChromeClient::requestPointerUnlock):
      (WebCore::ChromeClient::isPointerLocked):
      * page/Navigator.cpp:
      (WebCore::Navigator::webkitPointer):
      * page/Page.cpp:
      (WebCore::Page::Page):
      * page/Page.h:
      (WebCore::Page::pointerLockController):
      * page/PointerLock.cpp:
      (WebCore::PointerLock::PointerLock):
      (WebCore::PointerLock::create):
      (WebCore::PointerLock::lock):
      (WebCore::PointerLock::unlock):
      (WebCore::PointerLock::isLocked):
      * page/PointerLock.h:
      (WebCore::PointerLock::create):
      * page/PointerLockController.cpp: Added.
      (WebCore::PointerLockController::PointerLockController):
      (WebCore::PointerLockController::requestPointerLock):
      (WebCore::PointerLockController::requestPointerUnlock):
      (WebCore::PointerLockController::isLocked):
      (WebCore::PointerLockController::didAcquirePointerLock):
      (WebCore::PointerLockController::didNotAcquirePointerLock):
      (WebCore::PointerLockController::didLosePointerLock):
      (WebCore::PointerLockController::dispatchLockedMouseEvent):
      * page/PointerLockController.h: Copied from Source/WebCore/page/PointerLock.h.
      
      Source/WebKit/chromium:
      
      Add calls to the PointerLockController added in this patch to WebCore.
      
      * src/WebViewImpl.cpp:
      (WebKit::WebViewImpl::close):
      (WebKit::WebViewImpl::didAcquirePointerLock):
      (WebKit::WebViewImpl::didNotAcquirePointerLock):
      (WebKit::WebViewImpl::didLosePointerLock):
      (WebKit::WebViewImpl::pointerLockMouseEvent):
      
      LayoutTests:
      
      Reviewed by Julien Chaffraix.
      
      * pointer-lock/lock-already-locked-expected.txt: Added.
      * pointer-lock/lock-already-locked.html: Added.
      * pointer-lock/lock-fail-responses-expected.txt: Added.
      * pointer-lock/lock-fail-responses.html: Added.
      * pointer-lock/mouse-event-delivery-expected.txt: Added.
      * pointer-lock/mouse-event-delivery.html: Added.
      * pointer-lock/pointerlocklost-event-expected.txt: Added.
      * pointer-lock/pointerlocklost-event.html: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106134 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      32c154ad
  16. 13 Jan, 2012 1 commit
  17. 22 Nov, 2011 1 commit