TEST_F(ScrollableAreaTest, ScrollbarGraphicsLayerInvalidation) { ScrollbarTheme::setMockScrollbarsEnabled(true); OwnPtrWillBeRawPtr<MockScrollableArea> scrollableArea = MockScrollableArea::create(IntPoint(0, 100)); MockGraphicsLayerClient graphicsLayerClient; MockGraphicsLayer graphicsLayer(&graphicsLayerClient); graphicsLayer.setDrawsContent(true); graphicsLayer.setSize(FloatSize(111, 222)); EXPECT_CALL(*scrollableArea, layerForHorizontalScrollbar()).WillRepeatedly(Return(&graphicsLayer)); RefPtrWillBeRawPtr<Scrollbar> scrollbar = Scrollbar::create(scrollableArea.get(), HorizontalScrollbar, RegularScrollbar); graphicsLayer.resetTrackedPaintInvalidations(); scrollbar->setNeedsPaintInvalidation(); EXPECT_TRUE(graphicsLayer.hasTrackedPaintInvalidations()); }
TEST_F(ScrollableAreaTest, ScrollbarGraphicsLayerInvalidation) { ScrollbarTheme::setMockScrollbarsEnabled(true); OwnPtrWillBeRawPtr<MockScrollableArea> scrollableArea = MockScrollableArea::create(IntPoint(0, 100)); MockGraphicsLayerClient graphicsLayerClient; MockGraphicsLayer graphicsLayer(&graphicsLayerClient); graphicsLayer.setDrawsContent(true); graphicsLayer.setSize(FloatSize(111, 222)); EXPECT_CALL(*scrollableArea, layerForHorizontalScrollbar()).WillRepeatedly(Return(&graphicsLayer)); RefPtrWillBeRawPtr<Scrollbar> scrollbar = Scrollbar::create(scrollableArea.get(), HorizontalScrollbar, RegularScrollbar, nullptr); graphicsLayer.resetTrackedPaintInvalidations(); scrollbar->setNeedsPaintInvalidation(NoPart); EXPECT_TRUE(graphicsLayer.hasTrackedPaintInvalidations()); // Forced GC in order to finalize objects depending on the mock object. Heap::collectAllGarbage(); }
void ScrollingStateStickyNode::syncLayerPositionForViewportRect(const LayoutRect& viewportRect) { FloatPoint position = m_constraints.layerPositionForViewportRect(viewportRect); graphicsLayer()->syncPosition(position); }