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

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

Issue 899163003: Move rendering/RenderObject to layout/LayoutObject. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 5 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 | 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 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
64 #include "platform/graphics/paint/TransformDisplayItem.h" 64 #include "platform/graphics/paint/TransformDisplayItem.h"
65 #include "wtf/CurrentTime.h" 65 #include "wtf/CurrentTime.h"
66 #include "wtf/text/StringBuilder.h" 66 #include "wtf/text/StringBuilder.h"
67 67
68 namespace blink { 68 namespace blink {
69 69
70 using namespace HTMLNames; 70 using namespace HTMLNames;
71 71
72 static IntRect clipBox(RenderBox* renderer); 72 static IntRect clipBox(RenderBox* renderer);
73 73
74 static IntRect contentsRect(const RenderObject* renderer) 74 static IntRect contentsRect(const LayoutObject* renderer)
75 { 75 {
76 if (!renderer->isBox()) 76 if (!renderer->isBox())
77 return IntRect(); 77 return IntRect();
78 78
79 return renderer->isVideo() ? 79 return renderer->isVideo() ?
80 toRenderVideo(renderer)->videoBox() : 80 toRenderVideo(renderer)->videoBox() :
81 pixelSnappedIntRect(toRenderBox(renderer)->contentBoxRect()); 81 pixelSnappedIntRect(toRenderBox(renderer)->contentBoxRect());
82 } 82 }
83 83
84 static IntRect backgroundRect(const RenderObject* renderer) 84 static IntRect backgroundRect(const LayoutObject* renderer)
85 { 85 {
86 if (!renderer->isBox()) 86 if (!renderer->isBox())
87 return IntRect(); 87 return IntRect();
88 88
89 LayoutRect rect; 89 LayoutRect rect;
90 const RenderBox* box = toRenderBox(renderer); 90 const RenderBox* box = toRenderBox(renderer);
91 EFillBox clip = box->style()->backgroundClip(); 91 EFillBox clip = box->style()->backgroundClip();
92 switch (clip) { 92 switch (clip) {
93 case BorderFillBox: 93 case BorderFillBox:
94 rect = box->borderBoxRect(); 94 rect = box->borderBoxRect();
95 break; 95 break;
96 case PaddingFillBox: 96 case PaddingFillBox:
97 rect = box->paddingBoxRect(); 97 rect = box->paddingBoxRect();
98 break; 98 break;
99 case ContentFillBox: 99 case ContentFillBox:
100 rect = box->contentBoxRect(); 100 rect = box->contentBoxRect();
101 break; 101 break;
102 case TextFillBox: 102 case TextFillBox:
103 break; 103 break;
104 } 104 }
105 105
106 return pixelSnappedIntRect(rect); 106 return pixelSnappedIntRect(rect);
107 } 107 }
108 108
109 static inline bool isAcceleratedCanvas(const RenderObject* renderer) 109 static inline bool isAcceleratedCanvas(const LayoutObject* renderer)
110 { 110 {
111 if (renderer->isCanvas()) { 111 if (renderer->isCanvas()) {
112 HTMLCanvasElement* canvas = toHTMLCanvasElement(renderer->node()); 112 HTMLCanvasElement* canvas = toHTMLCanvasElement(renderer->node());
113 if (CanvasRenderingContext* context = canvas->renderingContext()) 113 if (CanvasRenderingContext* context = canvas->renderingContext())
114 return context->isAccelerated(); 114 return context->isAccelerated();
115 } 115 }
116 return false; 116 return false;
117 } 117 }
118 118
119 static bool hasBoxDecorationsOrBackgroundImage(const RenderStyle* style) 119 static bool hasBoxDecorationsOrBackgroundImage(const RenderStyle* style)
120 { 120 {
121 return style->hasBoxDecorations() || style->hasBackgroundImage(); 121 return style->hasBoxDecorations() || style->hasBackgroundImage();
122 } 122 }
123 123
124 static bool contentLayerSupportsDirectBackgroundComposition(const RenderObject* renderer) 124 static bool contentLayerSupportsDirectBackgroundComposition(const LayoutObject* renderer)
125 { 125 {
126 // No support for decorations - border, border-radius or outline. 126 // No support for decorations - border, border-radius or outline.
127 // Only simple background - solid color or transparent. 127 // Only simple background - solid color or transparent.
128 if (hasBoxDecorationsOrBackgroundImage(renderer->style())) 128 if (hasBoxDecorationsOrBackgroundImage(renderer->style()))
129 return false; 129 return false;
130 130
131 // If there is no background, there is nothing to support. 131 // If there is no background, there is nothing to support.
132 if (!renderer->style()->hasBackground()) 132 if (!renderer->style()->hasBackground())
133 return true; 133 return true;
134 134
135 // Simple background that is contained within the contents rect. 135 // Simple background that is contained within the contents rect.
136 return contentsRect(renderer).contains(backgroundRect(renderer)); 136 return contentsRect(renderer).contains(backgroundRect(renderer));
137 } 137 }
138 138
139 static WebLayer* platformLayerForPlugin(RenderObject* renderer) 139 static WebLayer* platformLayerForPlugin(LayoutObject* renderer)
140 { 140 {
141 if (!renderer->isEmbeddedObject()) 141 if (!renderer->isEmbeddedObject())
142 return 0; 142 return 0;
143 Widget* widget = toRenderEmbeddedObject(renderer)->widget(); 143 Widget* widget = toRenderEmbeddedObject(renderer)->widget();
144 if (!widget || !widget->isPluginView()) 144 if (!widget || !widget->isPluginView())
145 return 0; 145 return 0;
146 return toPluginView(widget)->platformLayer(); 146 return toPluginView(widget)->platformLayer();
147 147
148 } 148 }
149 149
150 static inline bool isAcceleratedContents(RenderObject* renderer) 150 static inline bool isAcceleratedContents(LayoutObject* renderer)
151 { 151 {
152 return isAcceleratedCanvas(renderer) 152 return isAcceleratedCanvas(renderer)
153 || (renderer->isEmbeddedObject() && toRenderEmbeddedObject(renderer)->re quiresAcceleratedCompositing()) 153 || (renderer->isEmbeddedObject() && toRenderEmbeddedObject(renderer)->re quiresAcceleratedCompositing())
154 || renderer->isVideo(); 154 || renderer->isVideo();
155 } 155 }
156 156
157 // Get the scrolling coordinator in a way that works inside CompositedLayerMappi ng's destructor. 157 // Get the scrolling coordinator in a way that works inside CompositedLayerMappi ng's destructor.
158 static ScrollingCoordinator* scrollingCoordinatorFromLayer(Layer& layer) 158 static ScrollingCoordinator* scrollingCoordinatorFromLayer(Layer& layer)
159 { 159 {
160 Page* page = layer.renderer()->frame()->page(); 160 Page* page = layer.renderer()->frame()->page();
(...skipping 198 matching lines...) Expand 10 before | Expand all | Expand 10 after
359 359
360 bool CompositedLayerMapping::owningLayerClippedByLayerNotAboveCompositedAncestor () 360 bool CompositedLayerMapping::owningLayerClippedByLayerNotAboveCompositedAncestor ()
361 { 361 {
362 if (!m_owningLayer.parent()) 362 if (!m_owningLayer.parent())
363 return false; 363 return false;
364 364
365 const Layer* compositingAncestor = m_owningLayer.enclosingLayerWithComposite dLayerMapping(ExcludeSelf); 365 const Layer* compositingAncestor = m_owningLayer.enclosingLayerWithComposite dLayerMapping(ExcludeSelf);
366 if (!compositingAncestor) 366 if (!compositingAncestor)
367 return false; 367 return false;
368 368
369 const RenderObject* clippingContainer = m_owningLayer.clippingContainer(); 369 const LayoutObject* clippingContainer = m_owningLayer.clippingContainer();
370 if (!clippingContainer) 370 if (!clippingContainer)
371 return false; 371 return false;
372 372
373 if (compositingAncestor->renderer()->isDescendantOf(clippingContainer)) 373 if (compositingAncestor->renderer()->isDescendantOf(clippingContainer))
374 return false; 374 return false;
375 375
376 // We ignore overflow clip here; we want composited overflow content to 376 // We ignore overflow clip here; we want composited overflow content to
377 // behave as if it lives in an unclipped universe so it can prepaint, etc. 377 // behave as if it lives in an unclipped universe so it can prepaint, etc.
378 // This means that we need to check if we are actually clipped before 378 // This means that we need to check if we are actually clipped before
379 // setting up m_ancestorClippingLayer otherwise 379 // setting up m_ancestorClippingLayer otherwise
(...skipping 14 matching lines...) Expand all
394 // Note carefully: here we assume that the compositing state of all descenda nts have been updated already, 394 // Note carefully: here we assume that the compositing state of all descenda nts have been updated already,
395 // so it is legitimate to compute and cache the composited bounds for this l ayer. 395 // so it is legitimate to compute and cache the composited bounds for this l ayer.
396 updateCompositedBounds(); 396 updateCompositedBounds();
397 397
398 if (LayerReflectionInfo* reflection = m_owningLayer.reflectionInfo()) { 398 if (LayerReflectionInfo* reflection = m_owningLayer.reflectionInfo()) {
399 if (reflection->reflectionLayer()->hasCompositedLayerMapping()) 399 if (reflection->reflectionLayer()->hasCompositedLayerMapping())
400 reflection->reflectionLayer()->compositedLayerMapping()->updateCompo sitedBounds(); 400 reflection->reflectionLayer()->compositedLayerMapping()->updateCompo sitedBounds();
401 } 401 }
402 402
403 LayerCompositor* compositor = this->compositor(); 403 LayerCompositor* compositor = this->compositor();
404 RenderObject* renderer = this->renderer(); 404 LayoutObject* renderer = this->renderer();
405 405
406 bool layerConfigChanged = false; 406 bool layerConfigChanged = false;
407 setBackgroundLayerPaintsFixedRootBackground(compositor->needsFixedRootBackgr oundLayer(&m_owningLayer)); 407 setBackgroundLayerPaintsFixedRootBackground(compositor->needsFixedRootBackgr oundLayer(&m_owningLayer));
408 408
409 // The background layer is currently only used for fixed root backgrounds. 409 // The background layer is currently only used for fixed root backgrounds.
410 if (updateBackgroundLayer(m_backgroundLayerPaintsFixedRootBackground)) 410 if (updateBackgroundLayer(m_backgroundLayerPaintsFixedRootBackground))
411 layerConfigChanged = true; 411 layerConfigChanged = true;
412 412
413 if (updateForegroundLayer(compositor->needsContentsCompositingLayer(&m_ownin gLayer))) 413 if (updateForegroundLayer(compositor->needsContentsCompositingLayer(&m_ownin gLayer)))
414 layerConfigChanged = true; 414 layerConfigChanged = true;
(...skipping 1306 matching lines...) Expand 10 before | Expand all | Expand 10 after
1721 break; 1721 break;
1722 1722
1723 finalOpacity *= curr->renderer()->opacity(); 1723 finalOpacity *= curr->renderer()->opacity();
1724 } 1724 }
1725 1725
1726 return finalOpacity; 1726 return finalOpacity;
1727 } 1727 }
1728 1728
1729 Color CompositedLayerMapping::rendererBackgroundColor() const 1729 Color CompositedLayerMapping::rendererBackgroundColor() const
1730 { 1730 {
1731 RenderObject* backgroundRenderer = renderer(); 1731 LayoutObject* backgroundRenderer = renderer();
1732 if (backgroundRenderer->isDocumentElement()) 1732 if (backgroundRenderer->isDocumentElement())
1733 backgroundRenderer = backgroundRenderer->rendererForRootBackground(); 1733 backgroundRenderer = backgroundRenderer->rendererForRootBackground();
1734 1734
1735 return backgroundRenderer->resolveColor(CSSPropertyBackgroundColor); 1735 return backgroundRenderer->resolveColor(CSSPropertyBackgroundColor);
1736 } 1736 }
1737 1737
1738 void CompositedLayerMapping::updateBackgroundColor() 1738 void CompositedLayerMapping::updateBackgroundColor()
1739 { 1739 {
1740 m_graphicsLayer->setBackgroundColor(rendererBackgroundColor()); 1740 m_graphicsLayer->setBackgroundColor(rendererBackgroundColor());
1741 } 1741 }
1742 1742
1743 bool CompositedLayerMapping::paintsChildren() const 1743 bool CompositedLayerMapping::paintsChildren() const
1744 { 1744 {
1745 if (m_owningLayer.hasVisibleContent() && m_owningLayer.hasNonEmptyChildRende rers()) 1745 if (m_owningLayer.hasVisibleContent() && m_owningLayer.hasNonEmptyChildRende rers())
1746 return true; 1746 return true;
1747 1747
1748 if (hasVisibleNonCompositingDescendant(&m_owningLayer)) 1748 if (hasVisibleNonCompositingDescendant(&m_owningLayer))
1749 return true; 1749 return true;
1750 1750
1751 return false; 1751 return false;
1752 } 1752 }
1753 1753
1754 static bool isCompositedPlugin(RenderObject* renderer) 1754 static bool isCompositedPlugin(LayoutObject* renderer)
1755 { 1755 {
1756 return renderer->isEmbeddedObject() && toRenderEmbeddedObject(renderer)->req uiresAcceleratedCompositing(); 1756 return renderer->isEmbeddedObject() && toRenderEmbeddedObject(renderer)->req uiresAcceleratedCompositing();
1757 } 1757 }
1758 1758
1759 bool CompositedLayerMapping::hasVisibleNonCompositingDescendant(Layer* parent) 1759 bool CompositedLayerMapping::hasVisibleNonCompositingDescendant(Layer* parent)
1760 { 1760 {
1761 if (!parent->hasVisibleDescendant()) 1761 if (!parent->hasVisibleDescendant())
1762 return false; 1762 return false;
1763 1763
1764 // FIXME: We shouldn't be called with a stale z-order lists. See bug 85512. 1764 // FIXME: We shouldn't be called with a stale z-order lists. See bug 85512.
(...skipping 16 matching lines...) Expand all
1781 } 1781 }
1782 1782
1783 bool CompositedLayerMapping::containsPaintedContent() const 1783 bool CompositedLayerMapping::containsPaintedContent() const
1784 { 1784 {
1785 if (m_owningLayer.isReflection()) 1785 if (m_owningLayer.isReflection())
1786 return false; 1786 return false;
1787 1787
1788 if (renderer()->isImage() && isDirectlyCompositedImage()) 1788 if (renderer()->isImage() && isDirectlyCompositedImage())
1789 return false; 1789 return false;
1790 1790
1791 RenderObject* renderObject = renderer(); 1791 LayoutObject* layoutObject = renderer();
1792 // FIXME: we could optimize cases where the image, video or canvas is known to fill the border box entirely, 1792 // FIXME: we could optimize cases where the image, video or canvas is known to fill the border box entirely,
1793 // and set background color on the layer in that case, instead of allocating backing store and painting. 1793 // and set background color on the layer in that case, instead of allocating backing store and painting.
1794 if (renderObject->isVideo() && toRenderVideo(renderer())->shouldDisplayVideo ()) 1794 if (layoutObject->isVideo() && toRenderVideo(renderer())->shouldDisplayVideo ())
1795 return m_owningLayer.hasBoxDecorationsOrBackground(); 1795 return m_owningLayer.hasBoxDecorationsOrBackground();
1796 1796
1797 if (m_owningLayer.hasVisibleBoxDecorations()) 1797 if (m_owningLayer.hasVisibleBoxDecorations())
1798 return true; 1798 return true;
1799 1799
1800 if (renderObject->hasMask()) // masks require special treatment 1800 if (layoutObject->hasMask()) // masks require special treatment
1801 return true; 1801 return true;
1802 1802
1803 if (renderObject->isReplaced() && !isCompositedPlugin(renderObject)) 1803 if (layoutObject->isReplaced() && !isCompositedPlugin(layoutObject))
1804 return true; 1804 return true;
1805 1805
1806 if (renderObject->isRenderRegion()) 1806 if (layoutObject->isRenderRegion())
1807 return true; 1807 return true;
1808 1808
1809 if (renderObject->node() && renderObject->node()->isDocumentNode()) { 1809 if (layoutObject->node() && layoutObject->node()->isDocumentNode()) {
1810 // Look to see if the root object has a non-simple background 1810 // Look to see if the root object has a non-simple background
1811 RenderObject* rootObject = renderObject->document().documentElement() ? renderObject->document().documentElement()->renderer() : 0; 1811 LayoutObject* rootObject = layoutObject->document().documentElement() ? layoutObject->document().documentElement()->renderer() : 0;
1812 // Reject anything that has a border, a border-radius or outline, 1812 // Reject anything that has a border, a border-radius or outline,
1813 // or is not a simple background (no background, or solid color). 1813 // or is not a simple background (no background, or solid color).
1814 if (rootObject && hasBoxDecorationsOrBackgroundImage(rootObject->style() )) 1814 if (rootObject && hasBoxDecorationsOrBackgroundImage(rootObject->style() ))
1815 return true; 1815 return true;
1816 1816
1817 // Now look at the body's renderer. 1817 // Now look at the body's renderer.
1818 HTMLElement* body = renderObject->document().body(); 1818 HTMLElement* body = layoutObject->document().body();
1819 RenderObject* bodyObject = isHTMLBodyElement(body) ? body->renderer() : 0; 1819 LayoutObject* bodyObject = isHTMLBodyElement(body) ? body->renderer() : 0;
1820 if (bodyObject && hasBoxDecorationsOrBackgroundImage(bodyObject->style() )) 1820 if (bodyObject && hasBoxDecorationsOrBackgroundImage(bodyObject->style() ))
1821 return true; 1821 return true;
1822 } 1822 }
1823 1823
1824 // FIXME: it's O(n^2). A better solution is needed. 1824 // FIXME: it's O(n^2). A better solution is needed.
1825 return paintsChildren(); 1825 return paintsChildren();
1826 } 1826 }
1827 1827
1828 // An image can be directly compositing if it's the sole content of the layer, a nd has no box decorations 1828 // An image can be directly compositing if it's the sole content of the layer, a nd has no box decorations
1829 // that require painting. Direct compositing saves backing store. 1829 // that require painting. Direct compositing saves backing store.
1830 bool CompositedLayerMapping::isDirectlyCompositedImage() const 1830 bool CompositedLayerMapping::isDirectlyCompositedImage() const
1831 { 1831 {
1832 ASSERT(renderer()->isImage()); 1832 ASSERT(renderer()->isImage());
1833 1833
1834 RenderObject* renderObject = renderer(); 1834 LayoutObject* layoutObject = renderer();
1835 if (m_owningLayer.hasBoxDecorationsOrBackground() || renderObject->hasClip() || renderObject->hasClipPath()) 1835 if (m_owningLayer.hasBoxDecorationsOrBackground() || layoutObject->hasClip() || layoutObject->hasClipPath())
1836 return false; 1836 return false;
1837 1837
1838 RenderImage* imageRenderer = toRenderImage(renderObject); 1838 RenderImage* imageRenderer = toRenderImage(layoutObject);
1839 if (ImageResource* cachedImage = imageRenderer->cachedImage()) { 1839 if (ImageResource* cachedImage = imageRenderer->cachedImage()) {
1840 if (!cachedImage->hasImage()) 1840 if (!cachedImage->hasImage())
1841 return false; 1841 return false;
1842 1842
1843 Image* image = cachedImage->imageForRenderer(imageRenderer); 1843 Image* image = cachedImage->imageForRenderer(imageRenderer);
1844 return image->isBitmapImage(); 1844 return image->isBitmapImage();
1845 } 1845 }
1846 1846
1847 return false; 1847 return false;
1848 } 1848 }
(...skipping 176 matching lines...) Expand 10 before | Expand all | Expand 10 after
2025 void CompositedLayerMapping::setContentsNeedDisplayInRect(const LayoutRect& r, P aintInvalidationReason invalidationReason) 2025 void CompositedLayerMapping::setContentsNeedDisplayInRect(const LayoutRect& r, P aintInvalidationReason invalidationReason)
2026 { 2026 {
2027 // FIXME: need to split out paint invalidations for the background. 2027 // FIXME: need to split out paint invalidations for the background.
2028 SetContentsNeedsDisplayInRectFunctor functor = { 2028 SetContentsNeedsDisplayInRectFunctor functor = {
2029 pixelSnappedIntRect(r.location() + m_owningLayer.subpixelAccumulation(), r.size()), 2029 pixelSnappedIntRect(r.location() + m_owningLayer.subpixelAccumulation(), r.size()),
2030 invalidationReason 2030 invalidationReason
2031 }; 2031 };
2032 ApplyToGraphicsLayers(this, functor, ApplyToContentLayers); 2032 ApplyToGraphicsLayers(this, functor, ApplyToContentLayers);
2033 } 2033 }
2034 2034
2035 const GraphicsLayerPaintInfo* CompositedLayerMapping::containingSquashedLayer(co nst RenderObject* renderObject, const Vector<GraphicsLayerPaintInfo>& layers, un signed maxSquashedLayerIndex) 2035 const GraphicsLayerPaintInfo* CompositedLayerMapping::containingSquashedLayer(co nst LayoutObject* layoutObject, const Vector<GraphicsLayerPaintInfo>& layers, un signed maxSquashedLayerIndex)
2036 { 2036 {
2037 for (size_t i = 0; i < layers.size() && i < maxSquashedLayerIndex; ++i) { 2037 for (size_t i = 0; i < layers.size() && i < maxSquashedLayerIndex; ++i) {
2038 if (renderObject->isDescendantOf(layers[i].renderLayer->renderer())) 2038 if (layoutObject->isDescendantOf(layers[i].renderLayer->renderer()))
2039 return &layers[i]; 2039 return &layers[i];
2040 } 2040 }
2041 return 0; 2041 return 0;
2042 } 2042 }
2043 2043
2044 const GraphicsLayerPaintInfo* CompositedLayerMapping::containingSquashedLayer(co nst RenderObject* renderObject, unsigned maxSquashedLayerIndex) 2044 const GraphicsLayerPaintInfo* CompositedLayerMapping::containingSquashedLayer(co nst LayoutObject* layoutObject, unsigned maxSquashedLayerIndex)
2045 { 2045 {
2046 return CompositedLayerMapping::containingSquashedLayer(renderObject, m_squas hedLayers, maxSquashedLayerIndex); 2046 return CompositedLayerMapping::containingSquashedLayer(layoutObject, m_squas hedLayers, maxSquashedLayerIndex);
2047 } 2047 }
2048 2048
2049 IntRect CompositedLayerMapping::localClipRectForSquashedLayer(const Layer& refer enceLayer, const GraphicsLayerPaintInfo& paintInfo, const Vector<GraphicsLayerPa intInfo>& layers) 2049 IntRect CompositedLayerMapping::localClipRectForSquashedLayer(const Layer& refer enceLayer, const GraphicsLayerPaintInfo& paintInfo, const Vector<GraphicsLayerPa intInfo>& layers)
2050 { 2050 {
2051 const RenderObject* clippingContainer = paintInfo.renderLayer->clippingConta iner(); 2051 const LayoutObject* clippingContainer = paintInfo.renderLayer->clippingConta iner();
2052 if (clippingContainer == referenceLayer.clippingContainer()) 2052 if (clippingContainer == referenceLayer.clippingContainer())
2053 return LayoutRect::infiniteIntRect(); 2053 return LayoutRect::infiniteIntRect();
2054 2054
2055 ASSERT(clippingContainer); 2055 ASSERT(clippingContainer);
2056 2056
2057 const GraphicsLayerPaintInfo* ancestorPaintInfo = containingSquashedLayer(cl ippingContainer, layers, layers.size()); 2057 const GraphicsLayerPaintInfo* ancestorPaintInfo = containingSquashedLayer(cl ippingContainer, layers, layers.size());
2058 // Must be there, otherwise CompositingLayerAssigner::canSquashIntoCurrentSq uashingOwner would have disallowed squashing. 2058 // Must be there, otherwise CompositingLayerAssigner::canSquashIntoCurrentSq uashingOwner would have disallowed squashing.
2059 ASSERT(ancestorPaintInfo); 2059 ASSERT(ancestorPaintInfo);
2060 2060
2061 // FIXME: this is a potential performance issue. We should consider caching these clip rects or otherwise optimizing. 2061 // FIXME: this is a potential performance issue. We should consider caching these clip rects or otherwise optimizing.
(...skipping 274 matching lines...) Expand 10 before | Expand all | Expand 10 after
2336 } else if (graphicsLayer == m_scrollingBlockSelectionLayer.get()) { 2336 } else if (graphicsLayer == m_scrollingBlockSelectionLayer.get()) {
2337 name = "Scrolling Block Selection Layer"; 2337 name = "Scrolling Block Selection Layer";
2338 } else { 2338 } else {
2339 ASSERT_NOT_REACHED(); 2339 ASSERT_NOT_REACHED();
2340 } 2340 }
2341 2341
2342 return name; 2342 return name;
2343 } 2343 }
2344 2344
2345 } // namespace blink 2345 } // namespace blink
OLDNEW
« no previous file with comments | « Source/core/layout/compositing/CompositedLayerMapping.h ('k') | Source/core/layout/compositing/CompositingInputsUpdater.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698