Commit cba2c7e7 authored by sataya.m@samsung.com's avatar sataya.m@samsung.com

Recalc custom scrollbar style irrespective of root-layer-scrolls flag.

When chrome running on on root-layer-scrolls, page is scaled the style 
is recalculated and thickness is changed. Change in thickness sets 
informs owning renderer to set for childneedsLayout. This layout shall
happen after style reclac is completed, if this sequence is not executed,
then post layout we see the needsForLayout = true, which asserts and
crashes the chrome.

TESTED=fast/scrollbars/custom-scrollbar-thickness-change-on-zoom-crash.html
now passes with root layer scrolling

BUG=522389(https://code.google.com/p/chromium/issues/detail?id=522389#c1)

Review URL: https://codereview.chromium.org/1310603003

git-svn-id: svn://svn.chromium.org/blink/trunk@201356 bbb929c8-8fbe-4397-9dbb-9b2b20218538
parent 9a7b5b51
......@@ -235,6 +235,14 @@ void LayoutBox::styleDidChange(StyleDifference diff, const ComputedStyle* oldSty
if (isDocumentElement() || isBody()) {
document().view()->recalculateScrollbarOverlayStyle();
document().view()->recalculateCustomScrollbarStyle();
if (LayoutView* layoutView = view()) {
if (DeprecatedPaintLayerScrollableArea* scrollableArea = layoutView->scrollableArea()) {
if (scrollableArea->horizontalScrollbar() && scrollableArea->horizontalScrollbar()->isCustomScrollbar())
scrollableArea->horizontalScrollbar()->styleChanged();
if (scrollableArea->verticalScrollbar() && scrollableArea->verticalScrollbar()->isCustomScrollbar())
scrollableArea->verticalScrollbar()->styleChanged();
}
}
}
updateShapeOutsideInfoAfterStyleChange(*style(), oldStyle);
updateGridPositionAfterStyleChange(oldStyle);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment