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

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

Issue 2683433002: Set m_graphicsLayer as fixed position container (Closed)
Patch Set: Add test, remove cc workaround Created 3 years, 10 months 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
« no previous file with comments | « third_party/WebKit/LayoutTests/compositing/fixed-position-container-expected.html ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 1497 matching lines...) Expand 10 before | Expand all | Expand 10 after
1508 return; 1508 return;
1509 1509
1510 scrollingCoordinator->updateLayerPositionConstraint(&m_owningLayer); 1510 scrollingCoordinator->updateLayerPositionConstraint(&m_owningLayer);
1511 1511
1512 // Page scale is applied as a transform on the root layout view layer. Because 1512 // Page scale is applied as a transform on the root layout view layer. Because
1513 // the scroll layer is further up in the hierarchy, we need to avoid marking 1513 // the scroll layer is further up in the hierarchy, we need to avoid marking
1514 // the root layout view layer as a container. 1514 // the root layout view layer as a container.
1515 bool isContainer = 1515 bool isContainer =
1516 m_owningLayer.layoutObject()->style()->canContainFixedPositionObjects() && 1516 m_owningLayer.layoutObject()->style()->canContainFixedPositionObjects() &&
1517 !m_owningLayer.isRootLayer(); 1517 !m_owningLayer.isRootLayer();
1518 // FIXME: we should make certain that childForSuperLayers will never be the
1519 // m_squashingContainmentLayer here
1520 scrollingCoordinator->setLayerIsContainerForFixedPositionLayers( 1518 scrollingCoordinator->setLayerIsContainerForFixedPositionLayers(
1521 childForSuperlayers(), isContainer); 1519 m_graphicsLayer.get(), isContainer);
1522 } 1520 }
1523 1521
1524 void CompositedLayerMapping::updateInternalHierarchy() { 1522 void CompositedLayerMapping::updateInternalHierarchy() {
1525 // m_foregroundLayer has to be inserted in the correct order with child 1523 // m_foregroundLayer has to be inserted in the correct order with child
1526 // layers, so it's not inserted here. 1524 // layers, so it's not inserted here.
1527 if (m_ancestorClippingLayer) 1525 if (m_ancestorClippingLayer)
1528 m_ancestorClippingLayer->removeAllChildren(); 1526 m_ancestorClippingLayer->removeAllChildren();
1529 1527
1530 m_graphicsLayer->removeFromParent(); 1528 m_graphicsLayer->removeFromParent();
1531 1529
(...skipping 1937 matching lines...) Expand 10 before | Expand all | Expand 10 after
3469 } else if (graphicsLayer == m_decorationOutlineLayer.get()) { 3467 } else if (graphicsLayer == m_decorationOutlineLayer.get()) {
3470 name = "Decoration Layer"; 3468 name = "Decoration Layer";
3471 } else { 3469 } else {
3472 ASSERT_NOT_REACHED(); 3470 ASSERT_NOT_REACHED();
3473 } 3471 }
3474 3472
3475 return name; 3473 return name;
3476 } 3474 }
3477 3475
3478 } // namespace blink 3476 } // namespace blink
OLDNEW
« no previous file with comments | « third_party/WebKit/LayoutTests/compositing/fixed-position-container-expected.html ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698