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));