Index: cc/layer.cc |
diff --git a/cc/layer.cc b/cc/layer.cc |
index 07c811b42256e2792d8ecf842316f469fd7e4e37..d4a0e6f2ae4dd59876670cb683254732f62cf4b3 100644 |
--- a/cc/layer.cc |
+++ b/cc/layer.cc |
@@ -41,6 +41,8 @@ Layer::Layer() |
, m_anchorPointZ(0) |
, m_isContainerForFixedPositionLayers(false) |
, m_fixedToContainerLayer(false) |
+ , m_fixedToRightEdge(false) |
+ , m_fixedToBottomEdge(false) |
, m_isDrawable(false) |
, m_masksToBounds(false) |
, m_contentsOpaque(false) |
@@ -621,6 +623,24 @@ void Layer::setFixedToContainerLayer(bool fixedToContainerLayer) |
setNeedsCommit(); |
} |
+void Layer::setFixedToRightEdge(bool fixedToRightEdge) |
+{ |
+ if (m_fixedToRightEdge == fixedToRightEdge) |
+ return; |
+ m_fixedToRightEdge = fixedToRightEdge; |
+ if (m_fixedToContainerLayer) |
+ setNeedsCommit(); |
+} |
+ |
+void Layer::setFixedToBottomEdge(bool fixedToBottomEdge) |
+{ |
+ if (m_fixedToBottomEdge == fixedToBottomEdge) |
+ return; |
+ m_fixedToBottomEdge = fixedToBottomEdge; |
+ if (m_fixedToContainerLayer) |
+ setNeedsCommit(); |
+} |
+ |
void Layer::pushPropertiesTo(LayerImpl* layer) |
{ |
layer->setAnchorPoint(m_anchorPoint); |
@@ -647,7 +667,10 @@ void Layer::pushPropertiesTo(LayerImpl* layer) |
layer->setOpacity(m_opacity); |
layer->setPosition(m_position); |
layer->setIsContainerForFixedPositionLayers(m_isContainerForFixedPositionLayers); |
+ layer->setFixedContainerSizeDelta(gfx::Vector2dF()); |
layer->setFixedToContainerLayer(m_fixedToContainerLayer); |
+ layer->setFixedToRightEdge(m_fixedToRightEdge); |
+ layer->setFixedToBottomEdge(m_fixedToBottomEdge); |
layer->setPreserves3D(preserves3D()); |
layer->setUseParentBackfaceVisibility(m_useParentBackfaceVisibility); |
layer->setSublayerTransform(m_sublayerTransform); |