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

Side by Side Diff: third_party/WebKit/Source/core/layout/compositing/CompositedLayerMapping.cpp

Issue 1447273003: Make the FloatSize constructor from an IntSize explicit. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 1 month 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 unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2009, 2010, 2011 Apple Inc. All rights reserved. 2 * Copyright (C) 2009, 2010, 2011 Apple Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions 5 * modification, are permitted provided that the following conditions
6 * are met: 6 * are met:
7 * 1. Redistributions of source code must retain the above copyright 7 * 1. Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer. 8 * notice, this list of conditions and the following disclaimer.
9 * 2. Redistributions in binary form must reproduce the above copyright 9 * 2. Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the 10 * notice, this list of conditions and the following disclaimer in the
(...skipping 645 matching lines...) Expand 10 before | Expand all | Expand 10 after
656 TRACE_LAYER_INVALIDATION(layers[i].paintLayer, InspectorLayerInvalid ationTrackingEvent::SquashingLayerGeometryWasUpdated); 656 TRACE_LAYER_INVALIDATION(layers[i].paintLayer, InspectorLayerInvalid ationTrackingEvent::SquashingLayerGeometryWasUpdated);
657 layersNeedingPaintInvalidation.append(layers[i].paintLayer); 657 layersNeedingPaintInvalidation.append(layers[i].paintLayer);
658 } 658 }
659 layers[i].offsetFromLayoutObject = newOffsetFromLayoutObject; 659 layers[i].offsetFromLayoutObject = newOffsetFromLayoutObject;
660 layers[i].offsetFromLayoutObjectSet = true; 660 layers[i].offsetFromLayoutObjectSet = true;
661 661
662 layers[i].paintLayer->setSubpixelAccumulation(subpixelAccumulation); 662 layers[i].paintLayer->setSubpixelAccumulation(subpixelAccumulation);
663 } 663 }
664 664
665 squashingLayer->setPosition(squashLayerBounds.location()); 665 squashingLayer->setPosition(squashLayerBounds.location());
666 squashingLayer->setSize(squashLayerBounds.size()); 666 squashingLayer->setSize(FloatSize(squashLayerBounds.size()));
667 667
668 *offsetFromTransformedAncestor = referenceOffsetFromTransformedAncestor; 668 *offsetFromTransformedAncestor = referenceOffsetFromTransformedAncestor;
669 offsetFromTransformedAncestor->move(squashLayerOriginInOwningLayerSpace); 669 offsetFromTransformedAncestor->move(squashLayerOriginInOwningLayerSpace);
670 670
671 for (size_t i = 0; i < layers.size(); ++i) 671 for (size_t i = 0; i < layers.size(); ++i)
672 layers[i].localClipRectForSquashedLayer = localClipRectForSquashedLayer( referenceLayer, layers[i], layers); 672 layers[i].localClipRectForSquashedLayer = localClipRectForSquashedLayer( referenceLayer, layers[i], layers);
673 } 673 }
674 674
675 void CompositedLayerMapping::updateGraphicsLayerGeometry(const PaintLayer* compo sitingContainer, const PaintLayer* compositingStackingContext, Vector<PaintLayer *>& layersNeedingPaintInvalidation) 675 void CompositedLayerMapping::updateGraphicsLayerGeometry(const PaintLayer* compo sitingContainer, const PaintLayer* compositingStackingContext, Vector<PaintLayer *>& layersNeedingPaintInvalidation)
676 { 676 {
(...skipping 27 matching lines...) Expand all
704 IntPoint snappedOffsetFromCompositedAncestor; 704 IntPoint snappedOffsetFromCompositedAncestor;
705 computeBoundsOfOwningLayer(compositingContainer, localCompositingBounds, rel ativeCompositingBounds, offsetFromCompositedAncestor, snappedOffsetFromComposite dAncestor); 705 computeBoundsOfOwningLayer(compositingContainer, localCompositingBounds, rel ativeCompositingBounds, offsetFromCompositedAncestor, snappedOffsetFromComposite dAncestor);
706 706
707 IntPoint graphicsLayerParentLocation; 707 IntPoint graphicsLayerParentLocation;
708 computeGraphicsLayerParentLocation(compositingContainer, ancestorCompositing Bounds, graphicsLayerParentLocation); 708 computeGraphicsLayerParentLocation(compositingContainer, ancestorCompositing Bounds, graphicsLayerParentLocation);
709 709
710 // Might update graphicsLayerParentLocation. 710 // Might update graphicsLayerParentLocation.
711 updateAncestorClippingLayerGeometry(compositingContainer, snappedOffsetFromC ompositedAncestor, graphicsLayerParentLocation); 711 updateAncestorClippingLayerGeometry(compositingContainer, snappedOffsetFromC ompositedAncestor, graphicsLayerParentLocation);
712 updateOverflowControlsHostLayerGeometry(compositingStackingContext, composit ingContainer); 712 updateOverflowControlsHostLayerGeometry(compositingStackingContext, composit ingContainer);
713 713
714 FloatSize contentsSize = relativeCompositingBounds.size(); 714 FloatSize contentsSize(relativeCompositingBounds.size());
715 715
716 updateMainGraphicsLayerGeometry(relativeCompositingBounds, localCompositingB ounds, graphicsLayerParentLocation); 716 updateMainGraphicsLayerGeometry(relativeCompositingBounds, localCompositingB ounds, graphicsLayerParentLocation);
717 updateContentsOffsetInCompositingLayer(snappedOffsetFromCompositedAncestor, graphicsLayerParentLocation); 717 updateContentsOffsetInCompositingLayer(snappedOffsetFromCompositedAncestor, graphicsLayerParentLocation);
718 updateSquashingLayerGeometry(offsetFromCompositedAncestor, graphicsLayerPare ntLocation, m_owningLayer, m_squashedLayers, m_squashingLayer.get(), &m_squashin gLayerOffsetFromTransformedAncestor, layersNeedingPaintInvalidation); 718 updateSquashingLayerGeometry(offsetFromCompositedAncestor, graphicsLayerPare ntLocation, m_owningLayer, m_squashedLayers, m_squashingLayer.get(), &m_squashin gLayerOffsetFromTransformedAncestor, layersNeedingPaintInvalidation);
719 719
720 // If we have a layer that clips children, position it. 720 // If we have a layer that clips children, position it.
721 IntRect clippingBox; 721 IntRect clippingBox;
722 if (m_childContainmentLayer) 722 if (m_childContainmentLayer)
723 clippingBox = clipBox(toLayoutBox(layoutObject())); 723 clippingBox = clipBox(toLayoutBox(layoutObject()));
724 724
(...skipping 29 matching lines...) Expand all
754 754
755 updateCompositingReasons(); 755 updateCompositingReasons();
756 } 756 }
757 757
758 void CompositedLayerMapping::updateMainGraphicsLayerGeometry(const IntRect& rela tiveCompositingBounds, const IntRect& localCompositingBounds, const IntPoint& gr aphicsLayerParentLocation) 758 void CompositedLayerMapping::updateMainGraphicsLayerGeometry(const IntRect& rela tiveCompositingBounds, const IntRect& localCompositingBounds, const IntPoint& gr aphicsLayerParentLocation)
759 { 759 {
760 m_graphicsLayer->setPosition(FloatPoint(relativeCompositingBounds.location() - graphicsLayerParentLocation)); 760 m_graphicsLayer->setPosition(FloatPoint(relativeCompositingBounds.location() - graphicsLayerParentLocation));
761 m_graphicsLayer->setOffsetFromLayoutObject(toIntSize(localCompositingBounds. location())); 761 m_graphicsLayer->setOffsetFromLayoutObject(toIntSize(localCompositingBounds. location()));
762 762
763 FloatSize oldSize = m_graphicsLayer->size(); 763 FloatSize oldSize = m_graphicsLayer->size();
764 const IntSize& contentsSize = relativeCompositingBounds.size(); 764 const FloatSize contentsSize(relativeCompositingBounds.size());
765 if (oldSize != contentsSize) 765 if (oldSize != contentsSize)
766 m_graphicsLayer->setSize(contentsSize); 766 m_graphicsLayer->setSize(contentsSize);
767 767
768 // m_graphicsLayer is the corresponding GraphicsLayer for this PaintLayer an d its non-compositing 768 // m_graphicsLayer is the corresponding GraphicsLayer for this PaintLayer an d its non-compositing
769 // descendants. So, the visibility flag for m_graphicsLayer should be true i f there are any 769 // descendants. So, the visibility flag for m_graphicsLayer should be true i f there are any
770 // non-compositing visible layers. 770 // non-compositing visible layers.
771 bool contentsVisible = m_owningLayer.hasVisibleContent() || hasVisibleNonCom positingDescendant(&m_owningLayer); 771 bool contentsVisible = m_owningLayer.hasVisibleContent() || hasVisibleNonCom positingDescendant(&m_owningLayer);
772 if (layoutObject()->isVideo()) { 772 if (layoutObject()->isVideo()) {
773 HTMLVideoElement* videoElement = toHTMLVideoElement(layoutObject()->node ()); 773 HTMLVideoElement* videoElement = toHTMLVideoElement(layoutObject()->node ());
774 if (videoElement->isFullscreen() && videoElement->usesOverlayFullscreenV ideo()) 774 if (videoElement->isFullscreen() && videoElement->usesOverlayFullscreenV ideo())
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
807 807
808 void CompositedLayerMapping::updateAncestorClippingLayerGeometry(const PaintLaye r* compositingContainer, const IntPoint& snappedOffsetFromCompositedAncestor, In tPoint& graphicsLayerParentLocation) 808 void CompositedLayerMapping::updateAncestorClippingLayerGeometry(const PaintLaye r* compositingContainer, const IntPoint& snappedOffsetFromCompositedAncestor, In tPoint& graphicsLayerParentLocation)
809 { 809 {
810 if (!compositingContainer || !m_ancestorClippingLayer) 810 if (!compositingContainer || !m_ancestorClippingLayer)
811 return; 811 return;
812 812
813 ClipRectsContext clipRectsContext(compositingContainer, PaintingClipRectsIgn oringOverflowClip, IgnoreOverlayScrollbarSize); 813 ClipRectsContext clipRectsContext(compositingContainer, PaintingClipRectsIgn oringOverflowClip, IgnoreOverlayScrollbarSize);
814 IntRect parentClipRect = pixelSnappedIntRect(m_owningLayer.clipper().backgro undClipRect(clipRectsContext).rect()); 814 IntRect parentClipRect = pixelSnappedIntRect(m_owningLayer.clipper().backgro undClipRect(clipRectsContext).rect());
815 ASSERT(parentClipRect != LayoutRect::infiniteIntRect()); 815 ASSERT(parentClipRect != LayoutRect::infiniteIntRect());
816 m_ancestorClippingLayer->setPosition(FloatPoint(parentClipRect.location() - graphicsLayerParentLocation)); 816 m_ancestorClippingLayer->setPosition(FloatPoint(parentClipRect.location() - graphicsLayerParentLocation));
817 m_ancestorClippingLayer->setSize(parentClipRect.size()); 817 m_ancestorClippingLayer->setSize(FloatSize(parentClipRect.size()));
818 818
819 // backgroundRect is relative to compositingContainer, so subtract snappedOf fsetFromCompositedAncestor.X/snappedOffsetFromCompositedAncestor.Y to get back t o local coords. 819 // backgroundRect is relative to compositingContainer, so subtract snappedOf fsetFromCompositedAncestor.X/snappedOffsetFromCompositedAncestor.Y to get back t o local coords.
820 m_ancestorClippingLayer->setOffsetFromLayoutObject(parentClipRect.location() - snappedOffsetFromCompositedAncestor); 820 m_ancestorClippingLayer->setOffsetFromLayoutObject(parentClipRect.location() - snappedOffsetFromCompositedAncestor);
821 821
822 // The primary layer is then parented in, and positioned relative to this cl ipping layer. 822 // The primary layer is then parented in, and positioned relative to this cl ipping layer.
823 graphicsLayerParentLocation = parentClipRect.location(); 823 graphicsLayerParentLocation = parentClipRect.location();
824 } 824 }
825 825
826 void CompositedLayerMapping::updateOverflowControlsHostLayerGeometry(const Paint Layer* compositingStackingContext, const PaintLayer* compositingContainer) 826 void CompositedLayerMapping::updateOverflowControlsHostLayerGeometry(const Paint Layer* compositingStackingContext, const PaintLayer* compositingContainer)
827 { 827 {
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
867 FloatPoint clipPositionInLayoutObjectSpace(clippingBox.location() - localCom positingBounds.location() + roundedIntSize(m_owningLayer.subpixelAccumulation()) ); 867 FloatPoint clipPositionInLayoutObjectSpace(clippingBox.location() - localCom positingBounds.location() + roundedIntSize(m_owningLayer.subpixelAccumulation()) );
868 868
869 // If there are layers between the the child containment layer and 869 // If there are layers between the the child containment layer and
870 // m_graphicsLayer (eg, the child transform layer), we must adjust the clip 870 // m_graphicsLayer (eg, the child transform layer), we must adjust the clip
871 // position to get it in the correct space. 871 // position to get it in the correct space.
872 FloatPoint clipPositionInParentSpace = clipPositionInLayoutObjectSpace; 872 FloatPoint clipPositionInParentSpace = clipPositionInLayoutObjectSpace;
873 for (GraphicsLayer* ancestor = m_childContainmentLayer->parent(); ancestor ! = mainGraphicsLayer(); ancestor = ancestor->parent()) 873 for (GraphicsLayer* ancestor = m_childContainmentLayer->parent(); ancestor ! = mainGraphicsLayer(); ancestor = ancestor->parent())
874 clipPositionInParentSpace -= toFloatSize(ancestor->position()); 874 clipPositionInParentSpace -= toFloatSize(ancestor->position());
875 875
876 m_childContainmentLayer->setPosition(clipPositionInParentSpace); 876 m_childContainmentLayer->setPosition(clipPositionInParentSpace);
877 m_childContainmentLayer->setSize(clippingBox.size()); 877 m_childContainmentLayer->setSize(FloatSize(clippingBox.size()));
878 m_childContainmentLayer->setOffsetFromLayoutObject(toIntSize(clippingBox.loc ation())); 878 m_childContainmentLayer->setOffsetFromLayoutObject(toIntSize(clippingBox.loc ation()));
879 if (m_childClippingMaskLayer && !m_scrollingLayer && !layoutObject()->style( )->clipPath()) { 879 if (m_childClippingMaskLayer && !m_scrollingLayer && !layoutObject()->style( )->clipPath()) {
880 m_childClippingMaskLayer->setSize(m_childContainmentLayer->size()); 880 m_childClippingMaskLayer->setSize(m_childContainmentLayer->size());
881 m_childClippingMaskLayer->setOffsetFromLayoutObject(m_childContainmentLa yer->offsetFromLayoutObject()); 881 m_childClippingMaskLayer->setOffsetFromLayoutObject(m_childContainmentLa yer->offsetFromLayoutObject());
882 } 882 }
883 } 883 }
884 884
885 void CompositedLayerMapping::updateChildTransformLayerGeometry() 885 void CompositedLayerMapping::updateChildTransformLayerGeometry()
886 { 886 {
887 if (!m_childTransformLayer) 887 if (!m_childTransformLayer)
888 return; 888 return;
889 const IntRect borderBox = toLayoutBox(m_owningLayer.layoutObject())->pixelSn appedBorderBoxRect(); 889 const IntRect borderBox = toLayoutBox(m_owningLayer.layoutObject())->pixelSn appedBorderBoxRect();
890 m_childTransformLayer->setSize(borderBox.size()); 890 m_childTransformLayer->setSize(FloatSize(borderBox.size()));
891 m_childTransformLayer->setPosition(FloatPoint(contentOffsetInCompositingLaye r())); 891 m_childTransformLayer->setPosition(FloatPoint(contentOffsetInCompositingLaye r()));
892 } 892 }
893 893
894 void CompositedLayerMapping::updateMaskLayerGeometry() 894 void CompositedLayerMapping::updateMaskLayerGeometry()
895 { 895 {
896 if (!m_maskLayer) 896 if (!m_maskLayer)
897 return; 897 return;
898 898
899 if (m_maskLayer->size() != m_graphicsLayer->size()) { 899 if (m_maskLayer->size() != m_graphicsLayer->size()) {
900 m_maskLayer->setSize(m_graphicsLayer->size()); 900 m_maskLayer->setSize(m_graphicsLayer->size());
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
944 void CompositedLayerMapping::updateScrollingLayerGeometry(const IntRect& localCo mpositingBounds) 944 void CompositedLayerMapping::updateScrollingLayerGeometry(const IntRect& localCo mpositingBounds)
945 { 945 {
946 if (!m_scrollingLayer) 946 if (!m_scrollingLayer)
947 return; 947 return;
948 948
949 ASSERT(m_scrollingContentsLayer); 949 ASSERT(m_scrollingContentsLayer);
950 LayoutBox* layoutBox = toLayoutBox(layoutObject()); 950 LayoutBox* layoutBox = toLayoutBox(layoutObject());
951 IntRect overflowClipRect = enclosingIntRect(layoutBox->overflowClipRect(Layo utPoint())); 951 IntRect overflowClipRect = enclosingIntRect(layoutBox->overflowClipRect(Layo utPoint()));
952 DoubleSize adjustedScrollOffset = m_owningLayer.scrollableArea()->adjustedSc rollOffset(); 952 DoubleSize adjustedScrollOffset = m_owningLayer.scrollableArea()->adjustedSc rollOffset();
953 m_scrollingLayer->setPosition(FloatPoint(overflowClipRect.location() - local CompositingBounds.location() + roundedIntSize(m_owningLayer.subpixelAccumulation ()))); 953 m_scrollingLayer->setPosition(FloatPoint(overflowClipRect.location() - local CompositingBounds.location() + roundedIntSize(m_owningLayer.subpixelAccumulation ())));
954 m_scrollingLayer->setSize(overflowClipRect.size()); 954 m_scrollingLayer->setSize(FloatSize(overflowClipRect.size()));
955 955
956 IntSize oldScrollingLayerOffset = m_scrollingLayer->offsetFromLayoutObject() ; 956 IntSize oldScrollingLayerOffset = m_scrollingLayer->offsetFromLayoutObject() ;
957 m_scrollingLayer->setOffsetFromLayoutObject(-toIntSize(overflowClipRect.loca tion())); 957 m_scrollingLayer->setOffsetFromLayoutObject(-toIntSize(overflowClipRect.loca tion()));
958 958
959 if (m_childClippingMaskLayer && !layoutObject()->style()->clipPath()) { 959 if (m_childClippingMaskLayer && !layoutObject()->style()->clipPath()) {
960 m_childClippingMaskLayer->setPosition(m_scrollingLayer->position()); 960 m_childClippingMaskLayer->setPosition(m_scrollingLayer->position());
961 m_childClippingMaskLayer->setSize(m_scrollingLayer->size()); 961 m_childClippingMaskLayer->setSize(m_scrollingLayer->size());
962 m_childClippingMaskLayer->setOffsetFromLayoutObject(toIntSize(overflowCl ipRect.location())); 962 m_childClippingMaskLayer->setOffsetFromLayoutObject(toIntSize(overflowCl ipRect.location()));
963 } 963 }
964 964
965 bool overflowClipRectOffsetChanged = oldScrollingLayerOffset != m_scrollingL ayer->offsetFromLayoutObject(); 965 bool overflowClipRectOffsetChanged = oldScrollingLayerOffset != m_scrollingL ayer->offsetFromLayoutObject();
966 966
967 IntSize scrollSize(layoutBox->scrollWidth(), layoutBox->scrollHeight()); 967 IntSize scrollSize(layoutBox->scrollWidth(), layoutBox->scrollHeight());
968 if (scrollSize != m_scrollingContentsLayer->size() || overflowClipRectOffset Changed) 968 if (scrollSize != m_scrollingContentsLayer->size() || overflowClipRectOffset Changed)
969 m_scrollingContentsLayer->setNeedsDisplay(); 969 m_scrollingContentsLayer->setNeedsDisplay();
970 970
971 DoubleSize scrollingContentsOffset(overflowClipRect.location().x() - adjuste dScrollOffset.width(), overflowClipRect.location().y() - adjustedScrollOffset.he ight()); 971 DoubleSize scrollingContentsOffset(overflowClipRect.location().x() - adjuste dScrollOffset.width(), overflowClipRect.location().y() - adjustedScrollOffset.he ight());
972 // The scroll offset change is compared using floating point so that fractio nal scroll offset 972 // The scroll offset change is compared using floating point so that fractio nal scroll offset
973 // change can be propagated to compositor. 973 // change can be propagated to compositor.
974 if (scrollingContentsOffset != m_scrollingContentsLayer->offsetDoubleFromLay outObject() || scrollSize != m_scrollingContentsLayer->size()) { 974 if (scrollingContentsOffset != m_scrollingContentsLayer->offsetDoubleFromLay outObject() || scrollSize != m_scrollingContentsLayer->size()) {
975 bool coordinatorHandlesOffset = compositor()->scrollingLayerDidChange(&m _owningLayer); 975 bool coordinatorHandlesOffset = compositor()->scrollingLayerDidChange(&m _owningLayer);
976 m_scrollingContentsLayer->setPosition(coordinatorHandlesOffset ? FloatPo int() : FloatPoint(-toFloatSize(adjustedScrollOffset))); 976 m_scrollingContentsLayer->setPosition(coordinatorHandlesOffset ? FloatPo int() : FloatPoint(-toFloatSize(adjustedScrollOffset)));
977 } 977 }
978 978
979 m_scrollingContentsLayer->setSize(scrollSize); 979 m_scrollingContentsLayer->setSize(FloatSize(scrollSize));
980 // FIXME: The paint offset and the scroll offset should really be separate c oncepts. 980 // FIXME: The paint offset and the scroll offset should really be separate c oncepts.
981 m_scrollingContentsLayer->setOffsetDoubleFromLayoutObject(scrollingContentsO ffset, GraphicsLayer::DontSetNeedsDisplay); 981 m_scrollingContentsLayer->setOffsetDoubleFromLayoutObject(scrollingContentsO ffset, GraphicsLayer::DontSetNeedsDisplay);
982 982
983 if (m_foregroundLayer) { 983 if (m_foregroundLayer) {
984 if (m_foregroundLayer->size() != m_scrollingContentsLayer->size()) 984 if (m_foregroundLayer->size() != m_scrollingContentsLayer->size())
985 m_foregroundLayer->setSize(m_scrollingContentsLayer->size()); 985 m_foregroundLayer->setSize(m_scrollingContentsLayer->size());
986 m_foregroundLayer->setNeedsDisplay(); 986 m_foregroundLayer->setNeedsDisplay();
987 m_foregroundLayer->setOffsetFromLayoutObject(m_scrollingContentsLayer->o ffsetFromLayoutObject()); 987 m_foregroundLayer->setOffsetFromLayoutObject(m_scrollingContentsLayer->o ffsetFromLayoutObject());
988 } 988 }
989 989
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
1039 } 1039 }
1040 1040
1041 void CompositedLayerMapping::updateBackgroundLayerGeometry(const FloatSize& rela tiveCompositingBoundsSize) 1041 void CompositedLayerMapping::updateBackgroundLayerGeometry(const FloatSize& rela tiveCompositingBoundsSize)
1042 { 1042 {
1043 if (!m_backgroundLayer) 1043 if (!m_backgroundLayer)
1044 return; 1044 return;
1045 1045
1046 FloatSize backgroundSize = relativeCompositingBoundsSize; 1046 FloatSize backgroundSize = relativeCompositingBoundsSize;
1047 if (backgroundLayerPaintsFixedRootBackground()) { 1047 if (backgroundLayerPaintsFixedRootBackground()) {
1048 FrameView* frameView = toLayoutView(layoutObject())->frameView(); 1048 FrameView* frameView = toLayoutView(layoutObject())->frameView();
1049 backgroundSize = frameView->visibleContentRect().size(); 1049 backgroundSize = FloatSize(frameView->visibleContentRect().size());
1050 } 1050 }
1051 m_backgroundLayer->setPosition(FloatPoint()); 1051 m_backgroundLayer->setPosition(FloatPoint());
1052 if (backgroundSize != m_backgroundLayer->size()) { 1052 if (backgroundSize != m_backgroundLayer->size()) {
1053 m_backgroundLayer->setSize(backgroundSize); 1053 m_backgroundLayer->setSize(backgroundSize);
1054 m_backgroundLayer->setNeedsDisplay(); 1054 m_backgroundLayer->setNeedsDisplay();
1055 } 1055 }
1056 m_backgroundLayer->setOffsetFromLayoutObject(m_graphicsLayer->offsetFromLayo utObject()); 1056 m_backgroundLayer->setOffsetFromLayoutObject(m_graphicsLayer->offsetFromLayo utObject());
1057 } 1057 }
1058 1058
1059 void CompositedLayerMapping::registerScrollingLayers() 1059 void CompositedLayerMapping::registerScrollingLayers()
(...skipping 141 matching lines...) Expand 10 before | Expand all | Expand 10 after
1201 const bool shouldDrawContent = !blockSelectionGapsBounds.isEmpty(); 1201 const bool shouldDrawContent = !blockSelectionGapsBounds.isEmpty();
1202 m_scrollingBlockSelectionLayer->setDrawsContent(shouldDrawContent); 1202 m_scrollingBlockSelectionLayer->setDrawsContent(shouldDrawContent);
1203 if (!shouldDrawContent) 1203 if (!shouldDrawContent)
1204 return; 1204 return;
1205 // FIXME: Remove the flooredIntSize conversion. crbug.com/414283. 1205 // FIXME: Remove the flooredIntSize conversion. crbug.com/414283.
1206 const IntPoint position = blockSelectionGapsBounds.location() + flooredIntSi ze(m_owningLayer.scrollableArea()->adjustedScrollOffset()); 1206 const IntPoint position = blockSelectionGapsBounds.location() + flooredIntSi ze(m_owningLayer.scrollableArea()->adjustedScrollOffset());
1207 if (m_scrollingBlockSelectionLayer->size() == blockSelectionGapsBounds.size( ) && m_scrollingBlockSelectionLayer->position() == position) 1207 if (m_scrollingBlockSelectionLayer->size() == blockSelectionGapsBounds.size( ) && m_scrollingBlockSelectionLayer->position() == position)
1208 return; 1208 return;
1209 1209
1210 m_scrollingBlockSelectionLayer->setPosition(position); 1210 m_scrollingBlockSelectionLayer->setPosition(position);
1211 m_scrollingBlockSelectionLayer->setSize(blockSelectionGapsBounds.size()); 1211 m_scrollingBlockSelectionLayer->setSize(FloatSize(blockSelectionGapsBounds.s ize()));
1212 m_scrollingBlockSelectionLayer->setOffsetFromLayoutObject(toIntSize(blockSel ectionGapsBounds.location()), GraphicsLayer::SetNeedsDisplay); 1212 m_scrollingBlockSelectionLayer->setOffsetFromLayoutObject(toIntSize(blockSel ectionGapsBounds.location()), GraphicsLayer::SetNeedsDisplay);
1213 } 1213 }
1214 1214
1215 void CompositedLayerMapping::updateDrawsContent() 1215 void CompositedLayerMapping::updateDrawsContent()
1216 { 1216 {
1217 bool hasPaintedContent = containsPaintedContent(); 1217 bool hasPaintedContent = containsPaintedContent();
1218 m_graphicsLayer->setDrawsContent(hasPaintedContent); 1218 m_graphicsLayer->setDrawsContent(hasPaintedContent);
1219 1219
1220 if (m_scrollingLayer) { 1220 if (m_scrollingLayer) {
1221 // m_scrollingLayer never has backing store. 1221 // m_scrollingLayer never has backing store.
(...skipping 135 matching lines...) Expand 10 before | Expand all | Expand 10 after
1357 return horizontalScrollbarLayerChanged || verticalScrollbarLayerChanged || s crollCornerLayerChanged; 1357 return horizontalScrollbarLayerChanged || verticalScrollbarLayerChanged || s crollCornerLayerChanged;
1358 } 1358 }
1359 1359
1360 void CompositedLayerMapping::positionOverflowControlsLayers() 1360 void CompositedLayerMapping::positionOverflowControlsLayers()
1361 { 1361 {
1362 IntSize offsetFromLayoutObject = m_graphicsLayer->offsetFromLayoutObject() - roundedIntSize(m_owningLayer.subpixelAccumulation()); 1362 IntSize offsetFromLayoutObject = m_graphicsLayer->offsetFromLayoutObject() - roundedIntSize(m_owningLayer.subpixelAccumulation());
1363 if (GraphicsLayer* layer = layerForHorizontalScrollbar()) { 1363 if (GraphicsLayer* layer = layerForHorizontalScrollbar()) {
1364 Scrollbar* hBar = m_owningLayer.scrollableArea()->horizontalScrollbar(); 1364 Scrollbar* hBar = m_owningLayer.scrollableArea()->horizontalScrollbar();
1365 if (hBar) { 1365 if (hBar) {
1366 layer->setPosition(hBar->frameRect().location() - offsetFromLayoutOb ject); 1366 layer->setPosition(hBar->frameRect().location() - offsetFromLayoutOb ject);
1367 layer->setSize(hBar->frameRect().size()); 1367 layer->setSize(FloatSize(hBar->frameRect().size()));
1368 if (layer->hasContentsLayer()) 1368 if (layer->hasContentsLayer())
1369 layer->setContentsRect(IntRect(IntPoint(), hBar->frameRect().siz e())); 1369 layer->setContentsRect(IntRect(IntPoint(), hBar->frameRect().siz e()));
1370 } 1370 }
1371 layer->setDrawsContent(hBar && !layer->hasContentsLayer()); 1371 layer->setDrawsContent(hBar && !layer->hasContentsLayer());
1372 } 1372 }
1373 1373
1374 if (GraphicsLayer* layer = layerForVerticalScrollbar()) { 1374 if (GraphicsLayer* layer = layerForVerticalScrollbar()) {
1375 Scrollbar* vBar = m_owningLayer.scrollableArea()->verticalScrollbar(); 1375 Scrollbar* vBar = m_owningLayer.scrollableArea()->verticalScrollbar();
1376 if (vBar) { 1376 if (vBar) {
1377 layer->setPosition(vBar->frameRect().location() - offsetFromLayoutOb ject); 1377 layer->setPosition(vBar->frameRect().location() - offsetFromLayoutOb ject);
1378 layer->setSize(vBar->frameRect().size()); 1378 layer->setSize(FloatSize(vBar->frameRect().size()));
1379 if (layer->hasContentsLayer()) 1379 if (layer->hasContentsLayer())
1380 layer->setContentsRect(IntRect(IntPoint(), vBar->frameRect().siz e())); 1380 layer->setContentsRect(IntRect(IntPoint(), vBar->frameRect().siz e()));
1381 } 1381 }
1382 layer->setDrawsContent(vBar && !layer->hasContentsLayer()); 1382 layer->setDrawsContent(vBar && !layer->hasContentsLayer());
1383 } 1383 }
1384 1384
1385 if (GraphicsLayer* layer = layerForScrollCorner()) { 1385 if (GraphicsLayer* layer = layerForScrollCorner()) {
1386 const IntRect& scrollCornerAndResizer = m_owningLayer.scrollableArea()-> scrollCornerAndResizerRect(); 1386 const IntRect& scrollCornerAndResizer = m_owningLayer.scrollableArea()-> scrollCornerAndResizerRect();
1387 layer->setPosition(FloatPoint(scrollCornerAndResizer.location() - offset FromLayoutObject)); 1387 layer->setPosition(FloatPoint(scrollCornerAndResizer.location() - offset FromLayoutObject));
1388 layer->setSize(FloatSize(scrollCornerAndResizer.size())); 1388 layer->setSize(FloatSize(scrollCornerAndResizer.size()));
(...skipping 1122 matching lines...) Expand 10 before | Expand all | Expand 10 after
2511 } else if (graphicsLayer == m_scrollingBlockSelectionLayer.get()) { 2511 } else if (graphicsLayer == m_scrollingBlockSelectionLayer.get()) {
2512 name = "Scrolling Block Selection Layer"; 2512 name = "Scrolling Block Selection Layer";
2513 } else { 2513 } else {
2514 ASSERT_NOT_REACHED(); 2514 ASSERT_NOT_REACHED();
2515 } 2515 }
2516 2516
2517 return name; 2517 return name;
2518 } 2518 }
2519 2519
2520 } // namespace blink 2520 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698