Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(331)

Unified Diff: sky/engine/core/rendering/RenderBlock.cpp

Issue 877043002: Remove RenderLayerScrollableArea (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 5 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « sky/engine/core/rendering/RenderBlock.h ('k') | sky/engine/core/rendering/RenderBlockFlow.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: sky/engine/core/rendering/RenderBlock.cpp
diff --git a/sky/engine/core/rendering/RenderBlock.cpp b/sky/engine/core/rendering/RenderBlock.cpp
index c9b5e6c2c851682f62a9017e60e7a8e57bd6425b..0c632e05e809816dd2aaf2bd1ef7c963f04eecdb 100644
--- a/sky/engine/core/rendering/RenderBlock.cpp
+++ b/sky/engine/core/rendering/RenderBlock.cpp
@@ -72,10 +72,6 @@ static TrackedDescendantsMap* gPercentHeightDescendantsMap = 0;
static TrackedContainerMap* gPositionedContainerMap = 0;
static TrackedContainerMap* gPercentHeightContainerMap = 0;
-typedef WTF::HashSet<RenderBlock*> DelayedUpdateScrollInfoSet;
-static int gDelayUpdateScrollInfo = 0;
-static DelayedUpdateScrollInfoSet* gDelayedUpdateScrollInfoSet = 0;
-
RenderBlock::RenderBlock(ContainerNode* node)
: RenderBox(node)
, m_hasMarginBeforeQuirk(false)
@@ -159,9 +155,6 @@ void RenderBlock::willBeDestroyed()
m_lineBoxes.deleteLineBoxes();
- if (UNLIKELY(gDelayedUpdateScrollInfoSet != 0))
- gDelayedUpdateScrollInfoSet->remove(this);
-
RenderBox::willBeDestroyed();
}
@@ -265,45 +258,6 @@ void RenderBlock::removeChild(RenderObject* oldChild)
deleteLineBoxTree();
}
-void RenderBlock::startDelayUpdateScrollInfo()
-{
- if (gDelayUpdateScrollInfo == 0) {
- ASSERT(!gDelayedUpdateScrollInfoSet);
- gDelayedUpdateScrollInfoSet = new DelayedUpdateScrollInfoSet;
- }
- ASSERT(gDelayedUpdateScrollInfoSet);
- ++gDelayUpdateScrollInfo;
-}
-
-void RenderBlock::finishDelayUpdateScrollInfo()
-{
- --gDelayUpdateScrollInfo;
- ASSERT(gDelayUpdateScrollInfo >= 0);
- if (gDelayUpdateScrollInfo == 0) {
- ASSERT(gDelayedUpdateScrollInfoSet);
-
- OwnPtr<DelayedUpdateScrollInfoSet> infoSet(adoptPtr(gDelayedUpdateScrollInfoSet));
- gDelayedUpdateScrollInfoSet = 0;
-
- for (DelayedUpdateScrollInfoSet::iterator it = infoSet->begin(); it != infoSet->end(); ++it) {
- RenderBlock* block = *it;
- if (block->hasOverflowClip()) {
- block->layer()->scrollableArea()->updateAfterLayout();
- }
- }
- }
-}
-
-void RenderBlock::updateScrollInfoAfterLayout()
-{
- if (hasOverflowClip()) {
- if (gDelayUpdateScrollInfo)
- gDelayedUpdateScrollInfoSet->add(this);
- else
- layer()->scrollableArea()->updateAfterLayout();
- }
-}
-
bool RenderBlock::widthAvailableToChildrenHasChanged()
{
bool widthAvailableToChildrenHasChanged = m_hasBorderOrPaddingLogicalWidthChanged;
@@ -433,8 +387,6 @@ bool RenderBlock::simplifiedLayout()
updateLayerTransformAfterLayout();
- updateScrollInfoAfterLayout();
-
clearNeedsLayout();
return true;
}
@@ -523,12 +475,6 @@ void RenderBlock::paint(PaintInfo& paintInfo, const LayoutPoint& paintOffset)
}
if (pushedClip)
popContentsClip(paintInfo, phase, adjustedPaintOffset);
-
- // Our scrollbar widgets paint exactly when we tell them to, so that they work properly with
- // z-index. We paint after we painted the background/border, so that the scrollbars will
- // sit above the background/border.
- if (hasOverflowClip() && phase == PaintPhaseForeground && paintInfo.shouldPaintWithinRoot(this))
- layer()->scrollableArea()->paintOverflowControls(paintInfo.context, roundedIntPoint(adjustedPaintOffset), paintInfo.rect, false /* paintingOverlayControls */);
}
void RenderBlock::paintContents(PaintInfo& paintInfo, const LayoutPoint& paintOffset)
@@ -1541,11 +1487,7 @@ int RenderBlock::baselinePosition(FontBaseline baselineType, bool firstLine, Lin
// (the content inside them moves). This matches WinIE as well, which just bottom-aligns them.
// We also give up on finding a baseline if we have a vertical scrollbar, or if we are scrolled
// vertically (e.g., an overflow:hidden block that has had scrollTop moved).
- bool ignoreBaseline = (layer() && layer()->scrollableArea() && ((direction == HorizontalLine ? (layer()->scrollableArea()->verticalScrollbar() || layer()->scrollableArea()->scrollYOffset())
- : (layer()->scrollableArea()->horizontalScrollbar() || layer()->scrollableArea()->scrollXOffset()))));
-
- int baselinePos = ignoreBaseline ? -1 : inlineBlockBaseline(direction);
-
+ int baselinePos = inlineBlockBaseline(direction);
if (baselinePos != -1)
return beforeMarginInLineDirection(direction) + baselinePos;
@@ -1880,9 +1822,6 @@ bool RenderBlock::recalcOverflowAfterStyleChange()
LayoutUnit oldClientAfterEdge = hasRenderOverflow() ? m_overflow->layoutClientAfterEdge() : clientLogicalBottom();
computeOverflow(oldClientAfterEdge, true);
- if (hasOverflowClip())
- layer()->scrollableArea()->updateAfterOverflowRecalc();
-
return !hasOverflowClip();
}
« no previous file with comments | « sky/engine/core/rendering/RenderBlock.h ('k') | sky/engine/core/rendering/RenderBlockFlow.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698