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

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

Issue 2569253002: Revert "Fix border radius on composited children." (Closed)
Patch Set: Created 4 years 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 99 matching lines...) Expand 10 before | Expand all | Expand 10 after
110 GraphicsLayer* clippingLayer() const { return m_childContainmentLayer.get(); } 110 GraphicsLayer* clippingLayer() const { return m_childContainmentLayer.get(); }
111 111
112 // Layer to get clipped by ancestor 112 // Layer to get clipped by ancestor
113 bool hasAncestorClippingLayer() const { 113 bool hasAncestorClippingLayer() const {
114 return m_ancestorClippingLayer.get(); 114 return m_ancestorClippingLayer.get();
115 } 115 }
116 GraphicsLayer* ancestorClippingLayer() const { 116 GraphicsLayer* ancestorClippingLayer() const {
117 return m_ancestorClippingLayer.get(); 117 return m_ancestorClippingLayer.get();
118 } 118 }
119 119
120 GraphicsLayer* ancestorClippingMaskLayer() const {
121 return m_ancestorClippingMaskLayer.get();
122 }
123
124 GraphicsLayer* foregroundLayer() const { return m_foregroundLayer.get(); } 120 GraphicsLayer* foregroundLayer() const { return m_foregroundLayer.get(); }
125 121
126 GraphicsLayer* backgroundLayer() const { return m_backgroundLayer.get(); } 122 GraphicsLayer* backgroundLayer() const { return m_backgroundLayer.get(); }
127 123
128 GraphicsLayer* decorationOutlineLayer() const { 124 GraphicsLayer* decorationOutlineLayer() const {
129 return m_decorationOutlineLayer.get(); 125 return m_decorationOutlineLayer.get();
130 } 126 }
131 127
132 bool backgroundLayerPaintsFixedRootBackground() const { 128 bool backgroundLayerPaintsFixedRootBackground() const {
133 return m_backgroundLayerPaintsFixedRootBackground; 129 return m_backgroundLayerPaintsFixedRootBackground;
(...skipping 246 matching lines...) Expand 10 before | Expand all | Expand 10 after
380 LayoutBoxModelObject* layoutObject() const { 376 LayoutBoxModelObject* layoutObject() const {
381 return m_owningLayer.layoutObject(); 377 return m_owningLayer.layoutObject();
382 } 378 }
383 PaintLayerCompositor* compositor() const { 379 PaintLayerCompositor* compositor() const {
384 return m_owningLayer.compositor(); 380 return m_owningLayer.compositor();
385 } 381 }
386 382
387 void updateInternalHierarchy(); 383 void updateInternalHierarchy();
388 void updatePaintingPhases(); 384 void updatePaintingPhases();
389 bool updateClippingLayers(bool needsAncestorClip, bool needsDescendantClip); 385 bool updateClippingLayers(bool needsAncestorClip, bool needsDescendantClip);
390 bool updateClippingLayers(bool needsAncestorClip,
391 bool needsAncestorClippingMask,
392 bool needsDescendantClip);
393 bool updateChildTransformLayer(bool needsChildTransformLayer); 386 bool updateChildTransformLayer(bool needsChildTransformLayer);
394 bool updateOverflowControlsLayers(bool needsHorizontalScrollbarLayer, 387 bool updateOverflowControlsLayers(bool needsHorizontalScrollbarLayer,
395 bool needsVerticalScrollbarLayer, 388 bool needsVerticalScrollbarLayer,
396 bool needsScrollCornerLayer, 389 bool needsScrollCornerLayer,
397 bool needsAncestorClip); 390 bool needsAncestorClip);
398 bool updateForegroundLayer(bool needsForegroundLayer); 391 bool updateForegroundLayer(bool needsForegroundLayer);
399 bool updateBackgroundLayer(bool needsBackgroundLayer); 392 bool updateBackgroundLayer(bool needsBackgroundLayer);
400 bool updateDecorationOutlineLayer(bool needsDecorationOutlineLayer); 393 bool updateDecorationOutlineLayer(bool needsDecorationOutlineLayer);
401 bool updateMaskLayer(bool needsMaskLayer); 394 bool updateMaskLayer(bool needsMaskLayer);
402 void updateChildClippingMaskLayer(bool needsChildClippingMaskLayer); 395 void updateChildClippingMaskLayer(bool needsChildClippingMaskLayer);
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after
477 // contains this squashed layer's clipping ancestor. The clip rect is 470 // contains this squashed layer's clipping ancestor. The clip rect is
478 // returned in the coordinate space of the given squashed layer. If there is 471 // returned in the coordinate space of the given squashed layer. If there is
479 // no such containing layer, returns the infinite rect. 472 // no such containing layer, returns the infinite rect.
480 // FIXME: unify this code with the code that sets up m_ancestorClippingLayer. 473 // FIXME: unify this code with the code that sets up m_ancestorClippingLayer.
481 // They are doing very similar things. 474 // They are doing very similar things.
482 static IntRect localClipRectForSquashedLayer( 475 static IntRect localClipRectForSquashedLayer(
483 const PaintLayer& referenceLayer, 476 const PaintLayer& referenceLayer,
484 const GraphicsLayerPaintInfo&, 477 const GraphicsLayerPaintInfo&,
485 const Vector<GraphicsLayerPaintInfo>& layers); 478 const Vector<GraphicsLayerPaintInfo>& layers);
486 479
487 // Return true in |owningLayerIsClipped| iff |m_owningLayer|'s compositing 480 // Return true if |m_owningLayer|'s compositing ancestor is not a descendant
488 // ancestor is not a descendant (inclusive) of the clipping container for 481 // (inclusive) of the clipping container for |m_owningLayer|.
489 // |m_owningLayer|. Return true in |owningLayerIsMasked| iff 482 bool owningLayerClippedByLayerNotAboveCompositedAncestor(
490 // |owningLayerIsClipped| is true and |m_owningLayer|'s compositing ancestor 483 const PaintLayer* scrollParent);
491 // is not a descendant (inclusive) of a container that applies a mask for
492 // |m_owningLayer|.
493 void owningLayerClippedOrMaskedByLayerNotAboveCompositedAncestor(
494 const PaintLayer* scrollParent,
495 bool& owningLayerIsClipped,
496 bool& owningLayerIsMasked);
497 484
498 const PaintLayer* scrollParent(); 485 const PaintLayer* scrollParent();
499 486
500 // Clear the groupedMapping entry on the layer at the given index, only if 487 // Clear the groupedMapping entry on the layer at the given index, only if
501 // that layer does not appear earlier in the set of layers for this object. 488 // that layer does not appear earlier in the set of layers for this object.
502 bool invalidateLayerIfNoPrecedingEntry(size_t); 489 bool invalidateLayerIfNoPrecedingEntry(size_t);
503 490
504 PaintLayer& m_owningLayer; 491 PaintLayer& m_owningLayer;
505 492
506 // The hierarchy of layers that is maintained by the CompositedLayerMapping 493 // The hierarchy of layers that is maintained by the CompositedLayerMapping
(...skipping 28 matching lines...) Expand all
535 // | + ... 522 // | + ...
536 // ... 523 // ...
537 // | 524 // |
538 // + B = m_ancestorClippingLayer [+] 525 // + B = m_ancestorClippingLayer [+]
539 // + m_graphicsLayer 526 // + m_graphicsLayer
540 // + ... 527 // + ...
541 // 528 //
542 // In this case B is clipped by another layer that doesn't happen to be its 529 // In this case B is clipped by another layer that doesn't happen to be its
543 // ancestor: A. So we create an ancestor clipping layer for B, [+], which 530 // ancestor: A. So we create an ancestor clipping layer for B, [+], which
544 // ensures that B is clipped as if it had been A's descendant. 531 // ensures that B is clipped as if it had been A's descendant.
545 // In addition, the m_ancestorClippingLayer will have an associated
546 // mask layer if the ancestor, A, has a border radius that requires a
547 // rounded corner clip rect. The mask is not part of the layer tree; rather
548 // it is attached to the m_ancestorClippingLayer itself.
549 //
550 // Layers that require a CSS mask also have a mask layer attached to them.
551 532
552 // Only used if we are clipped by an ancestor which is not a stacking context. 533 // Only used if we are clipped by an ancestor which is not a stacking context.
553 std::unique_ptr<GraphicsLayer> m_ancestorClippingLayer; 534 std::unique_ptr<GraphicsLayer> m_ancestorClippingLayer;
554
555 // Only used is there is an m_ancestorClippingLayer that also needs to apply
556 // a clipping mask (for CSS clips or border radius).
557 std::unique_ptr<GraphicsLayer> m_ancestorClippingMaskLayer;
558
559 std::unique_ptr<GraphicsLayer> m_graphicsLayer; 535 std::unique_ptr<GraphicsLayer> m_graphicsLayer;
560 536
561 // Only used if we have clipping on a stacking context with compositing 537 // Only used if we have clipping on a stacking context with compositing
562 // children. 538 // children.
563 std::unique_ptr<GraphicsLayer> m_childContainmentLayer; 539 std::unique_ptr<GraphicsLayer> m_childContainmentLayer;
564 540
565 // Only used if we have perspective. 541 // Only used if we have perspective.
566 std::unique_ptr<GraphicsLayer> m_childTransformLayer; 542 std::unique_ptr<GraphicsLayer> m_childTransformLayer;
567 543
568 // Only used if the layer is using composited scrolling. 544 // Only used if the layer is using composited scrolling.
(...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after
691 // layer and the graphics layer because the scrolling contents layer is 667 // layer and the graphics layer because the scrolling contents layer is
692 // clipped by the padding box. 668 // clipped by the padding box.
693 unsigned m_backgroundPaintsOntoGraphicsLayer : 1; 669 unsigned m_backgroundPaintsOntoGraphicsLayer : 1;
694 670
695 friend class CompositedLayerMappingTest; 671 friend class CompositedLayerMappingTest;
696 }; 672 };
697 673
698 } // namespace blink 674 } // namespace blink
699 675
700 #endif // CompositedLayerMapping_h 676 #endif // CompositedLayerMapping_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698