haikuwebkit/LayoutTests/fast/visual-viewport/viewport-dimensions-iframe-...

5 lines
47 B
Plaintext
Raw Permalink Normal View History

Implement VisualViewport API attributes https://bugs.webkit.org/show_bug.cgi?id=179385 Patch by Ali Juma <ajuma@chromium.org> on 2017-11-22 Reviewed by Frédéric Wang. LayoutTests/imported/w3c: Update expectations for viewport WPTs. The new expectations are all passing, except as mentioned below. * web-platform-tests/viewport/viewport-no-resize-event-on-overflow-recalc-expected.txt: * web-platform-tests/viewport/viewport-read-size-causes-layout-expected.txt: * web-platform-tests/viewport/viewport-read-size-in-iframe-causes-layout-expected.txt: * web-platform-tests/viewport/viewport-resize-event-on-load-overflowing-page-expected.txt: Fails since events are not implemented yet (wkbug.com/b/179386). * web-platform-tests/viewport/viewport-scrollbars-cause-resize-expected.txt: * web-platform-tests/viewport/viewport-type-expected.txt: * web-platform-tests/viewport/viewport-unscaled-scale-expected.txt: * web-platform-tests/viewport/viewport-unscaled-scale-iframe-expected.txt: * web-platform-tests/viewport/viewport-unscaled-scroll-expected.txt: * web-platform-tests/viewport/viewport-unscaled-scroll-iframe-expected.txt: Passing expectation for non-iOS, but fails on iOS because iframes aren't scrollable (wkbug.com/b/179794). * web-platform-tests/viewport/viewport-unscaled-size-expected.txt: * web-platform-tests/viewport/viewport-unscaled-size-iframe-expected.txt: Passing expectation for non-iOS, but fails on iOS because iframes aren't scrollable (wkbug.com/b/179794). Source/WebCore: Add a visualViewport attribute to Window, and implement the VisualViewport interface (https://wicg.github.io/visual-viewport/#the-visualviewport-interface). This is behind a newly-added VisualViewportAPI experimental feature flag. Tests: fast/visual-viewport/viewport-dimensions-exclude-custom-scrollbars.html fast/visual-viewport/viewport-dimensions-exclude-scrollbars.html fast/visual-viewport/viewport-dimensions-iframe.html fast/visual-viewport/viewport-dimensions-under-page-zoom.html fast/visual-viewport/viewport-dimensions.html * CMakeLists.txt: * DerivedSources.cpp: * DerivedSources.make: * Sources.txt: * WebCore.xcodeproj/project.pbxproj: * bindings/js/WebCoreBuiltinNames.h: * dom/EventTargetFactory.in: * page/DOMWindow.cpp: (WebCore::DOMWindow::~DOMWindow): (WebCore::DOMWindow::resetDOMWindowProperties): (WebCore::DOMWindow::visualViewport const): * page/DOMWindow.h: * page/DOMWindow.idl: * page/Settings.yaml: * page/VisualViewport.cpp: Added. (WebCore::VisualViewport::VisualViewport): (WebCore::VisualViewport::eventTargetInterface const): (WebCore::VisualViewport::scriptExecutionContext const): (WebCore::getFrameViewAndLayoutIfNonNull): (WebCore::VisualViewport::offsetLeft const): (WebCore::VisualViewport::offsetTop const): (WebCore::VisualViewport::pageLeft const): (WebCore::VisualViewport::pageTop const): (WebCore::VisualViewport::width const): (WebCore::VisualViewport::height const): (WebCore::VisualViewport::scale const): * page/VisualViewport.h: Added. * page/VisualViewport.idl: Added. Source/WebKit: Add a VisualViewportAPI experimental feature. * Shared/WebPreferences.yaml: Source/WebKitLegacy/mac: Add a VisualViewportAPI preference. * WebView/WebPreferenceKeysPrivate.h: * WebView/WebPreferences.mm: (+[WebPreferences initialize]): (-[WebPreferences visualViewportAPIEnabled]): (-[WebPreferences setVisualViewportAPIEnabled:]): * WebView/WebPreferencesPrivate.h: * WebView/WebView.mm: (-[WebView _preferencesChanged:]): Source/WebKitLegacy/win: Add a VisualViewportAPI preference. * Interfaces/IWebPreferencesPrivate.idl: * WebPreferenceKeysPrivate.h: * WebPreferences.cpp: (WebPreferences::initializeDefaultSettings): (WebPreferences::visualViewportAPIEnabled): (WebPreferences::setVisualViewportAPIEnabled): * WebPreferences.h: * WebView.cpp: (WebView::notifyPreferencesChanged): Tools: Enable the VisualViewportAPI in layout tests. * DumpRenderTree/mac/DumpRenderTree.mm: (enableExperimentalFeatures): * DumpRenderTree/win/DumpRenderTree.cpp: (enableExperimentalFeatures): LayoutTests: Add tests for the Visual Viewport API, based on Blink's layout tests but modified to use UIScriptController. * fast/visual-viewport/viewport-dimensions-exclude-custom-scrollbars-expected.txt: Added. * fast/visual-viewport/viewport-dimensions-exclude-custom-scrollbars.html: Added. * fast/visual-viewport/viewport-dimensions-exclude-scrollbars-expected.txt: Added. * fast/visual-viewport/viewport-dimensions-exclude-scrollbars.html: Added. * fast/visual-viewport/viewport-dimensions-expected.txt: Added. * fast/visual-viewport/viewport-dimensions-iframe-expected.txt: Added. * fast/visual-viewport/viewport-dimensions-iframe.html: Added. * fast/visual-viewport/viewport-dimensions-under-page-zoom-expected.txt: Added. * fast/visual-viewport/viewport-dimensions-under-page-zoom.html: Added. * fast/visual-viewport/viewport-dimensions.html: Added. * platform/gtk/TestExpectations: Skipped tests that use UIScriptController::zoomToScale, since this isn't implemented on GTK (webkit.org/b/168050). * platform/ios/fast/visual-viewport/viewport-dimensions-iframe-expected.txt: Added. Fails because iframes aren't scrollable on iOS (webkit.org/b/179794). * platform/ios/imported/w3c/web-platform-tests/viewport/viewport-unscaled-scroll-iframe-expected.txt: Added. Fails because iframes aren't scrollable on iOS (webkit.org/b/179794). * platform/ios/imported/w3c/web-platform-tests/viewport/viewport-unscaled-size-expected.txt: Added. Platform-specific expectation because of the window size being different on iOS. * platform/ios/imported/w3c/web-platform-tests/viewport/viewport-unscaled-size-iframe-expected.txt: Added. Fails because iframes aren't scrollable on iOS (webkit.org/b/179794). * platform/mac-wk1/TestExpectations: Skipped a test that applies webkit-scrollbar to main frame scrollbars, since this is unsupported in WK1. Canonical link: https://commits.webkit.org/195971@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@225103 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2017-11-22 22:20:26 +00:00
PASS Verify viewport dimensions for iframe.
Implement VisualViewport API attributes https://bugs.webkit.org/show_bug.cgi?id=179385 Patch by Ali Juma <ajuma@chromium.org> on 2017-11-22 Reviewed by Frédéric Wang. LayoutTests/imported/w3c: Update expectations for viewport WPTs. The new expectations are all passing, except as mentioned below. * web-platform-tests/viewport/viewport-no-resize-event-on-overflow-recalc-expected.txt: * web-platform-tests/viewport/viewport-read-size-causes-layout-expected.txt: * web-platform-tests/viewport/viewport-read-size-in-iframe-causes-layout-expected.txt: * web-platform-tests/viewport/viewport-resize-event-on-load-overflowing-page-expected.txt: Fails since events are not implemented yet (wkbug.com/b/179386). * web-platform-tests/viewport/viewport-scrollbars-cause-resize-expected.txt: * web-platform-tests/viewport/viewport-type-expected.txt: * web-platform-tests/viewport/viewport-unscaled-scale-expected.txt: * web-platform-tests/viewport/viewport-unscaled-scale-iframe-expected.txt: * web-platform-tests/viewport/viewport-unscaled-scroll-expected.txt: * web-platform-tests/viewport/viewport-unscaled-scroll-iframe-expected.txt: Passing expectation for non-iOS, but fails on iOS because iframes aren't scrollable (wkbug.com/b/179794). * web-platform-tests/viewport/viewport-unscaled-size-expected.txt: * web-platform-tests/viewport/viewport-unscaled-size-iframe-expected.txt: Passing expectation for non-iOS, but fails on iOS because iframes aren't scrollable (wkbug.com/b/179794). Source/WebCore: Add a visualViewport attribute to Window, and implement the VisualViewport interface (https://wicg.github.io/visual-viewport/#the-visualviewport-interface). This is behind a newly-added VisualViewportAPI experimental feature flag. Tests: fast/visual-viewport/viewport-dimensions-exclude-custom-scrollbars.html fast/visual-viewport/viewport-dimensions-exclude-scrollbars.html fast/visual-viewport/viewport-dimensions-iframe.html fast/visual-viewport/viewport-dimensions-under-page-zoom.html fast/visual-viewport/viewport-dimensions.html * CMakeLists.txt: * DerivedSources.cpp: * DerivedSources.make: * Sources.txt: * WebCore.xcodeproj/project.pbxproj: * bindings/js/WebCoreBuiltinNames.h: * dom/EventTargetFactory.in: * page/DOMWindow.cpp: (WebCore::DOMWindow::~DOMWindow): (WebCore::DOMWindow::resetDOMWindowProperties): (WebCore::DOMWindow::visualViewport const): * page/DOMWindow.h: * page/DOMWindow.idl: * page/Settings.yaml: * page/VisualViewport.cpp: Added. (WebCore::VisualViewport::VisualViewport): (WebCore::VisualViewport::eventTargetInterface const): (WebCore::VisualViewport::scriptExecutionContext const): (WebCore::getFrameViewAndLayoutIfNonNull): (WebCore::VisualViewport::offsetLeft const): (WebCore::VisualViewport::offsetTop const): (WebCore::VisualViewport::pageLeft const): (WebCore::VisualViewport::pageTop const): (WebCore::VisualViewport::width const): (WebCore::VisualViewport::height const): (WebCore::VisualViewport::scale const): * page/VisualViewport.h: Added. * page/VisualViewport.idl: Added. Source/WebKit: Add a VisualViewportAPI experimental feature. * Shared/WebPreferences.yaml: Source/WebKitLegacy/mac: Add a VisualViewportAPI preference. * WebView/WebPreferenceKeysPrivate.h: * WebView/WebPreferences.mm: (+[WebPreferences initialize]): (-[WebPreferences visualViewportAPIEnabled]): (-[WebPreferences setVisualViewportAPIEnabled:]): * WebView/WebPreferencesPrivate.h: * WebView/WebView.mm: (-[WebView _preferencesChanged:]): Source/WebKitLegacy/win: Add a VisualViewportAPI preference. * Interfaces/IWebPreferencesPrivate.idl: * WebPreferenceKeysPrivate.h: * WebPreferences.cpp: (WebPreferences::initializeDefaultSettings): (WebPreferences::visualViewportAPIEnabled): (WebPreferences::setVisualViewportAPIEnabled): * WebPreferences.h: * WebView.cpp: (WebView::notifyPreferencesChanged): Tools: Enable the VisualViewportAPI in layout tests. * DumpRenderTree/mac/DumpRenderTree.mm: (enableExperimentalFeatures): * DumpRenderTree/win/DumpRenderTree.cpp: (enableExperimentalFeatures): LayoutTests: Add tests for the Visual Viewport API, based on Blink's layout tests but modified to use UIScriptController. * fast/visual-viewport/viewport-dimensions-exclude-custom-scrollbars-expected.txt: Added. * fast/visual-viewport/viewport-dimensions-exclude-custom-scrollbars.html: Added. * fast/visual-viewport/viewport-dimensions-exclude-scrollbars-expected.txt: Added. * fast/visual-viewport/viewport-dimensions-exclude-scrollbars.html: Added. * fast/visual-viewport/viewport-dimensions-expected.txt: Added. * fast/visual-viewport/viewport-dimensions-iframe-expected.txt: Added. * fast/visual-viewport/viewport-dimensions-iframe.html: Added. * fast/visual-viewport/viewport-dimensions-under-page-zoom-expected.txt: Added. * fast/visual-viewport/viewport-dimensions-under-page-zoom.html: Added. * fast/visual-viewport/viewport-dimensions.html: Added. * platform/gtk/TestExpectations: Skipped tests that use UIScriptController::zoomToScale, since this isn't implemented on GTK (webkit.org/b/168050). * platform/ios/fast/visual-viewport/viewport-dimensions-iframe-expected.txt: Added. Fails because iframes aren't scrollable on iOS (webkit.org/b/179794). * platform/ios/imported/w3c/web-platform-tests/viewport/viewport-unscaled-scroll-iframe-expected.txt: Added. Fails because iframes aren't scrollable on iOS (webkit.org/b/179794). * platform/ios/imported/w3c/web-platform-tests/viewport/viewport-unscaled-size-expected.txt: Added. Platform-specific expectation because of the window size being different on iOS. * platform/ios/imported/w3c/web-platform-tests/viewport/viewport-unscaled-size-iframe-expected.txt: Added. Fails because iframes aren't scrollable on iOS (webkit.org/b/179794). * platform/mac-wk1/TestExpectations: Skipped a test that applies webkit-scrollbar to main frame scrollbars, since this is unsupported in WK1. Canonical link: https://commits.webkit.org/195971@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@225103 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2017-11-22 22:20:26 +00:00