Title: [210768] trunk/Source/WebCore
Revision
210768
Author
[email protected]
Date
2017-01-14 10:45:20 -0800 (Sat, 14 Jan 2017)

Log Message

Renderers should have a simple way to access Settings.
https://bugs.webkit.org/show_bug.cgi?id=167048

Now that RenderObjects can never outlive the Page, we can just access the Settings
through Page instead of Document::settings/Frame::settings.

Reviewed by Andreas Kling.

No change in functionality.

* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::paintCaret):
(WebCore::RenderBlock::shouldPaintSelectionGaps):
* rendering/RenderBlockFlow.cpp:
(WebCore::needsAppleMailPaginationQuirk):
* rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlockFlow::startAlignedOffsetForLine):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::layoutOverflowRectForPropagation):
* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::paintFillLayerExtended):
(WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
* rendering/RenderElement.cpp:
(WebCore::RenderElement::styleWillChange):
(WebCore::RenderElement::willBeRemovedFromTree):
(WebCore::RenderElement::shouldRespectImageOrientation):
* rendering/RenderEmbeddedObject.cpp:
(WebCore::RenderEmbeddedObject::getReplacementTextGeometry):
* rendering/RenderFrameSet.cpp:
(WebCore::RenderFrameSet::flattenFrameSet):
* rendering/RenderIFrame.cpp:
(WebCore::RenderIFrame::flattenFrame):
* rendering/RenderImage.cpp:
(WebCore::RenderImage::paintIntoRect):
* rendering/RenderInline.cpp:
(WebCore::RenderInline::addChildIgnoringContinuation):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::acceleratedCompositingForOverflowScrollEnabled):
(WebCore::RenderLayer::forceUpdateScrollbarsOnMainThreadForPerformanceTesting):
(WebCore::RenderLayer::hasAcceleratedTouchScrolling):
(WebCore::RenderLayer::getRectToExpose):
(WebCore::RenderLayer::overhangAmount):
(WebCore::RenderLayer::setHasHorizontalScrollbar):
(WebCore::RenderLayer::setHasVerticalScrollbar):
(WebCore::RenderLayer::calculateClipRects):
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::RenderLayerBacking):
(WebCore::RenderLayerBacking::shouldAggressivelyRetainTiles):
(WebCore::RenderLayerBacking::shouldTemporarilyRetainTileCohorts):
(WebCore::RenderLayerBacking::useGiantTiles):
(WebCore::RenderLayerBacking::startAnimation):
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::cacheAcceleratedCompositingFlags):
(WebCore::RenderLayerCompositor::updateBacking):
(WebCore::RenderLayerCompositor::addToOverlapMap):
(WebCore::RenderLayerCompositor::requiresCompositingForPosition):
(WebCore::RenderLayerCompositor::needsFixedRootBackgroundLayer):
(WebCore::RenderLayerCompositor::requiresContentShadowLayer):
(WebCore::RenderLayerCompositor::updateOverflowControlsLayers):
* rendering/RenderLayerModelObject.cpp:
(WebCore::RenderLayerModelObject::shouldPlaceBlockDirectionScrollbarOnLeft):
* rendering/RenderListBox.cpp:
(WebCore::RenderListBox::forceUpdateScrollbarsOnMainThreadForPerformanceTesting):
* rendering/RenderObject.h:
(WebCore::RenderObject::settings):
* rendering/RenderText.cpp:
(WebCore::SecureTextTimer::restart):
* rendering/RenderView.cpp:
(WebCore::RenderView::clientLogicalWidthForFixedPosition):
(WebCore::RenderView::clientLogicalHeightForFixedPosition):
(WebCore::RenderView::paintBoxDecorations):
* rendering/SimpleLineLayout.cpp:
(WebCore::SimpleLineLayout::canUseForWithReason):
* rendering/SimpleLineLayoutFunctions.cpp:
(WebCore::SimpleLineLayout::paintFlow):
* rendering/svg/RenderSVGResourceFilter.cpp:
(WebCore::RenderSVGResourceFilter::applyResource):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (210767 => 210768)


--- trunk/Source/WebCore/ChangeLog	2017-01-14 17:35:56 UTC (rev 210767)
+++ trunk/Source/WebCore/ChangeLog	2017-01-14 18:45:20 UTC (rev 210768)
@@ -1,3 +1,83 @@
+2017-01-14  Zalan Bujtas  <[email protected]>
+
+        Renderers should have a simple way to access Settings.
+        https://bugs.webkit.org/show_bug.cgi?id=167048
+
+        Now that RenderObjects can never outlive the Page, we can just access the Settings
+        through Page instead of Document::settings/Frame::settings.  
+
+        Reviewed by Andreas Kling.
+
+        No change in functionality.
+
+        * rendering/RenderBlock.cpp:
+        (WebCore::RenderBlock::paintCaret):
+        (WebCore::RenderBlock::shouldPaintSelectionGaps):
+        * rendering/RenderBlockFlow.cpp:
+        (WebCore::needsAppleMailPaginationQuirk):
+        * rendering/RenderBlockLineLayout.cpp:
+        (WebCore::RenderBlockFlow::startAlignedOffsetForLine):
+        * rendering/RenderBox.cpp:
+        (WebCore::RenderBox::layoutOverflowRectForPropagation):
+        * rendering/RenderBoxModelObject.cpp:
+        (WebCore::RenderBoxModelObject::paintFillLayerExtended):
+        (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
+        * rendering/RenderElement.cpp:
+        (WebCore::RenderElement::styleWillChange):
+        (WebCore::RenderElement::willBeRemovedFromTree):
+        (WebCore::RenderElement::shouldRespectImageOrientation):
+        * rendering/RenderEmbeddedObject.cpp:
+        (WebCore::RenderEmbeddedObject::getReplacementTextGeometry):
+        * rendering/RenderFrameSet.cpp:
+        (WebCore::RenderFrameSet::flattenFrameSet):
+        * rendering/RenderIFrame.cpp:
+        (WebCore::RenderIFrame::flattenFrame):
+        * rendering/RenderImage.cpp:
+        (WebCore::RenderImage::paintIntoRect):
+        * rendering/RenderInline.cpp:
+        (WebCore::RenderInline::addChildIgnoringContinuation):
+        * rendering/RenderLayer.cpp:
+        (WebCore::RenderLayer::acceleratedCompositingForOverflowScrollEnabled):
+        (WebCore::RenderLayer::forceUpdateScrollbarsOnMainThreadForPerformanceTesting):
+        (WebCore::RenderLayer::hasAcceleratedTouchScrolling):
+        (WebCore::RenderLayer::getRectToExpose):
+        (WebCore::RenderLayer::overhangAmount):
+        (WebCore::RenderLayer::setHasHorizontalScrollbar):
+        (WebCore::RenderLayer::setHasVerticalScrollbar):
+        (WebCore::RenderLayer::calculateClipRects):
+        * rendering/RenderLayerBacking.cpp:
+        (WebCore::RenderLayerBacking::RenderLayerBacking):
+        (WebCore::RenderLayerBacking::shouldAggressivelyRetainTiles):
+        (WebCore::RenderLayerBacking::shouldTemporarilyRetainTileCohorts):
+        (WebCore::RenderLayerBacking::useGiantTiles):
+        (WebCore::RenderLayerBacking::startAnimation):
+        * rendering/RenderLayerCompositor.cpp:
+        (WebCore::RenderLayerCompositor::cacheAcceleratedCompositingFlags):
+        (WebCore::RenderLayerCompositor::updateBacking):
+        (WebCore::RenderLayerCompositor::addToOverlapMap):
+        (WebCore::RenderLayerCompositor::requiresCompositingForPosition):
+        (WebCore::RenderLayerCompositor::needsFixedRootBackgroundLayer):
+        (WebCore::RenderLayerCompositor::requiresContentShadowLayer):
+        (WebCore::RenderLayerCompositor::updateOverflowControlsLayers):
+        * rendering/RenderLayerModelObject.cpp:
+        (WebCore::RenderLayerModelObject::shouldPlaceBlockDirectionScrollbarOnLeft):
+        * rendering/RenderListBox.cpp:
+        (WebCore::RenderListBox::forceUpdateScrollbarsOnMainThreadForPerformanceTesting):
+        * rendering/RenderObject.h:
+        (WebCore::RenderObject::settings):
+        * rendering/RenderText.cpp:
+        (WebCore::SecureTextTimer::restart):
+        * rendering/RenderView.cpp:
+        (WebCore::RenderView::clientLogicalWidthForFixedPosition):
+        (WebCore::RenderView::clientLogicalHeightForFixedPosition):
+        (WebCore::RenderView::paintBoxDecorations):
+        * rendering/SimpleLineLayout.cpp:
+        (WebCore::SimpleLineLayout::canUseForWithReason):
+        * rendering/SimpleLineLayoutFunctions.cpp:
+        (WebCore::SimpleLineLayout::paintFlow):
+        * rendering/svg/RenderSVGResourceFilter.cpp:
+        (WebCore::RenderSVGResourceFilter::applyResource):
+
 2017-01-14  Chris Dumez  <[email protected]>
 
         Align the innerText setter with the HTML spec and Gecko

Modified: trunk/Source/WebCore/rendering/RenderBlock.cpp (210767 => 210768)


--- trunk/Source/WebCore/rendering/RenderBlock.cpp	2017-01-14 17:35:56 UTC (rev 210767)
+++ trunk/Source/WebCore/rendering/RenderBlock.cpp	2017-01-14 18:45:20 UTC (rev 210768)
@@ -1636,7 +1636,6 @@
 void RenderBlock::paintCaret(PaintInfo& paintInfo, const LayoutPoint& paintOffset, CaretType type)
 {
     // Paint the caret if the FrameSelection says so or if caret browsing is enabled
-    bool caretBrowsing = frame().settings().caretBrowsingEnabled();
     RenderBlock* caretPainter;
     bool isContentEditable;
     if (type == CursorCaret) {
@@ -1647,7 +1646,7 @@
         isContentEditable = page().dragCaretController().isContentEditable();
     }
 
-    if (caretPainter == this && (isContentEditable || caretBrowsing)) {
+    if (caretPainter == this && (isContentEditable || settings().caretBrowsingEnabled())) {
         if (type == CursorCaret)
             frame().selection().paintCaret(paintInfo.context(), paintOffset, paintInfo.rect);
         else
@@ -1843,7 +1842,7 @@
 
 bool RenderBlock::shouldPaintSelectionGaps() const
 {
-    if (frame().settings().selectionPaintingWithoutSelectionGapsEnabled())
+    if (settings().selectionPaintingWithoutSelectionGapsEnabled())
         return false;
 
     return selectionState() != SelectionNone && style().visibility() == VISIBLE && isSelectionRoot();

Modified: trunk/Source/WebCore/rendering/RenderBlockFlow.cpp (210767 => 210768)


--- trunk/Source/WebCore/rendering/RenderBlockFlow.cpp	2017-01-14 17:35:56 UTC (rev 210767)
+++ trunk/Source/WebCore/rendering/RenderBlockFlow.cpp	2017-01-14 18:45:20 UTC (rev 210768)
@@ -1672,14 +1672,11 @@
 
 static inline bool needsAppleMailPaginationQuirk(RootInlineBox& lineBox)
 {
-    const auto& renderer = lineBox.renderer();
+    auto& renderer = lineBox.renderer();
 
-    if (!renderer.document().settings())
+    if (!renderer.settings().appleMailPaginationQuirkEnabled())
         return false;
 
-    if (!renderer.document().settings()->appleMailPaginationQuirkEnabled())
-        return false;
-
     if (renderer.element() && renderer.element()->idForStyleResolution() == "messageContentContainer")
         return true;
 

Modified: trunk/Source/WebCore/rendering/RenderBlockLineLayout.cpp (210767 => 210768)


--- trunk/Source/WebCore/rendering/RenderBlockLineLayout.cpp	2017-01-14 17:35:56 UTC (rev 210767)
+++ trunk/Source/WebCore/rendering/RenderBlockLineLayout.cpp	2017-01-14 18:45:20 UTC (rev 210768)
@@ -2263,7 +2263,7 @@
     // https://bugs.webkit.org/show_bug.cgi?id=124522
     // This quirk is for legacy content that doesn't work properly with the center positioning scheme
     // being honored (e.g., epubs).
-    if (shouldApplyIndentText || document().settings()->useLegacyTextAlignPositionedElementBehavior()) // FIXME: Handle TAEND here
+    if (shouldApplyIndentText || settings().useLegacyTextAlignPositionedElementBehavior()) // FIXME: Handle TAEND here
         return startOffsetForLine(position, shouldIndentText);
 
     // updateLogicalWidthForAlignment() handles the direction of the block so no need to consider it here

Modified: trunk/Source/WebCore/rendering/RenderBox.cpp (210767 => 210768)


--- trunk/Source/WebCore/rendering/RenderBox.cpp	2017-01-14 17:35:56 UTC (rev 210767)
+++ trunk/Source/WebCore/rendering/RenderBox.cpp	2017-01-14 18:45:20 UTC (rev 210768)
@@ -4918,7 +4918,7 @@
 
     bool hasTransform = this->hasTransform();
 #if PLATFORM(IOS)
-    if (isInFlowPositioned() || (hasTransform && document().settings()->shouldTransformsAffectOverflow())) {
+    if (isInFlowPositioned() || (hasTransform && settings().shouldTransformsAffectOverflow())) {
 #else
     if (isInFlowPositioned() || hasTransform) {
 #endif

Modified: trunk/Source/WebCore/rendering/RenderBoxModelObject.cpp (210767 => 210768)


--- trunk/Source/WebCore/rendering/RenderBoxModelObject.cpp	2017-01-14 17:35:56 UTC (rev 210767)
+++ trunk/Source/WebCore/rendering/RenderBoxModelObject.cpp	2017-01-14 18:45:20 UTC (rev 210768)
@@ -646,7 +646,7 @@
     if (document().printing()) {
         if (style().printColorAdjust() == PrintColorAdjustEconomy)
             forceBackgroundToWhite = true;
-        if (frame().settings().shouldPrintBackgrounds())
+        if (settings().shouldPrintBackgrounds())
             forceBackgroundToWhite = false;
     }
 
@@ -1110,7 +1110,7 @@
     } else {
         LayoutRect viewportRect;
         float topContentInset = 0;
-        if (frame().settings().fixedBackgroundsPaintRelativeToDocument())
+        if (settings().fixedBackgroundsPaintRelativeToDocument())
             viewportRect = view().unscaledDocumentRect();
         else {
             FrameView& frameView = view().frameView();

Modified: trunk/Source/WebCore/rendering/RenderElement.cpp (210767 => 210768)


--- trunk/Source/WebCore/rendering/RenderElement.cpp	2017-01-14 17:35:56 UTC (rev 210767)
+++ trunk/Source/WebCore/rendering/RenderElement.cpp	2017-01-14 18:45:20 UTC (rev 210768)
@@ -905,8 +905,7 @@
     bool newStyleUsesFixedBackgrounds = newStyle.hasFixedBackgroundImage();
     bool oldStyleUsesFixedBackgrounds = m_style.hasFixedBackgroundImage();
     if (newStyleUsesFixedBackgrounds || oldStyleUsesFixedBackgrounds) {
-        bool repaintFixedBackgroundsOnScroll = !frame().settings().fixedBackgroundsPaintRelativeToDocument();
-
+        bool repaintFixedBackgroundsOnScroll = !settings().fixedBackgroundsPaintRelativeToDocument();
         bool newStyleSlowScroll = repaintFixedBackgroundsOnScroll && newStyleUsesFixedBackgrounds;
         bool oldStyleSlowScroll = oldStyle && repaintFixedBackgroundsOnScroll && oldStyleUsesFixedBackgrounds;
         bool drawsRootBackground = isDocumentElementRenderer() || (isBody() && !rendererHasBackground(document().documentElement()->renderer()));
@@ -1088,7 +1087,7 @@
         removeLayers(layer);
     }
 
-    if (m_style.hasFixedBackgroundImage() && !frame().settings().fixedBackgroundsPaintRelativeToDocument())
+    if (m_style.hasFixedBackgroundImage() && !settings().fixedBackgroundsPaintRelativeToDocument())
         view().frameView().removeSlowRepaintObject(this);
 
     if (isOutOfFlowPositioned() && parent()->childrenInline())
@@ -2163,7 +2162,7 @@
 #endif
     // Respect the image's orientation if it's being used as a full-page image or it's
     // an <img> and the setting to respect it everywhere is set.
-    return (frame().settings().shouldRespectImageOrientation() && is<HTMLImageElement>(element())) ? RespectImageOrientation : DoNotRespectImageOrientation;
+    return settings().shouldRespectImageOrientation() && is<HTMLImageElement>(element()) ? RespectImageOrientation : DoNotRespectImageOrientation;
 }
 
 void RenderElement::adjustFlowThreadStateOnContainingBlockChangeIfNeeded()

Modified: trunk/Source/WebCore/rendering/RenderEmbeddedObject.cpp (210767 => 210768)


--- trunk/Source/WebCore/rendering/RenderEmbeddedObject.cpp	2017-01-14 17:35:56 UTC (rev 210767)
+++ trunk/Source/WebCore/rendering/RenderEmbeddedObject.cpp	2017-01-14 18:45:20 UTC (rev 210768)
@@ -354,7 +354,7 @@
     FontCascadeDescription fontDescription;
     RenderTheme::defaultTheme()->systemFont(CSSValueWebkitSmallControl, fontDescription);
     fontDescription.setWeight(FontWeightBold);
-    fontDescription.setRenderingMode(frame().settings().fontRenderingMode());
+    fontDescription.setRenderingMode(settings().fontRenderingMode());
     fontDescription.setComputedSize(12);
     font = FontCascade(fontDescription, 0, 0);
     font.update(0);

Modified: trunk/Source/WebCore/rendering/RenderFrameSet.cpp (210767 => 210768)


--- trunk/Source/WebCore/rendering/RenderFrameSet.cpp	2017-01-14 17:35:56 UTC (rev 210767)
+++ trunk/Source/WebCore/rendering/RenderFrameSet.cpp	2017-01-14 18:45:20 UTC (rev 210768)
@@ -651,7 +651,7 @@
 
 bool RenderFrameSet::flattenFrameSet() const
 {
-    return frame().settings().frameFlatteningEnabled();
+    return settings().frameFlatteningEnabled();
 }
 
 void RenderFrameSet::startResizing(GridAxis& axis, int position)

Modified: trunk/Source/WebCore/rendering/RenderIFrame.cpp (210767 => 210768)


--- trunk/Source/WebCore/rendering/RenderIFrame.cpp	2017-01-14 17:35:56 UTC (rev 210767)
+++ trunk/Source/WebCore/rendering/RenderIFrame.cpp	2017-01-14 18:45:20 UTC (rev 210768)
@@ -71,9 +71,7 @@
 
 bool RenderIFrame::flattenFrame() const
 {
-    bool enabled = frame().settings().frameFlatteningEnabled();
-
-    if (!enabled)
+    if (!settings().frameFlatteningEnabled())
         return false;
 
     if (style().width().isFixed() && style().height().isFixed()) {

Modified: trunk/Source/WebCore/rendering/RenderImage.cpp (210767 => 210768)


--- trunk/Source/WebCore/rendering/RenderImage.cpp	2017-01-14 17:35:56 UTC (rev 210767)
+++ trunk/Source/WebCore/rendering/RenderImage.cpp	2017-01-14 18:45:20 UTC (rev 210768)
@@ -549,7 +549,7 @@
 
 #if USE(CG)
     if (is<PDFDocumentImage>(image))
-        downcast<PDFDocumentImage>(*image).setPdfImageCachingPolicy(frame().settings().pdfImageCachingPolicy());
+        downcast<PDFDocumentImage>(*image).setPdfImageCachingPolicy(settings().pdfImageCachingPolicy());
 #endif
 
     ImageOrientationDescription orientationDescription(shouldRespectImageOrientation(), style().imageOrientation());

Modified: trunk/Source/WebCore/rendering/RenderInline.cpp (210767 => 210768)


--- trunk/Source/WebCore/rendering/RenderInline.cpp	2017-01-14 17:35:56 UTC (rev 210767)
+++ trunk/Source/WebCore/rendering/RenderInline.cpp	2017-01-14 18:45:20 UTC (rev 210768)
@@ -323,7 +323,7 @@
     if (!beforeChild && isAfterContent(lastChild()))
         beforeChild = lastChild();
     
-    bool useNewBlockInsideInlineModel = document().settings()->newBlockInsideInlineModelEnabled();
+    bool useNewBlockInsideInlineModel = settings().newBlockInsideInlineModelEnabled();
     bool childInline = newChildIsInline(*newChild, *this);
     // This code is for the old block-inside-inline model that uses continuations.
     if (!useNewBlockInsideInlineModel && !childInline && !newChild->isFloatingOrOutOfFlowPositioned()) {

Modified: trunk/Source/WebCore/rendering/RenderLayer.cpp (210767 => 210768)


--- trunk/Source/WebCore/rendering/RenderLayer.cpp	2017-01-14 17:35:56 UTC (rev 210767)
+++ trunk/Source/WebCore/rendering/RenderLayer.cpp	2017-01-14 18:45:20 UTC (rev 210768)
@@ -636,7 +636,7 @@
 
 bool RenderLayer::acceleratedCompositingForOverflowScrollEnabled() const
 {
-    return renderer().frame().settings().acceleratedCompositingForOverflowScrollEnabled();
+    return renderer().settings().acceleratedCompositingForOverflowScrollEnabled();
 }
 
 // If we are a stacking container, then this function will determine if our
@@ -1523,7 +1523,7 @@
 
 bool RenderLayer::forceUpdateScrollbarsOnMainThreadForPerformanceTesting() const
 {
-    return renderer().frame().settings().forceUpdateScrollbarsOnMainThreadForPerformanceTesting();
+    return renderer().settings().forceUpdateScrollbarsOnMainThreadForPerformanceTesting();
 }
 
 RenderLayer* RenderLayer::enclosingTransformedAncestor() const
@@ -2163,13 +2163,7 @@
 #if ENABLE(ACCELERATED_OVERFLOW_SCROLLING)
     if (!scrollsOverflow())
         return false;
-
-    Settings* settings = renderer().document().settings();
-    // FIXME: settings should not be null at this point. If you find a reliable way to hit this assertion, please file a bug.
-    // See <rdar://problem/10266101>.
-    ASSERT(settings);
-
-    return renderer().style().useTouchOverflowScrolling() || (settings && settings->alwaysUseAcceleratedOverflowScroll());
+    return renderer().style().useTouchOverflowScrolling() || renderer().settings().alwaysUseAcceleratedOverflowScroll();
 #else
     return false;
 #endif
@@ -2613,7 +2607,7 @@
         if (frameView.frameScaleFactor() == 1)
             return visibleRect;
 
-        if (frameView.frame().settings().visualViewportEnabled()) {
+        if (renderer().settings().visualViewportEnabled()) {
             // exposeRect is in absolute coords, affected by page scale. Unscale it.
             LayoutRect unscaledExposeRect = exposeRect;
             unscaledExposeRect.scale(1 / frameView.frameScaleFactor());
@@ -2821,7 +2815,7 @@
 IntSize RenderLayer::overhangAmount() const
 {
 #if ENABLE(RUBBER_BANDING)
-    if (!renderer().frame().settings().rubberBandingForSubScrollableRegionsEnabled())
+    if (!renderer().settings().rubberBandingForSubScrollableRegionsEnabled())
         return IntSize();
 
     IntSize stretch;
@@ -3187,7 +3181,7 @@
     if (hasScrollbar) {
         m_hBar = createScrollbar(HorizontalScrollbar);
 #if ENABLE(RUBBER_BANDING)
-        ScrollElasticity elasticity = scrollsOverflow() && renderer().frame().settings().rubberBandingForSubScrollableRegionsEnabled() ? ScrollElasticityAutomatic : ScrollElasticityNone;
+        ScrollElasticity elasticity = scrollsOverflow() && renderer().settings().rubberBandingForSubScrollableRegionsEnabled() ? ScrollElasticityAutomatic : ScrollElasticityNone;
         ScrollableArea::setHorizontalScrollElasticity(elasticity);
 #endif
     } else {
@@ -3218,7 +3212,7 @@
     if (hasScrollbar) {
         m_vBar = createScrollbar(VerticalScrollbar);
 #if ENABLE(RUBBER_BANDING)
-        ScrollElasticity elasticity = scrollsOverflow() && renderer().frame().settings().rubberBandingForSubScrollableRegionsEnabled() ? ScrollElasticityAutomatic : ScrollElasticityNone;
+        ScrollElasticity elasticity = scrollsOverflow() && renderer().settings().rubberBandingForSubScrollableRegionsEnabled() ? ScrollElasticityAutomatic : ScrollElasticityNone;
         ScrollableArea::setVerticalScrollElasticity(elasticity);
 #endif
     } else {
@@ -6998,11 +6992,10 @@
     }
     
     FilterInfo& filterInfo = FilterInfo::get(*this);
-    Frame& frame = renderer().frame();
     if (!filterInfo.renderer()) {
         RefPtr<FilterEffectRenderer> filterRenderer = FilterEffectRenderer::create();
         filterRenderer->setFilterScale(page().deviceScaleFactor());
-        filterRenderer->setRenderingMode(frame.settings().acceleratedFiltersEnabled() ? Accelerated : Unaccelerated);
+        filterRenderer->setRenderingMode(renderer().settings().acceleratedFiltersEnabled() ? Accelerated : Unaccelerated);
         filterInfo.setRenderer(WTFMove(filterRenderer));
         
         // We can optimize away code paths in other places if we know that there are no software filters.

Modified: trunk/Source/WebCore/rendering/RenderLayerBacking.cpp (210767 => 210768)


--- trunk/Source/WebCore/rendering/RenderLayerBacking.cpp	2017-01-14 17:35:56 UTC (rev 210767)
+++ trunk/Source/WebCore/rendering/RenderLayerBacking.cpp	2017-01-14 18:45:20 UTC (rev 210768)
@@ -120,7 +120,7 @@
         if (m_isMainFrameRenderViewLayer)
             tiledBacking->setUnparentsOffscreenTiles(true);
 
-        tiledBacking->setScrollingPerformanceLoggingEnabled(renderer().page().settings().scrollingPerformanceLoggingEnabled());
+        tiledBacking->setScrollingPerformanceLoggingEnabled(renderer().settings().scrollingPerformanceLoggingEnabled());
         adjustTiledBackingCoverage();
     }
 }
@@ -2518,17 +2518,17 @@
     if (!m_isMainFrameRenderViewLayer)
         return false;
 
-    return renderer().frame().settings().aggressiveTileRetentionEnabled();
+    return renderer().settings().aggressiveTileRetentionEnabled();
 }
 
 bool RenderLayerBacking::shouldTemporarilyRetainTileCohorts(const GraphicsLayer*) const
 {
-    return renderer().frame().settings().temporaryTileCohortRetentionEnabled();
+    return renderer().settings().temporaryTileCohortRetentionEnabled();
 }
 
 bool RenderLayerBacking::useGiantTiles() const
 {
-    return renderer().frame().settings().useGiantTiles();
+    return renderer().settings().useGiantTiles();
 }
 
 #ifndef NDEBUG
@@ -2586,7 +2586,7 @@
 #endif
     }
 
-    if (!renderer().frame().settings().acceleratedCompositedAnimationsEnabled())
+    if (!renderer().settings().acceleratedCompositedAnimationsEnabled())
         return false;
 
     bool didAnimate = false;

Modified: trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp (210767 => 210768)


--- trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp	2017-01-14 17:35:56 UTC (rev 210767)
+++ trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp	2017-01-14 18:45:20 UTC (rev 210768)
@@ -308,7 +308,7 @@
     bool acceleratedDrawingEnabled = false;
     bool displayListDrawingEnabled = false;
 
-    const Settings& settings = m_renderView.frameView().frame().settings();
+    auto& settings = m_renderView.settings();
     hasAcceleratedCompositing = settings.acceleratedCompositingEnabled();
 
     // We allow the chrome to override the settings, in case the page is rendered
@@ -985,7 +985,7 @@
                 updateLayerForHeader(page().headerHeight());
                 updateLayerForFooter(page().footerHeight());
 #endif
-                if (m_renderView.frameView().frame().settings().backgroundShouldExtendBeyondPage())
+                if (m_renderView.settings().backgroundShouldExtendBeyondPage())
                     m_rootContentLayer->setMasksToBounds(false);
 
                 if (TiledBacking* tiledBacking = layer.backing()->tiledBacking())
@@ -1180,8 +1180,7 @@
     LayoutRect clipRect = layer.backgroundClipRect(RenderLayer::ClipRectsContext(&rootRenderLayer(), AbsoluteClipRects)).rect(); // FIXME: Incorrect for CSS regions.
 
     // On iOS, pageScaleFactor() is not applied by RenderView, so we should not scale here.
-    const Settings& settings = m_renderView.frameView().frame().settings();
-    if (!settings.delegatesPageScaling())
+    if (!m_renderView.settings().delegatesPageScaling())
         clipRect.scale(pageScaleFactor());
     clipRect.intersect(extent.bounds);
     overlapMap.add(clipRect);
@@ -2703,8 +2702,7 @@
         return false;
 
     // FIXME: acceleratedCompositingForFixedPositionEnabled should probably be renamed acceleratedCompositingForViewportConstrainedPositionEnabled().
-    const Settings& settings = m_renderView.frameView().frame().settings();
-    if (!settings.acceleratedCompositingForFixedPositionEnabled())
+    if (!m_renderView.settings().acceleratedCompositingForFixedPositionEnabled())
         return false;
 
     if (isSticky)
@@ -2851,7 +2849,7 @@
     if (&layer != m_renderView.layer())
         return false;
 
-    if (m_renderView.frameView().frame().settings().fixedBackgroundsPaintRelativeToDocument())
+    if (m_renderView.settings().fixedBackgroundsPaintRelativeToDocument())
         return false;
 
     LOG(Compositing, "RenderLayerCompositor %p needsFixedRootBackgroundLayer returning %d", this, supportsFixedRootBackgroundCompositing() && m_renderView.rootBackgroundIsEntirelyFixed());
@@ -3015,7 +3013,7 @@
         return false;
 
     // If the background is going to extend, then it doesn't make sense to have a shadow layer.
-    if (m_renderView.frameView().frame().settings().backgroundShouldExtendBeyondPage())
+    if (m_renderView.settings().backgroundShouldExtendBeyondPage())
         return false;
 
     // On Mac, we want a content shadow layer if we're using tiled drawing and can scroll.
@@ -3243,7 +3241,7 @@
             m_layerForOverhangAreas->setPosition(FloatPoint(0, topContentInset));
             m_layerForOverhangAreas->setAnchorPoint(FloatPoint3D());
 
-            if (m_renderView.frameView().frame().settings().backgroundShouldExtendBeyondPage())
+            if (m_renderView.settings().backgroundShouldExtendBeyondPage())
                 m_layerForOverhangAreas->setBackgroundColor(m_renderView.frameView().documentBackgroundColor());
             else
                 m_layerForOverhangAreas->setCustomAppearance(GraphicsLayer::ScrollingOverhang);

Modified: trunk/Source/WebCore/rendering/RenderLayerModelObject.cpp (210767 => 210768)


--- trunk/Source/WebCore/rendering/RenderLayerModelObject.cpp	2017-01-14 17:35:56 UTC (rev 210767)
+++ trunk/Source/WebCore/rendering/RenderLayerModelObject.cpp	2017-01-14 18:45:20 UTC (rev 210768)
@@ -217,11 +217,11 @@
 #if PLATFORM(IOS) || (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED < 101200)
     return false;
 #else
-    switch (frame().settings().userInterfaceDirectionPolicy()) {
+    switch (settings().userInterfaceDirectionPolicy()) {
     case UserInterfaceDirectionPolicy::Content:
         return style().shouldPlaceBlockDirectionScrollbarOnLeft();
     case UserInterfaceDirectionPolicy::System:
-        return frame().settings().systemLayoutDirection() == RTL;
+        return settings().systemLayoutDirection() == RTL;
     }
     ASSERT_NOT_REACHED();
     return style().shouldPlaceBlockDirectionScrollbarOnLeft();

Modified: trunk/Source/WebCore/rendering/RenderListBox.cpp (210767 => 210768)


--- trunk/Source/WebCore/rendering/RenderListBox.cpp	2017-01-14 17:35:56 UTC (rev 210767)
+++ trunk/Source/WebCore/rendering/RenderListBox.cpp	2017-01-14 18:45:20 UTC (rev 210768)
@@ -856,7 +856,7 @@
 
 bool RenderListBox::forceUpdateScrollbarsOnMainThreadForPerformanceTesting() const
 {
-    return frame().settings().forceUpdateScrollbarsOnMainThreadForPerformanceTesting();
+    return settings().forceUpdateScrollbarsOnMainThreadForPerformanceTesting();
 }
 
 ScrollableArea* RenderListBox::enclosingScrollableArea() const

Modified: trunk/Source/WebCore/rendering/RenderObject.h (210767 => 210768)


--- trunk/Source/WebCore/rendering/RenderObject.h	2017-01-14 17:35:56 UTC (rev 210767)
+++ trunk/Source/WebCore/rendering/RenderObject.h	2017-01-14 18:45:20 UTC (rev 210768)
@@ -30,6 +30,7 @@
 #include "FloatQuad.h"
 #include "Frame.h"
 #include "LayoutRect.h"
+#include "Page.h"
 #include "PaintPhase.h"
 #include "RenderObjectEnums.h"
 #include "RenderStyle.h"
@@ -514,6 +515,7 @@
     Document& document() const { return m_node.document(); }
     Frame& frame() const;
     Page& page() const;
+    Settings& settings() const { return page().settings(); }
 
     // Returns the object containing this one. Can be different from parent for positioned elements.
     // If repaintContainer and repaintContainerSkipped are not null, on return *repaintContainerSkipped

Modified: trunk/Source/WebCore/rendering/RenderText.cpp (210767 => 210768)


--- trunk/Source/WebCore/rendering/RenderText.cpp	2017-01-14 17:35:56 UTC (rev 210767)
+++ trunk/Source/WebCore/rendering/RenderText.cpp	2017-01-14 18:45:20 UTC (rev 210768)
@@ -107,7 +107,7 @@
 inline void SecureTextTimer::restart(unsigned offsetAfterLastTypedCharacter)
 {
     m_offsetAfterLastTypedCharacter = offsetAfterLastTypedCharacter;
-    startOneShot(m_renderer.frame().settings().passwordEchoDurationInSeconds());
+    startOneShot(m_renderer.settings().passwordEchoDurationInSeconds());
 }
 
 inline unsigned SecureTextTimer::takeOffsetAfterLastTypedCharacter()

Modified: trunk/Source/WebCore/rendering/RenderView.cpp (210767 => 210768)


--- trunk/Source/WebCore/rendering/RenderView.cpp	2017-01-14 17:35:56 UTC (rev 210767)
+++ trunk/Source/WebCore/rendering/RenderView.cpp	2017-01-14 18:45:20 UTC (rev 210768)
@@ -406,7 +406,7 @@
         return isHorizontalWritingMode() ? frameView().customFixedPositionLayoutRect().width() : frameView().customFixedPositionLayoutRect().height();
 #endif
 
-    if (frameView().frame().settings().visualViewportEnabled())
+    if (settings().visualViewportEnabled())
         return isHorizontalWritingMode() ? frameView().layoutViewportRect().width() : frameView().layoutViewportRect().height();
 
     return clientLogicalWidth();
@@ -423,7 +423,7 @@
         return isHorizontalWritingMode() ? frameView().customFixedPositionLayoutRect().height() : frameView().customFixedPositionLayoutRect().width();
 #endif
 
-    if (frameView().frame().settings().visualViewportEnabled())
+    if (settings().visualViewportEnabled())
         return isHorizontalWritingMode() ? frameView().layoutViewportRect().height() : frameView().layoutViewportRect().width();
 
     return clientLogicalHeight();
@@ -590,7 +590,7 @@
         rootObscuresBackground = rendererObscuresBackground(*rootRenderer);
     }
 
-    bool backgroundShouldExtendBeyondPage = frameView().frame().settings().backgroundShouldExtendBeyondPage();
+    bool backgroundShouldExtendBeyondPage = settings().backgroundShouldExtendBeyondPage();
     compositor().setRootExtendedBackgroundColor(backgroundShouldExtendBeyondPage ? frameView().documentBackgroundColor() : Color());
 
     Page* page = document().page();

Modified: trunk/Source/WebCore/rendering/SimpleLineLayout.cpp (210767 => 210768)


--- trunk/Source/WebCore/rendering/SimpleLineLayout.cpp	2017-01-14 17:35:56 UTC (rev 210767)
+++ trunk/Source/WebCore/rendering/SimpleLineLayout.cpp	2017-01-14 18:45:20 UTC (rev 210768)
@@ -268,7 +268,7 @@
     });
 #endif
     AvoidanceReasonFlags reasons = { };
-    if (!flow.frame().settings().simpleLineLayoutEnabled())
+    if (!flow.settings().simpleLineLayoutEnabled())
         SET_REASON_AND_RETURN_IF_NEEDED(FeatureIsDisabled, reasons, includeReasons);
     if (!flow.parent())
         SET_REASON_AND_RETURN_IF_NEEDED(FlowHasNoParent, reasons, includeReasons);

Modified: trunk/Source/WebCore/rendering/SimpleLineLayoutFunctions.cpp (210767 => 210768)


--- trunk/Source/WebCore/rendering/SimpleLineLayoutFunctions.cpp	2017-01-14 17:35:56 UTC (rev 210767)
+++ trunk/Source/WebCore/rendering/SimpleLineLayoutFunctions.cpp	2017-01-14 18:45:20 UTC (rev 210768)
@@ -88,7 +88,7 @@
     if (style.visibility() != VISIBLE)
         return;
 
-    bool debugBordersEnabled = flow.frame().settings().simpleLineLayoutDebugBordersEnabled();
+    bool debugBordersEnabled = flow.settings().simpleLineLayoutDebugBordersEnabled();
 
     TextPainter textPainter(paintInfo.context());
     textPainter.setFont(style.fontCascade());

Modified: trunk/Source/WebCore/rendering/svg/RenderSVGResourceFilter.cpp (210767 => 210768)


--- trunk/Source/WebCore/rendering/svg/RenderSVGResourceFilter.cpp	2017-01-14 17:35:56 UTC (rev 210767)
+++ trunk/Source/WebCore/rendering/svg/RenderSVGResourceFilter.cpp	2017-01-14 18:45:20 UTC (rev 210768)
@@ -185,8 +185,7 @@
     effectiveTransform.scale(scale.width(), scale.height());
     effectiveTransform.multiply(filterData->shearFreeAbsoluteTransform);
 
-    RenderingMode renderingMode = renderer.frame().settings().acceleratedFiltersEnabled() ? Accelerated : Unaccelerated;
-
+    RenderingMode renderingMode = renderer.settings().acceleratedFiltersEnabled() ? Accelerated : Unaccelerated;
     auto sourceGraphic = SVGRenderingContext::createImageBuffer(filterData->drawingRegion, effectiveTransform, ColorSpaceLinearRGB, renderingMode);
     if (!sourceGraphic) {
         ASSERT(!m_filter.contains(&renderer));
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to