1. 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
  2. 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
  3. 09 Jul, 2012 1 commit
    • 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
  4. 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
  5. 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
  6. 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