OLD | NEW |
---|---|
1 /* | 1 /* |
2 * Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011, 2012 Apple Inc. All rights reserved. | 2 * Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011, 2012 Apple Inc. All rights reserved. |
3 * | 3 * |
4 * Portions are Copyright (C) 1998 Netscape Communications Corporation. | 4 * Portions are Copyright (C) 1998 Netscape Communications Corporation. |
5 * | 5 * |
6 * Other contributors: | 6 * Other contributors: |
7 * Robert O'Callahan <roc+@cs.cmu.edu> | 7 * Robert O'Callahan <roc+@cs.cmu.edu> |
8 * David Baron <dbaron@fas.harvard.edu> | 8 * David Baron <dbaron@fas.harvard.edu> |
9 * Christian Biesinger <cbiesinger@gmail.com> | 9 * Christian Biesinger <cbiesinger@gmail.com> |
10 * Randall Jesup <rjesup@wgate.com> | 10 * Randall Jesup <rjesup@wgate.com> |
(...skipping 1389 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1400 LayoutUnit baseHeight = box().size().height() - (isBoxSizingBorder ? Lay outUnit() : box().borderAndPaddingHeight()); | 1400 LayoutUnit baseHeight = box().size().height() - (isBoxSizingBorder ? Lay outUnit() : box().borderAndPaddingHeight()); |
1401 baseHeight = LayoutUnit(baseHeight / zoomFactor); | 1401 baseHeight = LayoutUnit(baseHeight / zoomFactor); |
1402 element->setInlineStyleProperty(CSSPropertyHeight, roundToInt(baseHeight + difference.height()), CSSPrimitiveValue::UnitType::Pixels); | 1402 element->setInlineStyleProperty(CSSPropertyHeight, roundToInt(baseHeight + difference.height()), CSSPrimitiveValue::UnitType::Pixels); |
1403 } | 1403 } |
1404 | 1404 |
1405 document.updateStyleAndLayout(); | 1405 document.updateStyleAndLayout(); |
1406 | 1406 |
1407 // FIXME (Radar 4118564): We should also autoscroll the window as necessary to keep the point under the cursor in view. | 1407 // FIXME (Radar 4118564): We should also autoscroll the window as necessary to keep the point under the cursor in view. |
1408 } | 1408 } |
1409 | 1409 |
1410 LayoutRect PaintLayerScrollableArea::scrollIntoView(const LayoutRect& rect, cons t ScrollAlignment& alignX, const ScrollAlignment& alignY, ScrollType scrollType) | 1410 LayoutRect PaintLayerScrollableArea::scrollIntoView(const LayoutRect& rect, cons t ScrollAlignment& alignX, const ScrollAlignment& alignY, ScrollType scrollType) |
bokan
2016/08/26 16:12:14
Please add a comment in the header file for this m
| |
1411 { | 1411 { |
1412 LayoutRect localExposeRect(box().absoluteToLocalQuad(FloatQuad(FloatRect(rec t)), UseTransforms).boundingBox()); | 1412 LayoutRect localExposeRect(box().absoluteToLocalQuad(FloatQuad(FloatRect(rec t)), UseTransforms).boundingBox()); |
1413 localExposeRect.move(-box().borderLeft(), -box().borderTop()); | 1413 localExposeRect.move(-box().borderLeft(), -box().borderTop()); |
1414 LayoutRect layerBounds(LayoutPoint(), LayoutSize(box().clientWidth(), box(). clientHeight())); | 1414 LayoutRect layerBounds(LayoutPoint(), LayoutSize(box().clientWidth(), box(). clientHeight())); |
1415 LayoutRect r = ScrollAlignment::getRectToExpose(layerBounds, localExposeRect , alignX, alignY); | 1415 LayoutRect r = ScrollAlignment::getRectToExpose(layerBounds, localExposeRect , alignX, alignY); |
1416 | 1416 |
1417 DoublePoint clampedScrollPosition = clampScrollPosition(scrollPositionDouble () + roundedIntSize(r.location())); | 1417 DoublePoint clampedScrollPosition = clampScrollPosition(scrollPositionDouble () + roundedIntSize(r.location())); |
1418 if (clampedScrollPosition == scrollPositionDouble()) | 1418 if (clampedScrollPosition == scrollPositionDouble()) |
1419 return rect; | 1419 return LayoutRect(box().localToAbsoluteQuad(FloatQuad(FloatRect(intersec tion(layerBounds, localExposeRect))), UseTransforms).boundingBox()); |
1420 | 1420 |
1421 DoubleSize oldScrollOffset = adjustedScrollOffset(); | 1421 DoubleSize oldScrollOffset = adjustedScrollOffset(); |
1422 scrollToPosition(clampedScrollPosition, ScrollOffsetUnclamped, ScrollBehavio rInstant, scrollType); | 1422 scrollToPosition(clampedScrollPosition, ScrollOffsetUnclamped, ScrollBehavio rInstant, scrollType); |
1423 DoubleSize scrollOffsetDifference = adjustedScrollOffset() - oldScrollOffset ; | 1423 DoubleSize scrollOffsetDifference = adjustedScrollOffset() - oldScrollOffset ; |
1424 localExposeRect.move(-LayoutSize(scrollOffsetDifference)); | 1424 localExposeRect.move(-LayoutSize(scrollOffsetDifference)); |
1425 return LayoutRect(box().localToAbsoluteQuad(FloatQuad(FloatRect(localExposeR ect)), UseTransforms).boundingBox()); | 1425 return LayoutRect(box().localToAbsoluteQuad(FloatQuad(FloatRect(intersection (layerBounds, localExposeRect))), UseTransforms).boundingBox()); |
1426 } | 1426 } |
1427 | 1427 |
1428 void PaintLayerScrollableArea::updateScrollableAreaSet(bool hasOverflow) | 1428 void PaintLayerScrollableArea::updateScrollableAreaSet(bool hasOverflow) |
1429 { | 1429 { |
1430 LocalFrame* frame = box().frame(); | 1430 LocalFrame* frame = box().frame(); |
1431 if (!frame) | 1431 if (!frame) |
1432 return; | 1432 return; |
1433 | 1433 |
1434 FrameView* frameView = frame->view(); | 1434 FrameView* frameView = frame->view(); |
1435 if (!frameView) | 1435 if (!frameView) |
(...skipping 337 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1773 | 1773 |
1774 void PaintLayerScrollableArea::DelayScrollPositionClampScope::clampScrollableAre as() | 1774 void PaintLayerScrollableArea::DelayScrollPositionClampScope::clampScrollableAre as() |
1775 { | 1775 { |
1776 for (auto& scrollableArea : *s_needsClamp) | 1776 for (auto& scrollableArea : *s_needsClamp) |
1777 scrollableArea->clampScrollPositionsAfterLayout(); | 1777 scrollableArea->clampScrollPositionsAfterLayout(); |
1778 delete s_needsClamp; | 1778 delete s_needsClamp; |
1779 s_needsClamp = nullptr; | 1779 s_needsClamp = nullptr; |
1780 } | 1780 } |
1781 | 1781 |
1782 } // namespace blink | 1782 } // namespace blink |
OLD | NEW |