| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "core/paint/PaintPropertyTreeBuilder.h" | 5 #include "core/paint/PaintPropertyTreeBuilder.h" |
| 6 | 6 |
| 7 #include "core/frame/FrameView.h" | 7 #include "core/frame/FrameView.h" |
| 8 #include "core/frame/LocalFrame.h" | 8 #include "core/frame/LocalFrame.h" |
| 9 #include "core/frame/Settings.h" | 9 #include "core/frame/Settings.h" |
| 10 #include "core/layout/LayoutInline.h" | 10 #include "core/layout/LayoutInline.h" |
| (...skipping 151 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 162 frameTranslate.translate(frameView.x() + context.current.paintOffset.x(), | 162 frameTranslate.translate(frameView.x() + context.current.paintOffset.x(), |
| 163 frameView.y() + context.current.paintOffset.y()); | 163 frameView.y() + context.current.paintOffset.y()); |
| 164 createOrUpdateFrameViewPreTranslation(frameView, context.current.transform, | 164 createOrUpdateFrameViewPreTranslation(frameView, context.current.transform, |
| 165 frameTranslate, FloatPoint3D()); | 165 frameTranslate, FloatPoint3D()); |
| 166 | 166 |
| 167 FloatRoundedRect contentClip( | 167 FloatRoundedRect contentClip( |
| 168 IntRect(IntPoint(), frameView.visibleContentSize())); | 168 IntRect(IntPoint(), frameView.visibleContentSize())); |
| 169 createOrUpdateFrameViewContentClip(frameView, context.current.clip, | 169 createOrUpdateFrameViewContentClip(frameView, context.current.clip, |
| 170 frameView.preTranslation(), contentClip); | 170 frameView.preTranslation(), contentClip); |
| 171 | 171 |
| 172 DoubleSize scrollOffset = frameView.scrollOffsetDouble(); | 172 ScrollOffset scrollOffset = frameView.scrollOffset(); |
| 173 if (frameView.isScrollable() || !scrollOffset.isZero()) { | 173 if (frameView.isScrollable() || !scrollOffset.isZero()) { |
| 174 TransformationMatrix frameScroll; | 174 TransformationMatrix frameScroll; |
| 175 frameScroll.translate(-scrollOffset.width(), -scrollOffset.height()); | 175 frameScroll.translate(-scrollOffset.width(), -scrollOffset.height()); |
| 176 createOrUpdateFrameViewScrollTranslation( | 176 createOrUpdateFrameViewScrollTranslation( |
| 177 frameView, frameView.preTranslation(), frameScroll, FloatPoint3D()); | 177 frameView, frameView.preTranslation(), frameScroll, FloatPoint3D()); |
| 178 | 178 |
| 179 IntSize scrollClip = frameView.visibleContentSize(); | 179 IntSize scrollClip = frameView.visibleContentSize(); |
| 180 IntSize scrollBounds = frameView.contentsSize(); | 180 IntSize scrollBounds = frameView.contentsSize(); |
| 181 bool userScrollableHorizontal = | 181 bool userScrollableHorizontal = |
| 182 frameView.userInputScrollable(HorizontalScrollbar); | 182 frameView.userInputScrollable(HorizontalScrollbar); |
| (...skipping 377 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 560 context.current.shouldFlattenInheritedTransform = false; | 560 context.current.shouldFlattenInheritedTransform = false; |
| 561 context.current.renderingContextID = 0; | 561 context.current.renderingContextID = 0; |
| 562 } | 562 } |
| 563 | 563 |
| 564 void PaintPropertyTreeBuilder::updateScrollAndScrollTranslation( | 564 void PaintPropertyTreeBuilder::updateScrollAndScrollTranslation( |
| 565 const LayoutObject& object, | 565 const LayoutObject& object, |
| 566 PaintPropertyTreeBuilderContext& context) { | 566 PaintPropertyTreeBuilderContext& context) { |
| 567 if (object.hasOverflowClip()) { | 567 if (object.hasOverflowClip()) { |
| 568 const LayoutBox& box = toLayoutBox(object); | 568 const LayoutBox& box = toLayoutBox(object); |
| 569 const PaintLayerScrollableArea* scrollableArea = box.getScrollableArea(); | 569 const PaintLayerScrollableArea* scrollableArea = box.getScrollableArea(); |
| 570 DoubleSize scrollOffset = box.scrolledContentOffset(); | 570 IntSize scrollOffset = box.scrolledContentOffset(); |
| 571 if (!scrollOffset.isZero() || scrollableArea->scrollsOverflow()) { | 571 if (!scrollOffset.isZero() || scrollableArea->scrollsOverflow()) { |
| 572 TransformationMatrix matrix = TransformationMatrix().translate( | 572 TransformationMatrix matrix = TransformationMatrix().translate( |
| 573 -scrollOffset.width(), -scrollOffset.height()); | 573 -scrollOffset.width(), -scrollOffset.height()); |
| 574 context.current.transform = | 574 context.current.transform = |
| 575 object.getMutableForPainting() | 575 object.getMutableForPainting() |
| 576 .ensureObjectPaintProperties() | 576 .ensureObjectPaintProperties() |
| 577 .createOrUpdateScrollTranslation( | 577 .createOrUpdateScrollTranslation( |
| 578 context.current.transform, matrix, FloatPoint3D(), | 578 context.current.transform, matrix, FloatPoint3D(), |
| 579 context.current.shouldFlattenInheritedTransform, | 579 context.current.shouldFlattenInheritedTransform, |
| 580 context.current.renderingContextID); | 580 context.current.renderingContextID); |
| (...skipping 161 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 742 return; | 742 return; |
| 743 | 743 |
| 744 updateOverflowClip(object, context); | 744 updateOverflowClip(object, context); |
| 745 updatePerspective(object, context); | 745 updatePerspective(object, context); |
| 746 updateSvgLocalToBorderBoxTransform(object, context); | 746 updateSvgLocalToBorderBoxTransform(object, context); |
| 747 updateScrollAndScrollTranslation(object, context); | 747 updateScrollAndScrollTranslation(object, context); |
| 748 updateOutOfFlowContext(object, context); | 748 updateOutOfFlowContext(object, context); |
| 749 } | 749 } |
| 750 | 750 |
| 751 } // namespace blink | 751 } // namespace blink |
| OLD | NEW |