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

Side by Side Diff: Source/core/rendering/RenderLayerCompositor.cpp

Issue 134473008: Remove CSS regions support, keeping a bare minimum to support "region-based" multicol. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 6 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
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2009, 2010 Apple Inc. All rights reserved. 2 * Copyright (C) 2009, 2010 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 784 matching lines...) Expand 10 before | Expand all | Expand 10 after
795 if (!boundsComputed) { 795 if (!boundsComputed) {
796 // FIXME: If this layer's overlap bounds include its children, we don't need to add its 796 // FIXME: If this layer's overlap bounds include its children, we don't need to add its
797 // children's bounds to the overlap map. 797 // children's bounds to the overlap map.
798 layerBounds = enclosingIntRect(overlapMap.geometryMap().absoluteRect(lay er->overlapBounds())); 798 layerBounds = enclosingIntRect(overlapMap.geometryMap().absoluteRect(lay er->overlapBounds()));
799 // Empty rects never intersect, but we need them to for the purposes of overlap testing. 799 // Empty rects never intersect, but we need them to for the purposes of overlap testing.
800 if (layerBounds.isEmpty()) 800 if (layerBounds.isEmpty())
801 layerBounds.setSize(IntSize(1, 1)); 801 layerBounds.setSize(IntSize(1, 1));
802 boundsComputed = true; 802 boundsComputed = true;
803 } 803 }
804 804
805 IntRect clipRect = pixelSnappedIntRect(layer->clipper().backgroundClipRect(C lipRectsContext(rootRenderLayer(), 0, AbsoluteClipRects)).rect()); // FIXME: Inc orrect for CSS regions. 805 IntRect clipRect = pixelSnappedIntRect(layer->clipper().backgroundClipRect(C lipRectsContext(rootRenderLayer(), AbsoluteClipRects)).rect());
806 clipRect.intersect(layerBounds); 806 clipRect.intersect(layerBounds);
807 overlapMap.add(layer, clipRect); 807 overlapMap.add(layer, clipRect);
808 } 808 }
809 809
810 void RenderLayerCompositor::addToOverlapMapRecursive(OverlapMap& overlapMap, Ren derLayer* layer, RenderLayer* ancestorLayer) 810 void RenderLayerCompositor::addToOverlapMapRecursive(OverlapMap& overlapMap, Ren derLayer* layer, RenderLayer* ancestorLayer)
811 { 811 {
812 if (!canBeComposited(layer) || overlapMap.contains(layer)) 812 if (!canBeComposited(layer) || overlapMap.contains(layer))
813 return; 813 return;
814 814
815 // A null ancestorLayer is an indication that 'layer' has already been pushe d. 815 // A null ancestorLayer is an indication that 'layer' has already been pushe d.
(...skipping 986 matching lines...) Expand 10 before | Expand all | Expand 10 after
1802 if (next == compositingAncestor) { 1802 if (next == compositingAncestor) {
1803 computeClipRoot = curr; 1803 computeClipRoot = curr;
1804 break; 1804 break;
1805 } 1805 }
1806 curr = next; 1806 curr = next;
1807 } 1807 }
1808 1808
1809 if (!computeClipRoot || computeClipRoot == layer) 1809 if (!computeClipRoot || computeClipRoot == layer)
1810 return false; 1810 return false;
1811 1811
1812 return layer->clipper().backgroundClipRect(ClipRectsContext(computeClipRoot, 0, TemporaryClipRects)).rect() != PaintInfo::infiniteRect(); // FIXME: Incorrec t for CSS regions. 1812 return layer->clipper().backgroundClipRect(ClipRectsContext(computeClipRoot, TemporaryClipRects)).rect() != PaintInfo::infiniteRect();
1813 } 1813 }
1814 1814
1815 // Return true if the given layer is a stacking context and has compositing chil d 1815 // Return true if the given layer is a stacking context and has compositing chil d
1816 // layers that it needs to clip. In this case we insert a clipping GraphicsLayer 1816 // layers that it needs to clip. In this case we insert a clipping GraphicsLayer
1817 // into the hierarchy between this layer and its children in the z-order hierarc hy. 1817 // into the hierarchy between this layer and its children in the z-order hierarc hy.
1818 bool RenderLayerCompositor::clipsCompositingDescendants(const RenderLayer* layer ) const 1818 bool RenderLayerCompositor::clipsCompositingDescendants(const RenderLayer* layer ) const
1819 { 1819 {
1820 return layer->hasCompositingDescendant() && layer->renderer()->hasClipOrOver flowClip(); 1820 return layer->hasCompositingDescendant() && layer->renderer()->hasClipOrOver flowClip();
1821 } 1821 }
1822 1822
(...skipping 901 matching lines...) Expand 10 before | Expand all | Expand 10 after
2724 } else if (graphicsLayer == m_scrollLayer.get()) { 2724 } else if (graphicsLayer == m_scrollLayer.get()) {
2725 name = "Frame Scrolling Layer"; 2725 name = "Frame Scrolling Layer";
2726 } else { 2726 } else {
2727 ASSERT_NOT_REACHED(); 2727 ASSERT_NOT_REACHED();
2728 } 2728 }
2729 2729
2730 return name; 2730 return name;
2731 } 2731 }
2732 2732
2733 } // namespace WebCore 2733 } // namespace WebCore
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698