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

Side by Side Diff: Source/core/rendering/compositing/CompositedLayerMapping.cpp

Issue 667913003: Reparented overflow controls host layer must account for scrolling. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Adding layout test Created 6 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 | Annotate | Revision Log
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 783 matching lines...) Expand 10 before | Expand all | Expand 10 after
794 m_overflowControlsClippingLayer->setOffsetFromRenderer(m_ancestorCli ppingLayer->offsetFromRenderer()); 794 m_overflowControlsClippingLayer->setOffsetFromRenderer(m_ancestorCli ppingLayer->offsetFromRenderer());
795 m_overflowControlsClippingLayer->setMasksToBounds(true); 795 m_overflowControlsClippingLayer->setMasksToBounds(true);
796 796
797 m_overflowControlsHostLayer->setPosition(IntPoint(-m_overflowControl sClippingLayer->offsetFromRenderer())); 797 m_overflowControlsHostLayer->setPosition(IntPoint(-m_overflowControl sClippingLayer->offsetFromRenderer()));
798 } else { 798 } else {
799 // The controls are in the same 2D space as the compositing containe r, so we can map them into the space of the container. 799 // The controls are in the same 2D space as the compositing containe r, so we can map them into the space of the container.
800 TransformState transformState(TransformState::ApplyTransformDirectio n, FloatPoint()); 800 TransformState transformState(TransformState::ApplyTransformDirectio n, FloatPoint());
801 m_owningLayer.renderer()->mapLocalToContainer(compositingStackingCon text->renderer(), transformState, ApplyContainerFlip); 801 m_owningLayer.renderer()->mapLocalToContainer(compositingStackingCon text->renderer(), transformState, ApplyContainerFlip);
802 transformState.flatten(); 802 transformState.flatten();
803 LayoutPoint offsetFromStackingContainer = LayoutPoint(transformState .lastPlanarPoint()); 803 LayoutPoint offsetFromStackingContainer = LayoutPoint(transformState .lastPlanarPoint());
804 if (RenderLayerScrollableArea* scrollableArea = compositingStackingC ontext->scrollableArea())
805 offsetFromStackingContainer.move(LayoutSize(scrollableArea->adju stedScrollOffset()));
804 m_overflowControlsHostLayer->setPosition(FloatPoint(offsetFromStacki ngContainer)); 806 m_overflowControlsHostLayer->setPosition(FloatPoint(offsetFromStacki ngContainer));
805 } 807 }
806 } else { 808 } else {
807 m_overflowControlsHostLayer->setPosition(FloatPoint()); 809 m_overflowControlsHostLayer->setPosition(FloatPoint());
808 } 810 }
809 } 811 }
810 812
811 void CompositedLayerMapping::updateChildContainmentLayerGeometry(const IntRect& clippingBox, const IntRect& localCompositingBounds) 813 void CompositedLayerMapping::updateChildContainmentLayerGeometry(const IntRect& clippingBox, const IntRect& localCompositingBounds)
812 { 814 {
813 if (!m_childContainmentLayer) 815 if (!m_childContainmentLayer)
(...skipping 1510 matching lines...) Expand 10 before | Expand all | Expand 10 after
2324 } else if (graphicsLayer == m_scrollingBlockSelectionLayer.get()) { 2326 } else if (graphicsLayer == m_scrollingBlockSelectionLayer.get()) {
2325 name = "Scrolling Block Selection Layer"; 2327 name = "Scrolling Block Selection Layer";
2326 } else { 2328 } else {
2327 ASSERT_NOT_REACHED(); 2329 ASSERT_NOT_REACHED();
2328 } 2330 }
2329 2331
2330 return name; 2332 return name;
2331 } 2333 }
2332 2334
2333 } // namespace blink 2335 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698