Changeset 225093 in webkit
- Timestamp:
- Nov 21, 2017 11:26:16 PM (6 years ago)
- Location:
- trunk
- Files:
-
- 18 added
- 44 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r225092 r225093 1 2017-11-21 Ali Juma <ajuma@chromium.org> 2 3 Implement VisualViewport API attributes 4 https://bugs.webkit.org/show_bug.cgi?id=179385 5 6 Reviewed by Frédéric Wang. 7 8 Add tests for the Visual Viewport API, based on Blink's layout tests but modified 9 to use UIScriptController. 10 11 * fast/visual-viewport/viewport-dimensions-exclude-custom-scrollbars-expected.txt: Added. 12 * fast/visual-viewport/viewport-dimensions-exclude-custom-scrollbars.html: Added. 13 * fast/visual-viewport/viewport-dimensions-exclude-scrollbars-expected.txt: Added. 14 * fast/visual-viewport/viewport-dimensions-exclude-scrollbars.html: Added. 15 * fast/visual-viewport/viewport-dimensions-expected.txt: Added. 16 * fast/visual-viewport/viewport-dimensions-iframe-expected.txt: Added. 17 * fast/visual-viewport/viewport-dimensions-iframe.html: Added. 18 * fast/visual-viewport/viewport-dimensions-under-page-zoom-expected.txt: Added. 19 * fast/visual-viewport/viewport-dimensions-under-page-zoom.html: Added. 20 * fast/visual-viewport/viewport-dimensions.html: Added. 21 * platform/gtk/TestExpectations: 22 Skipped tests that use UIScriptController::zoomToScale, since this isn't implemented on GTK (webkit.org/b/168050). 23 * platform/ios/fast/visual-viewport/viewport-dimensions-iframe-expected.txt: Added. 24 Fails because iframes aren't scrollable on iOS (webkit.org/b/179794). 25 * platform/ios/imported/w3c/web-platform-tests/viewport/viewport-unscaled-scroll-iframe-expected.txt: Added. 26 Fails because iframes aren't scrollable on iOS (webkit.org/b/179794). 27 * platform/ios/imported/w3c/web-platform-tests/viewport/viewport-unscaled-size-expected.txt: Added. 28 Platform-specific expectation because of the window size being different on iOS. 29 * platform/ios/imported/w3c/web-platform-tests/viewport/viewport-unscaled-size-iframe-expected.txt: Added. 30 Fails because iframes aren't scrollable on iOS (webkit.org/b/179794). 31 * platform/mac-wk1/TestExpectations: 32 Skipped a test that applies webkit-scrollbar to main frame scrollbars, since this is unsupported in WK1. 33 1 34 2017-11-21 Frederic Wang <fwang@igalia.com> 2 35 -
trunk/LayoutTests/imported/w3c/ChangeLog
r225085 r225093 1 2017-11-21 Ali Juma <ajuma@chromium.org> 2 3 Implement VisualViewport API attributes 4 https://bugs.webkit.org/show_bug.cgi?id=179385 5 6 Reviewed by Frédéric Wang. 7 8 Update expectations for viewport WPTs. The new expectations are all passing, 9 except as mentioned below. 10 11 * web-platform-tests/viewport/viewport-no-resize-event-on-overflow-recalc-expected.txt: 12 * web-platform-tests/viewport/viewport-read-size-causes-layout-expected.txt: 13 * web-platform-tests/viewport/viewport-read-size-in-iframe-causes-layout-expected.txt: 14 * web-platform-tests/viewport/viewport-resize-event-on-load-overflowing-page-expected.txt: 15 Fails since events are not implemented yet (wkbug.com/b/179386). 16 * web-platform-tests/viewport/viewport-scrollbars-cause-resize-expected.txt: 17 * web-platform-tests/viewport/viewport-type-expected.txt: 18 * web-platform-tests/viewport/viewport-unscaled-scale-expected.txt: 19 * web-platform-tests/viewport/viewport-unscaled-scale-iframe-expected.txt: 20 * web-platform-tests/viewport/viewport-unscaled-scroll-expected.txt: 21 * web-platform-tests/viewport/viewport-unscaled-scroll-iframe-expected.txt: 22 Passing expectation for non-iOS, but fails on iOS because iframes aren't scrollable (wkbug.com/b/179794). 23 * web-platform-tests/viewport/viewport-unscaled-size-expected.txt: 24 * web-platform-tests/viewport/viewport-unscaled-size-iframe-expected.txt: 25 Passing expectation for non-iOS, but fails on iOS because iframes aren't scrollable (wkbug.com/b/179794). 26 1 27 2017-11-21 Ms2ger <Ms2ger@igalia.com> 2 28 -
trunk/LayoutTests/imported/w3c/web-platform-tests/viewport/viewport-no-resize-event-on-overflow-recalc-expected.txt
r222307 r225093 1 CONSOLE MESSAGE: line 31: TypeError: undefined is not an object (evaluating 'window.visualViewport.addEventListener')2 1 No Resize Event Fired on Overflow Recalc 3 2 … … 5 4 6 5 7 Harness Error (FAIL), message = TypeError: undefined is not an object (evaluating 'window.visualViewport.addEventListener') 6 PASS Resize event not fired at window.visualViewport when content is added 8 7 9 NOTRUN Resize event not fired at window.visualViewport when content is added10 -
trunk/LayoutTests/imported/w3c/web-platform-tests/viewport/viewport-read-size-causes-layout-expected.txt
r222307 r225093 2 2 3 3 4 FAIL Untitled undefined is not an object (evaluating 'window.visualViewport.width') 4 PASS Untitled 5 5 -
trunk/LayoutTests/imported/w3c/web-platform-tests/viewport/viewport-read-size-in-iframe-causes-layout-expected.txt
r222307 r225093 3 3 4 4 5 FAIL Untitled undefined is not an object (evaluating 'frames[0].window.visualViewport.width') 5 PASS Untitled 6 6 -
trunk/LayoutTests/imported/w3c/web-platform-tests/viewport/viewport-resize-event-on-load-overflowing-page-expected.txt
r222307 r225093 1 CONSOLE MESSAGE: line 24: TypeError: undefined is not an object (evaluating 'window.visualViewport.addEventListener')2 1 Viewport: Resize Event On Load Overflowing Page 3 2 … … 5 4 6 5 7 Harness Error (FAIL), message = TypeError: undefined is not an object (evaluating 'window.visualViewport.addEventListener') 6 FAIL Resize event fired exactly once against window.visualViewport if scrollbars affect layout. assert_equals: expected 1 but got 0 8 7 9 NOTRUN Resize event fired exactly once against window.visualViewport if scrollbars affect layout.10 -
trunk/LayoutTests/imported/w3c/web-platform-tests/viewport/viewport-scrollbars-cause-resize-expected.txt
r222307 r225093 1 CONSOLE MESSAGE: line 22: ReferenceError: Can't find variable: visualViewport2 1 Viewport: Scrollbars Cause Resize 3 2 … … 5 4 6 5 7 FAIL Viewport: Scrollbars Cause Resize ReferenceError: Can't find variable: visualViewport 6 PASS view size initially matches window size 8 7 -
trunk/LayoutTests/imported/w3c/web-platform-tests/viewport/viewport-type-expected.txt
r222307 r225093 3 3 Test Description: This test checks that window.visualViewport is an object of type VisualViewport. 4 4 5 window.visualViewport is of type: undefined.5 window.visualViewport is of type: object. 6 6 7 7 8 FAIL window.visualViewport is an object assert_equals: expected "object" but got "undefined" 9 FAIL window.visualViewport has type `VisualViewport` undefined is not an object (evaluating 'window.visualViewport.toString') 8 PASS window.visualViewport is an object 9 PASS window.visualViewport has type `VisualViewport` 10 10 -
trunk/LayoutTests/imported/w3c/web-platform-tests/viewport/viewport-unscaled-scale-expected.txt
r222307 r225093 1 CONSOLE MESSAGE: line 24: TypeError: undefined is not an object (evaluating 'window.visualViewport.scale')2 1 Viewport: Unscaled scale 3 2 4 3 Test Description: This test checks that the default value for scale is 1. 5 4 6 window.visualViewport.scale is .5 window.visualViewport.scale is 1. 7 6 8 7 9 Harness Error (FAIL), message = TypeError: undefined is not an object (evaluating 'window.visualViewport.scale') 8 PASS visualViewport.scale default value. 10 9 11 FAIL visualViewport.scale default value. undefined is not an object (evaluating 'window.visualViewport.scale')12 -
trunk/LayoutTests/imported/w3c/web-platform-tests/viewport/viewport-unscaled-scale-iframe-expected.txt
r222307 r225093 1 CONSOLE MESSAGE: line 31: TypeError: undefined is not an object (evaluating 'frames[0].window.visualViewport.scale')2 1 Viewport: Unscaled scale iframe 3 2 … … 5 4 6 5 7 iframe's window.visualViewport.scale is .6 iframe's window.visualViewport.scale is 1. 8 7 9 8 10 Harness Error (FAIL), message = TypeError: undefined is not an object (evaluating 'frames[0].window.visualViewport.scale') 9 PASS iframe's visualViewport.scale default value. 11 10 12 FAIL iframe's visualViewport.scale default value. undefined is not an object (evaluating 'frames[0].window.visualViewport.scale')13 -
trunk/LayoutTests/imported/w3c/web-platform-tests/viewport/viewport-unscaled-scroll-expected.txt
r222307 r225093 1 CONSOLE MESSAGE: line 40: TypeError: undefined is not an object (evaluating 'window.visualViewport.offsetLeft')2 1 Viewport: Scroll - no page scale 3 2 4 3 Test Description: This test checks that window.visualViewport returns correct offset and scroll values without any pinch-zoom page scale applied. 5 4 6 window.visualViewport's offsetLeft and offsetTop is ( ).5 window.visualViewport's offsetLeft and offsetTop is (0, 0). 7 6 8 window.visualViewport's pageLeft and pageTop is ( ).7 window.visualViewport's pageLeft and pageTop is (1000, 1200). 9 8 10 9 11 Harness Error (FAIL), message = TypeError: undefined is not an object (evaluating 'window.visualViewport.offsetLeft') 10 PASS offsetLeft must be 0. 11 PASS offsetTop must be 0. 12 PASS pageLeft must reflect location of viewport in document. 13 PASS pageTop must reflect location of viewport in document. 12 14 13 FAIL offsetLeft must be 0. undefined is not an object (evaluating 'window.visualViewport.offsetLeft')14 FAIL offsetTop must be 0. undefined is not an object (evaluating 'window.visualViewport.offsetTop')15 FAIL pageLeft must reflect location of viewport in document. undefined is not an object (evaluating 'window.visualViewport.pageLeft')16 FAIL pageTop must reflect location of viewport in document. undefined is not an object (evaluating 'window.visualViewport.pageTop')17 -
trunk/LayoutTests/imported/w3c/web-platform-tests/viewport/viewport-unscaled-scroll-iframe-expected.txt
r222307 r225093 1 CONSOLE MESSAGE: line 51: TypeError: undefined is not an object (evaluating 'iframe.visualViewport.offsetLeft')2 1 Viewport: Scroll in iframe - no page scale 3 2 … … 5 4 6 5 7 frames[0].window.visualViewport's offsetLeft and offsetTop is ( ).6 frames[0].window.visualViewport's offsetLeft and offsetTop is (0, 0). 8 7 9 frames[0].window.visualViewport's pageLeft and pageTop is ( ).8 frames[0].window.visualViewport's pageLeft and pageTop is (1000, 1200). 10 9 11 10 12 Harness Error (FAIL), message = TypeError: undefined is not an object (evaluating 'iframe.visualViewport.offsetLeft') 11 PASS offsetLeft must be 0. 12 PASS offsetTop must be 0. 13 PASS pageLeft must reflect location of viewport in document. 14 PASS pageTop must reflect location of viewport in document. 13 15 14 FAIL offsetLeft must be 0. undefined is not an object (evaluating 'iframe.visualViewport.offsetLeft')15 FAIL offsetTop must be 0. undefined is not an object (evaluating 'iframe.visualViewport.offsetTop')16 FAIL pageLeft must reflect location of viewport in document. undefined is not an object (evaluating 'iframe.visualViewport.pageLeft')17 FAIL pageTop must reflect location of viewport in document. undefined is not an object (evaluating 'iframe.visualViewport.pageTop')18 -
trunk/LayoutTests/imported/w3c/web-platform-tests/viewport/viewport-unscaled-size-expected.txt
r222307 r225093 1 CONSOLE MESSAGE: line 36: TypeError: undefined is not an object (evaluating 'window.visualViewport.width')2 1 Viewport: Size unscaled 3 2 4 3 Test Description: This test checks that window.visualViewport returns correct sizes without any pinch-zoom page scale applied. 5 4 6 window.visualViewport width and height is ( ).5 window.visualViewport width and height is (800, 600). 7 6 8 window.visualViewport width and height when scrollbars are present is ( ).7 window.visualViewport width and height when scrollbars are present is (785, 585). 9 8 10 9 11 Harness Error (FAIL), message = TypeError: undefined is not an object (evaluating 'window.visualViewport.width') 10 PASS visualViewport.width should match documentElement.clientWidth when unzoomed. 11 PASS visualViewport.height should match documentElement.clientHeight when unzoomed. 12 PASS visualViewport.width should exclude scrollbar. 13 PASS visualViewport.height should exclude scrollbar. 12 14 13 FAIL visualViewport.width should match documentElement.clientWidth when unzoomed. undefined is not an object (evaluating 'window.visualViewport.width')14 FAIL visualViewport.height should match documentElement.clientHeight when unzoomed. undefined is not an object (evaluating 'window.visualViewport.height')15 -
trunk/LayoutTests/imported/w3c/web-platform-tests/viewport/viewport-unscaled-size-iframe-expected.txt
r222307 r225093 1 CONSOLE MESSAGE: line 38: TypeError: undefined is not an object (evaluating 'frames[0].window.visualViewport.width')2 1 Viewport: Size in iframe - no page scale 3 2 … … 5 4 6 5 7 frames[0].window.visualViewport width and height is ( ).6 frames[0].window.visualViewport width and height is (200, 300). 8 7 9 frames[0].window.visualViewport width and height when scrollbars are present is ( ).8 frames[0].window.visualViewport width and height when scrollbars are present is (185, 285). 10 9 11 10 12 Harness Error (FAIL), message = TypeError: undefined is not an object (evaluating 'frames[0].window.visualViewport.width') 11 PASS window.visualViewport.width of iframe viewport should match iframe width. 12 PASS window.visualViewport.height of iframe viewport should match iframe height. 13 PASS window.visualViewport.width of iframe viewport should not include scrollbar. 14 PASS window.visualViewport.height of iframe viewport should not include scrollbar. 13 15 14 FAIL window.visualViewport.width of iframe viewport should match iframe width. undefined is not an object (evaluating 'frames[0].window.visualViewport.width')15 FAIL window.visualViewport.height of iframe viewport should match iframe height. undefined is not an object (evaluating 'frames[0].window.visualViewport.height')16 -
trunk/LayoutTests/platform/gtk/TestExpectations
r225085 r225093 979 979 # Skip tests requiring UIScriptController::zoomToScale 980 980 webkit.org/b/168050 fast/visual-viewport/rtl-zoomed-rects.html [ Skip ] 981 webkit.org/b/168050 fast/visual-viewport/viewport-dimensions-exclude-custom-scrollbars.html [ Skip ] 982 webkit.org/b/168050 fast/visual-viewport/viewport-dimensions-exclude-scrollbars.html [ Skip ] 983 webkit.org/b/168050 fast/visual-viewport/viewport-dimensions-iframe.html [ Skip ] 984 webkit.org/b/168050 fast/visual-viewport/viewport-dimensions-under-page-zoom.html [ Skip ] 985 webkit.org/b/168050 fast/visual-viewport/viewport-dimensions.html [ Skip ] 981 986 webkit.org/b/168050 fast/visual-viewport/zoomed-fixed-header-and-footer.html [ Skip ] 982 987 webkit.org/b/168050 fast/visual-viewport/zoomed-fixed-scroll-down-then-up.html [ Skip ] -
trunk/LayoutTests/platform/mac-wk1/TestExpectations
r224883 r225093 245 245 fast/scrolling/scroll-animator-overlay-scrollbars-clicked.html [ Skip ] 246 246 fast/scrolling/scroll-animator-overlay-scrollbars-hovered.html [ Skip ] 247 248 # WK1 main frame scrollbars are native widgets whose size is unaffected by webkit-scrollbar. 249 fast/visual-viewport/viewport-dimensions-exclude-custom-scrollbars.html [ Skip ] 247 250 248 251 # This hit-test test doesn't work on DRT -
trunk/Source/WebCore/CMakeLists.txt
r225050 r225093 786 786 page/Screen.idl 787 787 page/ScrollToOptions.idl 788 page/VisualViewport.idl 788 789 page/WebKitPoint.idl 789 790 page/WindowEventHandlers.idl -
trunk/Source/WebCore/ChangeLog
r225092 r225093 1 2017-11-21 Ali Juma <ajuma@chromium.org> 2 3 Implement VisualViewport API attributes 4 https://bugs.webkit.org/show_bug.cgi?id=179385 5 6 Reviewed by Frédéric Wang. 7 8 Add a visualViewport attribute to Window, and implement the VisualViewport 9 interface (https://wicg.github.io/visual-viewport/#the-visualviewport-interface). 10 11 This is behind a newly-added VisualViewportAPI experimental feature flag. 12 13 Tests: fast/visual-viewport/viewport-dimensions-exclude-custom-scrollbars.html 14 fast/visual-viewport/viewport-dimensions-exclude-scrollbars.html 15 fast/visual-viewport/viewport-dimensions-iframe.html 16 fast/visual-viewport/viewport-dimensions-under-page-zoom.html 17 fast/visual-viewport/viewport-dimensions.html 18 19 * CMakeLists.txt: 20 * DerivedSources.cpp: 21 * DerivedSources.make: 22 * Sources.txt: 23 * WebCore.xcodeproj/project.pbxproj: 24 * bindings/js/WebCoreBuiltinNames.h: 25 * dom/EventTargetFactory.in: 26 * page/DOMWindow.cpp: 27 (WebCore::DOMWindow::~DOMWindow): 28 (WebCore::DOMWindow::resetDOMWindowProperties): 29 (WebCore::DOMWindow::visualViewport const): 30 * page/DOMWindow.h: 31 * page/DOMWindow.idl: 32 * page/Settings.yaml: 33 * page/VisualViewport.cpp: Added. 34 (WebCore::VisualViewport::VisualViewport): 35 (WebCore::VisualViewport::eventTargetInterface const): 36 (WebCore::VisualViewport::scriptExecutionContext const): 37 (WebCore::getFrameViewAndLayoutIfNonNull): 38 (WebCore::VisualViewport::offsetLeft const): 39 (WebCore::VisualViewport::offsetTop const): 40 (WebCore::VisualViewport::pageLeft const): 41 (WebCore::VisualViewport::pageTop const): 42 (WebCore::VisualViewport::width const): 43 (WebCore::VisualViewport::height const): 44 (WebCore::VisualViewport::scale const): 45 * page/VisualViewport.h: Added. 46 * page/VisualViewport.idl: Added. 47 1 48 2017-11-21 Frederic Wang <fwang@igalia.com> 2 49 -
trunk/Source/WebCore/DerivedSources.cpp
r224871 r225093 614 614 #include "JSValidityState.cpp" 615 615 #include "JSVideoPlaybackQuality.cpp" 616 #include "JSVisualViewport.cpp" 616 617 #include "JSVoidCallback.cpp" 617 618 #include "JSWaveShaperNode.cpp" -
trunk/Source/WebCore/DerivedSources.make
r225027 r225093 756 756 $(WebCore)/page/UserMessageHandler.idl \ 757 757 $(WebCore)/page/UserMessageHandlersNamespace.idl \ 758 $(WebCore)/page/VisualViewport.idl \ 758 759 $(WebCore)/page/WebKitNamespace.idl \ 759 760 $(WebCore)/page/WebKitPoint.idl \ -
trunk/Source/WebCore/Sources.txt
r225009 r225093 1337 1337 page/UserContentURLPattern.cpp 1338 1338 page/VisitedLinkStore.cpp 1339 page/VisualViewport.cpp 1339 1340 page/WheelEventDeltaFilter.cpp 1340 1341 page/WheelEventTestTrigger.cpp … … 2942 2943 JSVideoPlaybackQuality.cpp 2943 2944 JSVisibilityState.cpp 2945 JSVisualViewport.cpp 2944 2946 JSVoidCallback.cpp 2945 2947 JSWaveShaperNode.cpp -
trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj
r225087 r225093 1890 1890 7728694F14F8882500F484DC /* EXTTextureFilterAnisotropic.h in Headers */ = {isa = PBXBuildFile; fileRef = 7728694C14F8882500F484DC /* EXTTextureFilterAnisotropic.h */; }; 1891 1891 7728698414FD9ADA00F484DC /* JSEXTTextureFilterAnisotropic.h in Headers */ = {isa = PBXBuildFile; fileRef = 7728698214FD9ADA00F484DC /* JSEXTTextureFilterAnisotropic.h */; }; 1892 7779BD951F312D0100C21417 /* VisualViewport.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7779BD941F3117B700C21417 /* VisualViewport.cpp */; }; 1893 7779BD961F32246A00C21417 /* JSVisualViewport.h in Headers */ = {isa = PBXBuildFile; fileRef = 7779BD921F2FDBF700C21417 /* JSVisualViewport.h */; }; 1894 7779BD971F32246D00C21417 /* JSVisualViewport.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7779BD911F2FDBCE00C21417 /* JSVisualViewport.cpp */; }; 1892 1895 77A17A7112F28182004E02F6 /* OESVertexArrayObject.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 77A17A6E12F28182004E02F6 /* OESVertexArrayObject.cpp */; }; 1893 1896 77A17A7212F28182004E02F6 /* OESVertexArrayObject.h in Headers */ = {isa = PBXBuildFile; fileRef = 77A17A6F12F28182004E02F6 /* OESVertexArrayObject.h */; }; … … 8816 8819 77534FF31ED4C99F00A9646E /* JSPasswordCredentialData.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSPasswordCredentialData.cpp; sourceTree = "<group>"; }; 8817 8820 77534FF41ED4C99F00A9646E /* JSPasswordCredentialData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSPasswordCredentialData.h; sourceTree = "<group>"; }; 8821 7779BD911F2FDBCE00C21417 /* JSVisualViewport.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSVisualViewport.cpp; sourceTree = "<group>"; }; 8822 7779BD921F2FDBF700C21417 /* JSVisualViewport.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSVisualViewport.h; sourceTree = "<group>"; }; 8823 7779BD931F2FDFCB00C21417 /* VisualViewport.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VisualViewport.h; sourceTree = "<group>"; }; 8824 7779BD941F3117B700C21417 /* VisualViewport.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = VisualViewport.cpp; sourceTree = "<group>"; }; 8818 8825 77A17A6E12F28182004E02F6 /* OESVertexArrayObject.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = OESVertexArrayObject.cpp; sourceTree = "<group>"; }; 8819 8826 77A17A6F12F28182004E02F6 /* OESVertexArrayObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OESVertexArrayObject.h; sourceTree = "<group>"; }; … … 8832 8839 77AAD6831ECFB66200BFA2D1 /* CredentialCreationOptions.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = CredentialCreationOptions.idl; sourceTree = "<group>"; }; 8833 8840 77AAD6851ECFBD3900BFA2D1 /* CredentialCreationOptions.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = CredentialCreationOptions.h; sourceTree = "<group>"; }; 8841 77CAAAEF1F2FC35000CB5C8D /* VisualViewport.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = VisualViewport.idl; sourceTree = "<group>"; }; 8834 8842 77CD167D1ED3BDB8009E9536 /* FederatedCredentialInit.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = FederatedCredentialInit.idl; sourceTree = "<group>"; }; 8835 8843 77CD167E1ED3BE11009E9536 /* FederatedCredentialInit.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = FederatedCredentialInit.h; sourceTree = "<group>"; }; … … 18595 18603 1AF4CEEB18BC3C1B00BC2D34 /* VisitedLinkStore.cpp */, 18596 18604 1ABA7FFF1897341200DCE9D6 /* VisitedLinkStore.h */, 18605 7779BD941F3117B700C21417 /* VisualViewport.cpp */, 18606 7779BD931F2FDFCB00C21417 /* VisualViewport.h */, 18607 77CAAAEF1F2FC35000CB5C8D /* VisualViewport.idl */, 18597 18608 BE983D95052A2E0A00892D85 /* WebCoreKeyboardUIMode.h */, 18598 18609 7C48A6CE191C9D6500026674 /* WebKitNamespace.cpp */, … … 21562 21573 46E791451F97E01700199739 /* JSVisibilityState.cpp */, 21563 21574 46E791461F97E01700199739 /* JSVisibilityState.h */, 21575 7779BD911F2FDBCE00C21417 /* JSVisualViewport.cpp */, 21576 7779BD921F2FDBF700C21417 /* JSVisualViewport.h */, 21564 21577 83F570AE1C53268E007FD6CB /* JSXMLDocument.cpp */, 21565 21578 83F570AD1C53268E007FD6CB /* JSXMLDocument.h */, … … 27963 27976 BE8EF04D171C9014009B48C3 /* JSVideoTrackList.h in Headers */, 27964 27977 46E791491F97E01A00199739 /* JSVisibilityState.h in Headers */, 27978 7779BD961F32246A00C21417 /* JSVisualViewport.h in Headers */, 27965 27979 2DDE1CE41F574AE900D1A365 /* JSVRDisplay.h in Headers */, 27966 27980 2DDE1CF81F574C3900D1A365 /* JSVRDisplayCapabilities.h in Headers */, -
trunk/Source/WebCore/bindings/js/WebCoreBuiltinNames.h
r224871 r225093 142 142 macro(VRFrameData) \ 143 143 macro(VRStageParameters) \ 144 macro(VisualViewport) \ 144 145 macro(WebGL2RenderingContext) \ 145 146 macro(WebGLVertexArrayObject) \ … … 280 281 macro(underlyingSource) \ 281 282 macro(view) \ 283 macro(visualViewport) \ 282 284 macro(webRTCLegacyAPIEnabled) \ 283 285 macro(webkit) \ -
trunk/Source/WebCore/dom/EventTargetFactory.in
r224407 r225093 44 44 VRDisplay 45 45 VideoTrackList conditional=VIDEO_TRACK 46 VisualViewport 46 47 WebKitMediaKeySession conditional=LEGACY_ENCRYPTED_MEDIA 47 48 WebSocket -
trunk/Source/WebCore/page/DOMWindow.cpp
r224740 r225093 102 102 #include "URL.h" 103 103 #include "UserGestureIndicator.h" 104 #include "VisualViewport.h" 104 105 #include "WebKitPoint.h" 105 106 #include "WindowFeatures.h" … … 425 426 ASSERT(!m_localStorage); 426 427 ASSERT(!m_applicationCache); 428 ASSERT(!m_visualViewport); 427 429 } 428 430 #endif … … 587 589 m_toolbar = nullptr; 588 590 m_performance = nullptr; 591 m_visualViewport = nullptr; 589 592 } 590 593 … … 798 801 m_location = Location::create(m_frame); 799 802 return m_location.get(); 803 } 804 805 VisualViewport* DOMWindow::visualViewport() const 806 { 807 if (!isCurrentlyDisplayedInFrame()) 808 return nullptr; 809 if (!m_visualViewport) 810 m_visualViewport = VisualViewport::create(m_frame); 811 return m_visualViewport.get(); 800 812 } 801 813 -
trunk/Source/WebCore/page/DOMWindow.h
r224740 r225093 78 78 class Storage; 79 79 class StyleMedia; 80 class VisualViewport; 80 81 class WebKitNamespace; 81 82 class WebKitPoint; … … 243 244 void resizeBy(float x, float y) const; 244 245 void resizeTo(float width, float height) const; 246 247 VisualViewport* visualViewport() const; 245 248 246 249 // Timers … … 385 388 mutable RefPtr<BarProp> m_toolbar; 386 389 mutable RefPtr<Location> m_location; 390 mutable RefPtr<VisualViewport> m_visualViewport; 387 391 388 392 String m_status; -
trunk/Source/WebCore/page/DOMWindow.idl
r222454 r225093 134 134 void scrollBy(unrestricted double x, unrestricted double y); 135 135 136 // Visual Viewport (https://wicg.github.io/ViewportAPI/spec.html) 137 [EnabledBySetting=VisualViewportAPI, Replaceable] readonly attribute VisualViewport visualViewport; // FIXME: Should be [SameObject]. https://bugs.webkit.org/show_bug.cgi?id=163414 138 136 139 // Client (CSSOM-View). 137 140 [Replaceable] readonly attribute long screenX; -
trunk/Source/WebCore/page/Settings.yaml
r224707 r225093 524 524 onChange: setNeedsRecalcStyleInAllFrames 525 525 526 visualViewportAPIEnabled: 527 initial: false 528 526 529 inputEventsEnabled: 527 530 initial: true -
trunk/Source/WebKit/ChangeLog
r225087 r225093 1 2017-11-21 Ali Juma <ajuma@chromium.org> 2 3 Implement VisualViewport API attributes 4 https://bugs.webkit.org/show_bug.cgi?id=179385 5 6 Reviewed by Frédéric Wang. 7 8 Add a VisualViewportAPI experimental feature. 9 10 * Shared/WebPreferences.yaml: 11 1 12 2017-11-21 Christopher Reid <chris.reid@sony.com> 2 13 -
trunk/Source/WebKit/Shared/WebPreferences.yaml
r224871 r225093 1123 1123 category: experimental 1124 1124 1125 VisualViewportAPIEnabled: 1126 type: bool 1127 defaultValue: false 1128 humanReadableName: "VisualViewportAPI" 1129 humanReadableDescription: "Enable Visual Viewport API" 1130 category: experimental 1131 1125 1132 WebAnimationsEnabled: 1126 1133 type: bool -
trunk/Source/WebKitLegacy/mac/ChangeLog
r225087 r225093 1 2017-11-21 Ali Juma <ajuma@chromium.org> 2 3 Implement VisualViewport API attributes 4 https://bugs.webkit.org/show_bug.cgi?id=179385 5 6 Reviewed by Frédéric Wang. 7 8 Add a VisualViewportAPI preference. 9 10 * WebView/WebPreferenceKeysPrivate.h: 11 * WebView/WebPreferences.mm: 12 (+[WebPreferences initialize]): 13 (-[WebPreferences visualViewportAPIEnabled]): 14 (-[WebPreferences setVisualViewportAPIEnabled:]): 15 * WebView/WebPreferencesPrivate.h: 16 * WebView/WebView.mm: 17 (-[WebView _preferencesChanged:]): 18 1 19 2017-11-21 Christopher Reid <chris.reid@sony.com> 2 20 -
trunk/Source/WebKitLegacy/mac/WebView/WebPreferenceKeysPrivate.h
r224871 r225093 181 181 #define WebKitCSSGridLayoutEnabledPreferenceKey @"WebKitCSSGridLayoutEnabled" 182 182 #define WebKitVisualViewportEnabledPreferenceKey @"WebKitVisualViewportEnabled" 183 #define WebKitVisualViewportAPIEnabledPreferenceKey @"WebKitVisualViewportAPIEnabled" 183 184 #define WebKitModernMediaControlsEnabledPreferenceKey @"WebKitModernMediaControlsEnabled" 184 185 #define WebKitSubtleCryptoEnabledPreferenceKey @"WebKitSubtleCryptoEnabled" -
trunk/Source/WebKitLegacy/mac/WebView/WebPreferences.mm
r224871 r225093 651 651 [NSNumber numberWithBool:YES], WebKitVisualViewportEnabledPreferenceKey, 652 652 #endif 653 [NSNumber numberWithBool:NO], WebKitVisualViewportAPIEnabledPreferenceKey, 653 654 654 655 [NSNumber numberWithBool:YES], WebKitNeedsStorageAccessFromFileURLsQuirkKey, … … 3076 3077 } 3077 3078 3079 - (BOOL)visualViewportAPIEnabled 3080 { 3081 return [self _boolValueForKey:WebKitVisualViewportAPIEnabledPreferenceKey]; 3082 } 3083 3084 - (void)setVisualViewportAPIEnabled:(BOOL)flag 3085 { 3086 [self _setBoolValue:flag forKey:WebKitVisualViewportAPIEnabledPreferenceKey]; 3087 } 3078 3088 - (BOOL)webAnimationsEnabled 3079 3089 { -
trunk/Source/WebKitLegacy/mac/WebView/WebPreferencesPrivate.h
r224871 r225093 575 575 576 576 @property (nonatomic) BOOL visualViewportEnabled; 577 @property (nonatomic) BOOL visualViewportAPIEnabled; 577 578 @property (nonatomic) BOOL largeImageAsyncDecodingEnabled; 578 579 @property (nonatomic) BOOL animatedImageAsyncDecodingEnabled; -
trunk/Source/WebKitLegacy/mac/WebView/WebView.mm
r224871 r225093 2861 2861 2862 2862 settings.setVisualViewportEnabled([preferences visualViewportEnabled]); 2863 settings.setVisualViewportAPIEnabled([preferences visualViewportAPIEnabled]); 2863 2864 settings.setMediaContentTypesRequiringHardwareSupport([preferences mediaContentTypesRequiringHardwareSupport]); 2864 2865 -
trunk/Source/WebKitLegacy/win/ChangeLog
r224823 r225093 1 2017-11-21 Ali Juma <ajuma@chromium.org> 2 3 Implement VisualViewport API attributes 4 https://bugs.webkit.org/show_bug.cgi?id=179385 5 6 Reviewed by Frédéric Wang. 7 8 Add a VisualViewportAPI preference. 9 10 * Interfaces/IWebPreferencesPrivate.idl: 11 * WebPreferenceKeysPrivate.h: 12 * WebPreferences.cpp: 13 (WebPreferences::initializeDefaultSettings): 14 (WebPreferences::visualViewportAPIEnabled): 15 (WebPreferences::setVisualViewportAPIEnabled): 16 * WebPreferences.h: 17 * WebView.cpp: 18 (WebView::notifyPreferencesChanged): 19 1 20 2017-11-14 Alex Christensen <achristensen@webkit.org> 2 21 -
trunk/Source/WebKitLegacy/win/Interfaces/IWebPreferencesPrivate.idl
r221746 r225093 218 218 HRESULT inspectorAdditionsEnabled([out, retval] BOOL*); 219 219 HRESULT setInspectorAdditionsEnabled([in] BOOL enabled); 220 } 220 HRESULT visualViewportAPIEnabled([out, retval] BOOL*); 221 HRESULT setVisualViewportAPIEnabled([in] BOOL enabled); 222 } -
trunk/Source/WebKitLegacy/win/WebPreferenceKeysPrivate.h
r221746 r225093 192 192 193 193 #define WebKitInspectorAdditionsEnabledPreferenceKey "WebKitInspectorAdditionsEnabled" 194 195 #define WebKitVisualViewportAPIEnabledPreferenceKey "WebKitVisualViewportAPIEnabled" -
trunk/Source/WebKitLegacy/win/WebPreferences.cpp
r224371 r225093 323 323 CFDictionaryAddValue(defaults, CFSTR(WebKitInspectorAdditionsEnabledPreferenceKey), kCFBooleanFalse); 324 324 325 CFDictionaryAddValue(defaults, CFSTR(WebKitVisualViewportAPIEnabledPreferenceKey), kCFBooleanFalse); 326 325 327 defaultSettings = defaults; 326 328 } … … 2094 2096 } 2095 2097 2098 HRESULT WebPreferences::visualViewportAPIEnabled(_Out_ BOOL* enabled) 2099 { 2100 if (!enabled) 2101 return E_POINTER; 2102 *enabled = boolValueForKey(WebKitVisualViewportAPIEnabledPreferenceKey); 2103 return S_OK; 2104 } 2105 2106 HRESULT WebPreferences::setVisualViewportAPIEnabled(BOOL enabled) 2107 { 2108 setBoolValue(WebKitVisualViewportAPIEnabledPreferenceKey, enabled); 2109 return S_OK; 2110 } 2111 2096 2112 HRESULT WebPreferences::setApplicationId(BSTR applicationId) 2097 2113 { -
trunk/Source/WebKitLegacy/win/WebPreferences.h
r221746 r225093 266 266 virtual HRESULT STDMETHODCALLTYPE inspectorAdditionsEnabled(_Out_ BOOL*); 267 267 virtual HRESULT STDMETHODCALLTYPE setInspectorAdditionsEnabled(BOOL); 268 virtual HRESULT STDMETHODCALLTYPE visualViewportAPIEnabled(_Out_ BOOL*); 269 virtual HRESULT STDMETHODCALLTYPE setVisualViewportAPIEnabled(BOOL); 268 270 269 271 // WebPreferences -
trunk/Source/WebKitLegacy/win/WebView.cpp
r224740 r225093 5244 5244 RuntimeEnabledFeatures::sharedFeatures().setInspectorAdditionsEnabled(!!enabled); 5245 5245 5246 hr = prefsPrivate->visualViewportAPIEnabled(&enabled); 5247 if (FAILED(hr)) 5248 return hr; 5249 settings.setVisualViewportAPIEnabled(!!enabled); 5250 5246 5251 hr = preferences->privateBrowsingEnabled(&enabled); 5247 5252 if (FAILED(hr)) -
trunk/Tools/ChangeLog
r225080 r225093 1 2017-11-21 Ali Juma <ajuma@chromium.org> 2 3 Implement VisualViewport API attributes 4 https://bugs.webkit.org/show_bug.cgi?id=179385 5 6 Reviewed by Frédéric Wang. 7 8 Enable the VisualViewportAPI in layout tests. 9 10 * DumpRenderTree/mac/DumpRenderTree.mm: 11 (enableExperimentalFeatures): 12 * DumpRenderTree/win/DumpRenderTree.cpp: 13 (enableExperimentalFeatures): 14 1 15 2017-11-21 Carlos Garcia Campos <cgarcia@igalia.com> 2 16 -
trunk/Tools/DumpRenderTree/mac/DumpRenderTree.mm
r224871 r225093 857 857 preferences.encryptedMediaAPIEnabled = YES; 858 858 [preferences setAccessibilityObjectModelEnabled:YES]; 859 [preferences setVisualViewportAPIEnabled:YES]; 859 860 } 860 861 -
trunk/Tools/DumpRenderTree/win/DumpRenderTree.cpp
r224371 r225093 773 773 static void enableExperimentalFeatures(IWebPreferences* preferences) 774 774 { 775 COMPtr<IWebPreferencesPrivate 5> prefsPrivate { Query, preferences };775 COMPtr<IWebPreferencesPrivate6> prefsPrivate { Query, preferences }; 776 776 777 777 // FIXME: CSSGridLayout … … 783 783 // FIXME: InputEvents 784 784 // FIXME: SubtleCrypto 785 prefsPrivate->setVisualViewportAPIEnabled(TRUE); 785 786 prefsPrivate->setWebAnimationsEnabled(TRUE); 786 787 // FIXME: WebGL2
Note: See TracChangeset
for help on using the changeset viewer.