Changeset 196688 in webkit
- Timestamp:
- Feb 16, 2016 11:16:40 PM (8 years ago)
- Location:
- trunk
- Files:
-
- 13 added
- 22 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r196676 r196688 1 2016-02-16 Carlos Garcia Campos <cgarcia@igalia.com> 2 3 Add a way to test ScrollAnimator 4 https://bugs.webkit.org/show_bug.cgi?id=153479 5 6 Reviewed by Michael Catanzaro. 7 8 * compositing/overflow/overflow-scrollbar-layer-positions-expected.txt: 9 * fast/scrolling/overlay-scrollbars-scroll-corner-expected.html: Added. 10 * fast/scrolling/overlay-scrollbars-scroll-corner.html: Added. 11 * fast/scrolling/scroll-animator-basic-events-expected.txt: Added. 12 * fast/scrolling/scroll-animator-basic-events.html: Added. 13 * fast/scrolling/scroll-animator-overlay-scrollbars-hovered-expected.txt: Added. 14 * fast/scrolling/scroll-animator-overlay-scrollbars-hovered.html: Added. 15 * fast/scrolling/scroll-animator-select-list-events-expected.txt: Added. 16 * fast/scrolling/scroll-animator-select-list-events.html: Added. 17 * fast/scrolling/scrollbar-tickmarks-hittest.html: 18 * platform/mac-wk1/TestExpectations: 19 * platform/mac-wk1/fast/scrolling/scroll-animator-basic-events-expected.txt: Added. 20 * platform/mac-wk1/fast/scrolling/scroll-animator-select-list-events-expected.txt: Added. 21 1 22 2016-02-16 Gavin Barraclough <barraclough@apple.com> 2 23 -
trunk/LayoutTests/compositing/overflow/overflow-scrollbar-layer-positions-expected.txt
r168244 r196688 12 12 (bounds 244.00 244.00) 13 13 (drawsContent 1) 14 (children 1 15 (GraphicsLayer 16 (position 207.00 22.00) 17 (bounds 15.00 200.00) 18 (drawsContent 1) 19 ) 20 ) 14 21 ) 15 22 ) -
trunk/LayoutTests/fast/scrolling/scrollbar-tickmarks-hittest.html
r155272 r196688 14 14 range.selectNodeContents(elt); 15 15 if (window.internals) { 16 window.internals.setUsesOverlayScrollbars(true);17 16 window.internals.addTextMatchMarker(range, true); 18 17 } -
trunk/LayoutTests/platform/mac-wk1/TestExpectations
r196665 r196688 254 254 inspector/script-profiler/event-type-API.html 255 255 256 # This test checks ScrollAnimator events only for main frame scrollbars that use native widgets in WK1. 257 fast/scrolling/scroll-animator-overlay-scrollbars-hovered.html [ Skip ] 258 256 259 ######################################## 257 260 ### START OF (3) IndexedDB failures with SQLite -
trunk/Source/WebCore/CMakeLists.txt
r196636 r196688 2315 2315 platform/mock/RTCNotifiersMock.cpp 2316 2316 platform/mock/RTCPeerConnectionHandlerMock.cpp 2317 platform/mock/ScrollAnimatorMock.cpp 2317 2318 platform/mock/ScrollbarThemeMock.cpp 2318 2319 -
trunk/Source/WebCore/ChangeLog
r196687 r196688 1 2016-02-16 Carlos Garcia Campos <cgarcia@igalia.com> 2 3 Add a way to test ScrollAnimator 4 https://bugs.webkit.org/show_bug.cgi?id=153479 5 6 Reviewed by Michael Catanzaro. 7 8 Tests: fast/scrolling/overlay-scrollbars-scroll-corner.html 9 fast/scrolling/scroll-animator-basic-events.html 10 fast/scrolling/scroll-animator-overlay-scrollbars-hovered.html 11 fast/scrolling/scroll-animator-select-list-events.html 12 13 * CMakeLists.txt: 14 * WebCore.xcodeproj/project.pbxproj: 15 * page/FrameView.cpp: 16 (WebCore::FrameView::usesMockScrollAnimator): 17 (WebCore::FrameView::logMockScrollAnimatorMessage): 18 * page/FrameView.h: 19 * page/Settings.cpp: 20 (WebCore::Settings::setUsesMockScrollAnimator): 21 (WebCore::Settings::usesMockScrollAnimator): 22 * page/Settings.h: 23 * platform/ScrollableArea.cpp: 24 (WebCore::ScrollableArea::scrollAnimator): 25 * platform/ScrollableArea.h: 26 (WebCore::ScrollableArea::usesMockScrollAnimator): 27 (WebCore::ScrollableArea::logMockScrollAnimatorMessage): 28 * platform/mock/ScrollAnimatorMock.cpp: Added. 29 (WebCore::ScrollAnimatorMock::create): 30 (WebCore::ScrollAnimatorMock::ScrollAnimatorMock): 31 (WebCore::ScrollAnimatorMock::~ScrollAnimatorMock): 32 (WebCore::ScrollAnimatorMock::didAddVerticalScrollbar): 33 (WebCore::ScrollAnimatorMock::didAddHorizontalScrollbar): 34 (WebCore::ScrollAnimatorMock::willRemoveVerticalScrollbar): 35 (WebCore::ScrollAnimatorMock::willRemoveHorizontalScrollbar): 36 (WebCore::ScrollAnimatorMock::mouseEnteredContentArea): 37 (WebCore::ScrollAnimatorMock::mouseMovedInContentArea): 38 (WebCore::ScrollAnimatorMock::mouseExitedContentArea): 39 (WebCore::ScrollAnimatorMock::mouseEnteredScrollbar): 40 (WebCore::ScrollAnimatorMock::mouseExitedScrollbar): 41 (WebCore::ScrollAnimatorMock::mouseIsDownInScrollbar): 42 * platform/mock/ScrollAnimatorMock.h: Added. 43 * platform/mock/ScrollbarThemeMock.cpp: 44 (WebCore::ScrollbarThemeMock::usesOverlayScrollbars): 45 * platform/mock/ScrollbarThemeMock.h: 46 * rendering/RenderLayer.cpp: 47 (WebCore::RenderLayer::usesMockScrollAnimator): 48 (WebCore::RenderLayer::logMockScrollAnimatorMessage): 49 * rendering/RenderLayer.h: 50 * rendering/RenderListBox.cpp: 51 (WebCore::RenderListBox::usesMockScrollAnimator): 52 (WebCore::RenderListBox::logMockScrollAnimatorMessage): 53 * rendering/RenderListBox.h: 54 * testing/Internals.cpp: 55 (WebCore::Internals::resetToConsistentState): 56 (WebCore::Internals::setUsesMockScrollAnimator): 57 * testing/Internals.h: 58 * testing/Internals.idl: 59 1 60 2016-02-16 Carlos Garcia Campos <cgarcia@igalia.com> 2 61 -
trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj
r196636 r196688 2373 2373 5C9A7A761AA0F6ED00958ACF /* DFABytecodeInterpreter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5C3930601AA0F6A90029C816 /* DFABytecodeInterpreter.cpp */; }; 2374 2374 5C9B860C1C21E3C900110F36 /* ResourceLoadTiming.mm in Sources */ = {isa = PBXBuildFile; fileRef = 5C9B860B1C21E3C600110F36 /* ResourceLoadTiming.mm */; }; 2375 5CB37FFE1C62D28C00F20188 /* ScrollAnimatorMock.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5CB37FFC1C62D27800F20188 /* ScrollAnimatorMock.cpp */; }; 2376 5CB37FFF1C62D2A100F20188 /* ScrollAnimatorMock.h in Headers */ = {isa = PBXBuildFile; fileRef = 5CB37FFD1C62D27800F20188 /* ScrollAnimatorMock.h */; }; 2375 2377 5CBC8DAC1AAA302200E1C803 /* MediaAccessibilitySoftLink.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5CBC8DAA1AAA302200E1C803 /* MediaAccessibilitySoftLink.cpp */; }; 2376 2378 5CBC8DAD1AAA302200E1C803 /* MediaAccessibilitySoftLink.h in Headers */ = {isa = PBXBuildFile; fileRef = 5CBC8DAB1AAA302200E1C803 /* MediaAccessibilitySoftLink.h */; }; … … 9935 9937 5C4304B4191AEF46000E2BC0 /* JSEXTShaderTextureLOD.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSEXTShaderTextureLOD.h; sourceTree = "<group>"; }; 9936 9938 5C9B860B1C21E3C600110F36 /* ResourceLoadTiming.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = ResourceLoadTiming.mm; sourceTree = "<group>"; }; 9939 5CB37FFC1C62D27800F20188 /* ScrollAnimatorMock.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ScrollAnimatorMock.cpp; sourceTree = "<group>"; }; 9940 5CB37FFD1C62D27800F20188 /* ScrollAnimatorMock.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ScrollAnimatorMock.h; sourceTree = "<group>"; }; 9937 9941 5CBC8DAA1AAA302200E1C803 /* MediaAccessibilitySoftLink.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MediaAccessibilitySoftLink.cpp; sourceTree = "<group>"; }; 9938 9942 5CBC8DAB1AAA302200E1C803 /* MediaAccessibilitySoftLink.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MediaAccessibilitySoftLink.h; sourceTree = "<group>"; }; … … 17412 17416 isa = PBXGroup; 17413 17417 children = ( 17418 5CB37FFC1C62D27800F20188 /* ScrollAnimatorMock.cpp */, 17419 5CB37FFD1C62D27800F20188 /* ScrollAnimatorMock.h */, 17414 17420 CDF2B005182053DF00F2B424 /* mediasource */, 17415 17421 59309A1011F4AE5800250603 /* DeviceOrientationClientMock.cpp */, … … 24966 24972 CD5596921475B678001D0BD0 /* AudioFileReaderIOS.h in Headers */, 24967 24973 FD3160BF12B0272A00C1A359 /* AudioFileReaderMac.h in Headers */, 24974 5CB37FFF1C62D2A100F20188 /* ScrollAnimatorMock.h in Headers */, 24968 24975 CD2F4A2418D89F700063746D /* AudioHardwareListener.h in Headers */, 24969 24976 CD2F4A2818D8A3490063746D /* AudioHardwareListenerMac.h in Headers */, … … 31375 31382 A182D5B71BE722670087A7CC /* SettingsCocoa.mm in Sources */, 31376 31383 0F3DD44F12F5EA1B000D9190 /* ShadowBlur.cpp in Sources */, 31384 5CB37FFE1C62D28C00F20188 /* ScrollAnimatorMock.cpp in Sources */, 31377 31385 BC5EB8C30E82031B00B25965 /* ShadowData.cpp in Sources */, 31378 31386 A6D169621346B49B000EB770 /* ShadowRoot.cpp in Sources */, -
trunk/Source/WebCore/page/FrameView.cpp
r196641 r196688 1632 1632 } 1633 1633 1634 bool FrameView::usesMockScrollAnimator() const 1635 { 1636 return Settings::usesMockScrollAnimator(); 1637 } 1638 1639 void FrameView::logMockScrollAnimatorMessage(const String& message) const 1640 { 1641 Document* document = frame().document(); 1642 if (!document) 1643 return; 1644 StringBuilder builder; 1645 if (frame().isMainFrame()) 1646 builder.appendLiteral("Main"); 1647 builder.appendLiteral("FrameView: "); 1648 builder.append(message); 1649 document->addConsoleMessage(MessageSource::Other, MessageLevel::Debug, builder.toString()); 1650 } 1651 1634 1652 void FrameView::setCannotBlitToWindow() 1635 1653 { -
trunk/Source/WebCore/page/FrameView.h
r196641 r196688 637 637 virtual bool usesCompositedScrolling() const override; 638 638 virtual bool usesAsyncScrolling() const override; 639 bool usesMockScrollAnimator() const override; 640 void logMockScrollAnimatorMessage(const String&) const override; 639 641 640 642 // Override scrollbar notifications to update the AXObject cache. -
trunk/Source/WebCore/page/Settings.cpp
r196622 r196688 85 85 bool Settings::gMockScrollbarsEnabled = false; 86 86 bool Settings::gUsesOverlayScrollbars = false; 87 bool Settings::gMockScrollAnimatorEnabled = false; 87 88 88 89 #if ENABLE(MEDIA_STREAM) … … 656 657 } 657 658 659 void Settings::setUsesMockScrollAnimator(bool flag) 660 { 661 gMockScrollAnimatorEnabled = flag; 662 } 663 664 bool Settings::usesMockScrollAnimator() 665 { 666 return gMockScrollAnimatorEnabled; 667 } 668 658 669 void Settings::setShouldRespectPriorityInCSSAttributeSetters(bool flag) 659 670 { -
trunk/Source/WebCore/page/Settings.h
r196622 r196688 217 217 static bool usesOverlayScrollbars(); 218 218 219 WEBCORE_EXPORT static void setUsesMockScrollAnimator(bool); 220 static bool usesMockScrollAnimator(); 221 219 222 #if ENABLE(TOUCH_EVENTS) 220 223 void setTouchEventEmulationEnabled(bool enabled) { m_touchEventEmulationEnabled = enabled; } … … 358 361 static bool gMockScrollbarsEnabled; 359 362 static bool gUsesOverlayScrollbars; 363 static bool gMockScrollAnimatorEnabled; 360 364 361 365 #if PLATFORM(WIN) -
trunk/Source/WebCore/platform/ScrollableArea.cpp
r194513 r196688 40 40 #include "PlatformWheelEvent.h" 41 41 #include "ScrollAnimator.h" 42 #include "ScrollAnimatorMock.h" 42 43 #include "ScrollbarTheme.h" 43 44 #include "TextStream.h" … … 76 77 ScrollAnimator& ScrollableArea::scrollAnimator() const 77 78 { 78 if (!m_scrollAnimator) 79 m_scrollAnimator = ScrollAnimator::create(const_cast<ScrollableArea&>(*this)); 79 if (!m_scrollAnimator) { 80 if (usesMockScrollAnimator()) { 81 m_scrollAnimator = std::make_unique<ScrollAnimatorMock>(const_cast<ScrollableArea&>(*this), [this](const String& message) { 82 logMockScrollAnimatorMessage(message); 83 }); 84 } else 85 m_scrollAnimator = ScrollAnimator::create(const_cast<ScrollableArea&>(*this)); 86 } 80 87 81 88 ASSERT(m_scrollAnimator); -
trunk/Source/WebCore/platform/ScrollableArea.h
r194515 r196688 308 308 void horizontalScrollbarLayerDidChange(); 309 309 310 virtual bool usesMockScrollAnimator() const { return false; } 311 virtual void logMockScrollAnimatorMessage(const String&) const { }; 312 310 313 protected: 311 314 WEBCORE_EXPORT ScrollableArea(); -
trunk/Source/WebCore/platform/mock/ScrollbarThemeMock.cpp
r192140 r196688 28 28 29 29 #include "Scrollbar.h" 30 // FIXME: This is a layering violation. 31 #include "Settings.h" 30 32 31 33 namespace WebCore { … … 54 56 } 55 57 58 bool ScrollbarThemeMock::usesOverlayScrollbars() const 59 { 60 // FIXME: This is a layering violation, but ScrollbarThemeMock is also created depending on settings in platform layer, 61 // we should fix it in both places. 62 return Settings::usesOverlayScrollbars(); 56 63 } 57 64 65 } 66 -
trunk/Source/WebCore/platform/mock/ScrollbarThemeMock.h
r185964 r196688 47 47 virtual void paintThumb(GraphicsContext&, Scrollbar&, const IntRect&) override; 48 48 virtual int maxOverlapBetweenPages() override { return 40; } 49 49 50 virtual bool usesOverlayScrollbars() const override; 50 51 private: 51 52 virtual bool isMockTheme() const override { return true; } -
trunk/Source/WebCore/rendering/RenderLayer.cpp
r196666 r196688 3227 3227 #endif 3228 3228 3229 bool RenderLayer::usesMockScrollAnimator() const 3230 { 3231 return Settings::usesMockScrollAnimator(); 3232 } 3233 3234 void RenderLayer::logMockScrollAnimatorMessage(const String& message) const 3235 { 3236 renderer().document().addConsoleMessage(MessageSource::Other, MessageLevel::Debug, "RenderLayer: " + message); 3237 } 3238 3229 3239 int RenderLayer::verticalScrollbarWidth(OverlayScrollbarSizeRelevancy relevancy) const 3230 3240 { -
trunk/Source/WebCore/rendering/RenderLayer.h
r196666 r196688 885 885 bool isScrollSnapInProgress() const override; 886 886 #endif 887 bool usesMockScrollAnimator() const override; 888 void logMockScrollAnimatorMessage(const String&) const override; 887 889 888 890 #if PLATFORM(IOS) -
trunk/Source/WebCore/rendering/RenderListBox.cpp
r196439 r196688 820 820 } 821 821 822 bool RenderListBox::usesMockScrollAnimator() const 823 { 824 return Settings::usesMockScrollAnimator(); 825 } 826 827 void RenderListBox::logMockScrollAnimatorMessage(const String& message) const 828 { 829 document().addConsoleMessage(MessageSource::Other, MessageLevel::Debug, "RenderListBox: " + message); 830 } 831 822 832 PassRefPtr<Scrollbar> RenderListBox::createScrollbar() 823 833 { -
trunk/Source/WebCore/rendering/RenderListBox.h
r196439 r196688 137 137 virtual bool hasScrollableOrRubberbandableAncestor() override; 138 138 virtual IntRect scrollableAreaBoundingBox(bool* = nullptr) const override; 139 bool usesMockScrollAnimator() const override; 140 void logMockScrollAnimatorMessage(const String&) const override; 139 141 140 142 // NOTE: This should only be called by the overriden setScrollOffset from ScrollableArea. -
trunk/Source/WebCore/testing/Internals.cpp
r196622 r196688 375 375 WebCore::overrideUserPreferredLanguages(Vector<String>()); 376 376 WebCore::Settings::setUsesOverlayScrollbars(false); 377 WebCore::Settings::setUsesMockScrollAnimator(false); 377 378 page->inspectorController().setLegacyProfilerEnabled(false); 378 379 #if ENABLE(VIDEO_TRACK) … … 2676 2677 } 2677 2678 2679 void Internals::setUsesMockScrollAnimator(bool enabled) 2680 { 2681 WebCore::Settings::setUsesMockScrollAnimator(enabled); 2682 } 2683 2678 2684 void Internals::forceReload(bool endToEnd) 2679 2685 { -
trunk/Source/WebCore/testing/Internals.h
r196622 r196688 347 347 348 348 void setUsesOverlayScrollbars(bool enabled); 349 void setUsesMockScrollAnimator(bool enabled); 349 350 350 351 String getCurrentCursorInfo(ExceptionCode&); -
trunk/Source/WebCore/testing/Internals.idl
r196622 r196688 348 348 349 349 void setUsesOverlayScrollbars(boolean enabled); 350 void setUsesMockScrollAnimator(boolean enabled); 350 351 351 352 void forceReload(boolean endToEnd);
Note: See TracChangeset
for help on using the changeset viewer.