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

Side by Side Diff: Source/core/layout/Layer.h

Issue 977113003: Rename renderer() to layoutObject(). (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Rebase to master Created 5 years, 9 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) 2003, 2009, 2012 Apple Inc. All rights reserved. 2 * Copyright (C) 2003, 2009, 2012 Apple Inc. All rights reserved.
3 * Copyright (C) 2013 Intel Corporation. All rights reserved. 3 * Copyright (C) 2013 Intel Corporation. All rights reserved.
4 * 4 *
5 * Portions are Copyright (C) 1998 Netscape Communications Corporation. 5 * Portions are Copyright (C) 1998 Netscape Communications Corporation.
6 * 6 *
7 * Other contributors: 7 * Other contributors:
8 * Robert O'Callahan <roc+@cs.cmu.edu> 8 * Robert O'Callahan <roc+@cs.cmu.edu>
9 * David Baron <dbaron@fas.harvard.edu> 9 * David Baron <dbaron@fas.harvard.edu>
10 * Christian Biesinger <cbiesinger@web.de> 10 * Christian Biesinger <cbiesinger@web.de>
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after
86 }; 86 };
87 87
88 class Layer { 88 class Layer {
89 WTF_MAKE_NONCOPYABLE(Layer); 89 WTF_MAKE_NONCOPYABLE(Layer);
90 public: 90 public:
91 Layer(LayoutBoxModelObject*, LayerType); 91 Layer(LayoutBoxModelObject*, LayerType);
92 ~Layer(); 92 ~Layer();
93 93
94 String debugName() const; 94 String debugName() const;
95 95
96 LayoutBoxModelObject* renderer() const { return m_renderer; } 96 LayoutBoxModelObject* layoutObject() const { return m_renderer; }
97 LayoutBox* layoutBox() const { return m_renderer && m_renderer->isBox() ? to LayoutBox(m_renderer) : 0; } 97 LayoutBox* layoutBox() const { return m_renderer && m_renderer->isBox() ? to LayoutBox(m_renderer) : 0; }
98 Layer* parent() const { return m_parent; } 98 Layer* parent() const { return m_parent; }
99 Layer* previousSibling() const { return m_previous; } 99 Layer* previousSibling() const { return m_previous; }
100 Layer* nextSibling() const { return m_next; } 100 Layer* nextSibling() const { return m_next; }
101 Layer* firstChild() const { return m_first; } 101 Layer* firstChild() const { return m_first; }
102 Layer* lastChild() const { return m_last; } 102 Layer* lastChild() const { return m_last; }
103 103
104 const Layer* compositingContainer() const; 104 const Layer* compositingContainer() const;
105 105
106 void addChild(Layer* newChild, Layer* beforeChild = 0); 106 void addChild(Layer* newChild, Layer* beforeChild = 0);
107 Layer* removeChild(Layer*); 107 Layer* removeChild(Layer*);
108 108
109 void removeOnlyThisLayer(); 109 void removeOnlyThisLayer();
110 void insertOnlyThisLayer(); 110 void insertOnlyThisLayer();
111 111
112 void styleChanged(StyleDifference, const LayoutStyle* oldStyle); 112 void styleChanged(StyleDifference, const LayoutStyle* oldStyle);
113 113
114 // FIXME: Many people call this function while it has out-of-date informatio n. 114 // FIXME: Many people call this function while it has out-of-date informatio n.
115 bool isSelfPaintingLayer() const { return m_isSelfPaintingLayer; } 115 bool isSelfPaintingLayer() const { return m_isSelfPaintingLayer; }
116 116
117 void setLayerType(LayerType layerType) { m_layerType = layerType; } 117 void setLayerType(LayerType layerType) { m_layerType = layerType; }
118 118
119 bool isTransparent() const { return renderer()->isTransparent() || renderer( )->style()->hasBlendMode() || renderer()->hasMask(); } 119 bool isTransparent() const { return layoutObject()->isTransparent() || layou tObject()->style()->hasBlendMode() || layoutObject()->hasMask(); }
120 120
121 bool isReflection() const { return renderer()->isReplica(); } 121 bool isReflection() const { return layoutObject()->isReplica(); }
122 LayerReflectionInfo* reflectionInfo() { return m_reflectionInfo.get(); } 122 LayerReflectionInfo* reflectionInfo() { return m_reflectionInfo.get(); }
123 const LayerReflectionInfo* reflectionInfo() const { return m_reflectionInfo. get(); } 123 const LayerReflectionInfo* reflectionInfo() const { return m_reflectionInfo. get(); }
124 124
125 const Layer* root() const 125 const Layer* root() const
126 { 126 {
127 const Layer* curr = this; 127 const Layer* curr = this;
128 while (curr->parent()) 128 while (curr->parent())
129 curr = curr->parent(); 129 curr = curr->parent();
130 return curr; 130 return curr;
131 } 131 }
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after
202 // GraphicsLayer backing, but is nevertheless the root for a call to the Lay er::paint*() methods. 202 // GraphicsLayer backing, but is nevertheless the root for a call to the Lay er::paint*() methods.
203 Layer* enclosingLayerForPaintInvalidation() const; 203 Layer* enclosingLayerForPaintInvalidation() const;
204 204
205 Layer* enclosingLayerForPaintInvalidationCrossingFrameBoundaries() const; 205 Layer* enclosingLayerForPaintInvalidationCrossingFrameBoundaries() const;
206 206
207 bool hasAncestorWithFilterOutsets() const; 207 bool hasAncestorWithFilterOutsets() const;
208 208
209 bool canUseConvertToLayerCoords() const 209 bool canUseConvertToLayerCoords() const
210 { 210 {
211 // These LayoutObjects have an impact on their layers without the render ers knowing about it. 211 // These LayoutObjects have an impact on their layers without the render ers knowing about it.
212 return !renderer()->hasColumns() && !renderer()->hasTransformRelatedProp erty() && !renderer()->isSVGRoot(); 212 return !layoutObject()->hasColumns() && !layoutObject()->hasTransformRel atedProperty() && !layoutObject()->isSVGRoot();
213 } 213 }
214 214
215 void convertToLayerCoords(const Layer* ancestorLayer, LayoutPoint&) const; 215 void convertToLayerCoords(const Layer* ancestorLayer, LayoutPoint&) const;
216 void convertToLayerCoords(const Layer* ancestorLayer, LayoutRect&) const; 216 void convertToLayerCoords(const Layer* ancestorLayer, LayoutRect&) const;
217 217
218 // Does the same as convertToLayerCoords() when not in multicol. For multico l, however, 218 // Does the same as convertToLayerCoords() when not in multicol. For multico l, however,
219 // convertToLayerCoords() calculates the offset in flow-thread coordinates ( what the layout 219 // convertToLayerCoords() calculates the offset in flow-thread coordinates ( what the layout
220 // engine uses internally), while this method calculates the visual coordina tes; i.e. it figures 220 // engine uses internally), while this method calculates the visual coordina tes; i.e. it figures
221 // out which column the layer starts in and adds in the offset. See 221 // out which column the layer starts in and adds in the offset. See
222 // http://www.chromium.org/developers/design-documents/multi-column-layout f or more info. 222 // http://www.chromium.org/developers/design-documents/multi-column-layout f or more info.
223 LayoutPoint visualOffsetFromAncestor(const Layer* ancestorLayer) const; 223 LayoutPoint visualOffsetFromAncestor(const Layer* ancestorLayer) const;
224 224
225 // The hitTest() method looks for mouse events by walking layers that inters ect the point from front to back. 225 // The hitTest() method looks for mouse events by walking layers that inters ect the point from front to back.
226 bool hitTest(const HitTestRequest&, HitTestResult&); 226 bool hitTest(const HitTestRequest&, HitTestResult&);
227 bool hitTest(const HitTestRequest&, const HitTestLocation&, HitTestResult&); 227 bool hitTest(const HitTestRequest&, const HitTestLocation&, HitTestResult&);
228 228
229 // Pass offsetFromRoot if known. 229 // Pass offsetFromRoot if known.
230 bool intersectsDamageRect(const LayoutRect& layerBounds, const LayoutRect& d amageRect, const Layer* rootLayer, const LayoutPoint* offsetFromRoot = 0) const; 230 bool intersectsDamageRect(const LayoutRect& layerBounds, const LayoutRect& d amageRect, const Layer* rootLayer, const LayoutPoint* offsetFromRoot = 0) const;
231 231
232 // Bounding box relative to some ancestor layer. Pass offsetFromRoot if know n. 232 // Bounding box relative to some ancestor layer. Pass offsetFromRoot if know n.
233 LayoutRect physicalBoundingBox(const Layer* ancestorLayer, const LayoutPoint * offsetFromRoot = 0) const; 233 LayoutRect physicalBoundingBox(const Layer* ancestorLayer, const LayoutPoint * offsetFromRoot = 0) const;
234 LayoutRect physicalBoundingBoxIncludingReflectionAndStackingChildren(const L ayer* ancestorLayer, const LayoutPoint& offsetFromRoot) const; 234 LayoutRect physicalBoundingBoxIncludingReflectionAndStackingChildren(const L ayer* ancestorLayer, const LayoutPoint& offsetFromRoot) const;
235 LayoutRect fragmentsBoundingBox(const Layer* ancestorLayer) const; 235 LayoutRect fragmentsBoundingBox(const Layer* ancestorLayer) const;
236 236
237 LayoutRect boundingBoxForCompositingOverlapTest() const; 237 LayoutRect boundingBoxForCompositingOverlapTest() const;
238 238
239 // If true, this layer's children are included in its bounds for overlap tes ting. 239 // If true, this layer's children are included in its bounds for overlap tes ting.
240 // We can't rely on the children's positions if this layer has a filter that could have moved the children's pixels around. 240 // We can't rely on the children's positions if this layer has a filter that could have moved the children's pixels around.
241 bool overlapBoundsIncludeChildren() const { return hasFilter() && renderer() ->style()->filter().hasFilterThatMovesPixels(); } 241 bool overlapBoundsIncludeChildren() const { return hasFilter() && layoutObje ct()->style()->filter().hasFilterThatMovesPixels(); }
242 242
243 enum CalculateBoundsOptions { 243 enum CalculateBoundsOptions {
244 ApplyBoundsChickenEggHacks, 244 ApplyBoundsChickenEggHacks,
245 DoNotApplyBoundsChickenEggHacks, 245 DoNotApplyBoundsChickenEggHacks,
246 }; 246 };
247 LayoutRect boundingBoxForCompositing(const Layer* ancestorLayer = 0, Calcula teBoundsOptions = DoNotApplyBoundsChickenEggHacks) const; 247 LayoutRect boundingBoxForCompositing(const Layer* ancestorLayer = 0, Calcula teBoundsOptions = DoNotApplyBoundsChickenEggHacks) const;
248 248
249 LayoutUnit staticInlinePosition() const { return m_staticInlinePosition; } 249 LayoutUnit staticInlinePosition() const { return m_staticInlinePosition; }
250 LayoutUnit staticBlockPosition() const { return m_staticBlockPosition; } 250 LayoutUnit staticBlockPosition() const { return m_staticBlockPosition; }
251 251
252 void setStaticInlinePosition(LayoutUnit position) { m_staticInlinePosition = position; } 252 void setStaticInlinePosition(LayoutUnit position) { m_staticInlinePosition = position; }
253 void setStaticBlockPosition(LayoutUnit position) { m_staticBlockPosition = p osition; } 253 void setStaticBlockPosition(LayoutUnit position) { m_staticBlockPosition = p osition; }
254 254
255 LayoutSize subpixelAccumulation() const; 255 LayoutSize subpixelAccumulation() const;
256 void setSubpixelAccumulation(const LayoutSize&); 256 void setSubpixelAccumulation(const LayoutSize&);
257 257
258 bool hasTransformRelatedProperty() const { return renderer()->hasTransformRe latedProperty(); } 258 bool hasTransformRelatedProperty() const { return layoutObject()->hasTransfo rmRelatedProperty(); }
259 // Note that this transform has the transform-origin baked in. 259 // Note that this transform has the transform-origin baked in.
260 TransformationMatrix* transform() const { return m_transform.get(); } 260 TransformationMatrix* transform() const { return m_transform.get(); }
261 void setTransform(PassOwnPtr<TransformationMatrix> transform) { m_transform = transform; } 261 void setTransform(PassOwnPtr<TransformationMatrix> transform) { m_transform = transform; }
262 void clearTransform() { m_transform.clear(); } 262 void clearTransform() { m_transform.clear(); }
263 263
264 // currentTransform computes a transform which takes accelerated animations into account. The 264 // currentTransform computes a transform which takes accelerated animations into account. The
265 // resulting transform has transform-origin baked in. If the layer does not have a transform, 265 // resulting transform has transform-origin baked in. If the layer does not have a transform,
266 // returns the identity matrix. 266 // returns the identity matrix.
267 TransformationMatrix currentTransform(LayoutStyle::ApplyTransformOrigin = La youtStyle::IncludeTransformOrigin) const; 267 TransformationMatrix currentTransform(LayoutStyle::ApplyTransformOrigin = La youtStyle::IncludeTransformOrigin) const;
268 TransformationMatrix renderableTransform(PaintBehavior) const; 268 TransformationMatrix renderableTransform(PaintBehavior) const;
269 269
270 // Get the perspective transform, which is applied to transformed sublayers. 270 // Get the perspective transform, which is applied to transformed sublayers.
271 // Returns true if the layer has a -webkit-perspective. 271 // Returns true if the layer has a -webkit-perspective.
272 // Note that this transform has the perspective-origin baked in. 272 // Note that this transform has the perspective-origin baked in.
273 TransformationMatrix perspectiveTransform() const; 273 TransformationMatrix perspectiveTransform() const;
274 FloatPoint perspectiveOrigin() const; 274 FloatPoint perspectiveOrigin() const;
275 bool preserves3D() const { return renderer()->style()->transformStyle3D() == TransformStyle3DPreserve3D; } 275 bool preserves3D() const { return layoutObject()->style()->transformStyle3D( ) == TransformStyle3DPreserve3D; }
276 bool has3DTransform() const { return m_transform && !m_transform->isAffine() ; } 276 bool has3DTransform() const { return m_transform && !m_transform->isAffine() ; }
277 277
278 // FIXME: reflections should force transform-style to be flat in the style: https://bugs.webkit.org/show_bug.cgi?id=106959 278 // FIXME: reflections should force transform-style to be flat in the style: https://bugs.webkit.org/show_bug.cgi?id=106959
279 bool shouldPreserve3D() const { return !renderer()->hasReflection() && rende rer()->style()->transformStyle3D() == TransformStyle3DPreserve3D; } 279 bool shouldPreserve3D() const { return !layoutObject()->hasReflection() && l ayoutObject()->style()->transformStyle3D() == TransformStyle3DPreserve3D; }
280 280
281 void filterNeedsPaintInvalidation(); 281 void filterNeedsPaintInvalidation();
282 bool hasFilter() const { return renderer()->hasFilter(); } 282 bool hasFilter() const { return layoutObject()->hasFilter(); }
283 283
284 void* operator new(size_t); 284 void* operator new(size_t);
285 // Only safe to call from LayoutBoxModelObject::destroyLayer() 285 // Only safe to call from LayoutBoxModelObject::destroyLayer()
286 void operator delete(void*); 286 void operator delete(void*);
287 287
288 CompositingState compositingState() const; 288 CompositingState compositingState() const;
289 289
290 // This returns true if our document is in a phase of its lifestyle during w hich 290 // This returns true if our document is in a phase of its lifestyle during w hich
291 // compositing state may legally be read. 291 // compositing state may legally be read.
292 bool isAllowedToQueryCompositingState() const; 292 bool isAllowedToQueryCompositingState() const;
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
335 bool backgroundIsKnownToBeOpaqueInRect(const LayoutRect&) const; 335 bool backgroundIsKnownToBeOpaqueInRect(const LayoutRect&) const;
336 336
337 bool containsDirtyOverlayScrollbars() const { return m_containsDirtyOverlayS crollbars; } 337 bool containsDirtyOverlayScrollbars() const { return m_containsDirtyOverlayS crollbars; }
338 void setContainsDirtyOverlayScrollbars(bool dirtyScrollbars) { m_containsDir tyOverlayScrollbars = dirtyScrollbars; } 338 void setContainsDirtyOverlayScrollbars(bool dirtyScrollbars) { m_containsDir tyOverlayScrollbars = dirtyScrollbars; }
339 339
340 FilterOperations computeFilterOperations(const LayoutStyle&); 340 FilterOperations computeFilterOperations(const LayoutStyle&);
341 bool paintsWithFilters() const; 341 bool paintsWithFilters() const;
342 FilterEffectRenderer* filterRenderer() const 342 FilterEffectRenderer* filterRenderer() const
343 { 343 {
344 LayerFilterInfo* filterInfo = this->filterInfo(); 344 LayerFilterInfo* filterInfo = this->filterInfo();
345 return filterInfo ? filterInfo->renderer() : 0; 345 return filterInfo ? filterInfo->layoutObject() : 0;
346 } 346 }
347 347
348 LayerFilterInfo* filterInfo() const { return hasFilterInfo() ? LayerFilterIn fo::filterInfoForLayer(this) : 0; } 348 LayerFilterInfo* filterInfo() const { return hasFilterInfo() ? LayerFilterIn fo::filterInfoForLayer(this) : 0; }
349 LayerFilterInfo* ensureFilterInfo() { return LayerFilterInfo::createFilterIn foForLayerIfNeeded(this); } 349 LayerFilterInfo* ensureFilterInfo() { return LayerFilterInfo::createFilterIn foForLayerIfNeeded(this); }
350 void removeFilterInfoIfNeeded() 350 void removeFilterInfoIfNeeded()
351 { 351 {
352 if (hasFilterInfo()) 352 if (hasFilterInfo())
353 LayerFilterInfo::removeFilterInfoForLayer(this); 353 LayerFilterInfo::removeFilterInfoForLayer(this);
354 } 354 }
355 355
(...skipping 17 matching lines...) Expand all
373 // FIXME: This should probably return a ScrollableArea but a lot of internal methods are mistakenly exposed. 373 // FIXME: This should probably return a ScrollableArea but a lot of internal methods are mistakenly exposed.
374 LayerScrollableArea* scrollableArea() const { return m_scrollableArea.get(); } 374 LayerScrollableArea* scrollableArea() const { return m_scrollableArea.get(); }
375 LayerClipper& clipper() { return m_clipper; } 375 LayerClipper& clipper() { return m_clipper; }
376 const LayerClipper& clipper() const { return m_clipper; } 376 const LayerClipper& clipper() const { return m_clipper; }
377 377
378 inline bool isPositionedContainer() const 378 inline bool isPositionedContainer() const
379 { 379 {
380 // FIXME: This is not in sync with containingBlock. 380 // FIXME: This is not in sync with containingBlock.
381 // LayoutObject::canContainFixedPositionedObject() should probably be us ed 381 // LayoutObject::canContainFixedPositionedObject() should probably be us ed
382 // instead. 382 // instead.
383 LayoutBoxModelObject* layerRenderer = renderer(); 383 LayoutBoxModelObject* layerRenderer = layoutObject();
384 return isRootLayer() || layerRenderer->isPositioned() || hasTransformRel atedProperty(); 384 return isRootLayer() || layerRenderer->isPositioned() || hasTransformRel atedProperty();
385 } 385 }
386 386
387 bool scrollsOverflow() const; 387 bool scrollsOverflow() const;
388 388
389 CompositingReasons potentialCompositingReasonsFromStyle() const { return m_p otentialCompositingReasonsFromStyle; } 389 CompositingReasons potentialCompositingReasonsFromStyle() const { return m_p otentialCompositingReasonsFromStyle; }
390 void setPotentialCompositingReasonsFromStyle(CompositingReasons reasons) { A SSERT(reasons == (reasons & CompositingReasonComboAllStyleDeterminedReasons)); m _potentialCompositingReasonsFromStyle = reasons; } 390 void setPotentialCompositingReasonsFromStyle(CompositingReasons reasons) { A SSERT(reasons == (reasons & CompositingReasonComboAllStyleDeterminedReasons)); m _potentialCompositingReasonsFromStyle = reasons; }
391 391
392 bool hasStyleDeterminedDirectCompositingReasons() const { return m_potential CompositingReasonsFromStyle & CompositingReasonComboAllDirectStyleDeterminedReas ons; } 392 bool hasStyleDeterminedDirectCompositingReasons() const { return m_potential CompositingReasonsFromStyle & CompositingReasonComboAllDirectStyleDeterminedReas ons; }
393 393
(...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after
502 ASSERT(!m_hasSelfPaintingLayerDescendantDirty); 502 ASSERT(!m_hasSelfPaintingLayerDescendantDirty);
503 return m_hasSelfPaintingLayerDescendant; 503 return m_hasSelfPaintingLayerDescendant;
504 } 504 }
505 LayoutRect paintingExtent(const Layer* rootLayer, const LayoutRect& paintDir tyRect, const LayoutSize& subPixelAccumulation, PaintBehavior); 505 LayoutRect paintingExtent(const Layer* rootLayer, const LayoutRect& paintDir tyRect, const LayoutSize& subPixelAccumulation, PaintBehavior);
506 void appendSingleFragmentIgnoringPagination(LayerFragments&, const Layer* ro otLayer, const LayoutRect& dirtyRect, ClipRectsCacheSlot, OverlayScrollbarSizeRe levancy = IgnoreOverlayScrollbarSize, ShouldRespectOverflowClip = RespectOverflo wClip, const LayoutPoint* offsetFromRoot = 0, const LayoutSize& subPixelAccumula tion = LayoutSize()); 506 void appendSingleFragmentIgnoringPagination(LayerFragments&, const Layer* ro otLayer, const LayoutRect& dirtyRect, ClipRectsCacheSlot, OverlayScrollbarSizeRe levancy = IgnoreOverlayScrollbarSize, ShouldRespectOverflowClip = RespectOverflo wClip, const LayoutPoint* offsetFromRoot = 0, const LayoutSize& subPixelAccumula tion = LayoutSize());
507 void collectFragments(LayerFragments&, const Layer* rootLayer, const LayoutR ect& dirtyRect, 507 void collectFragments(LayerFragments&, const Layer* rootLayer, const LayoutR ect& dirtyRect,
508 ClipRectsCacheSlot, OverlayScrollbarSizeRelevancy inOverlayScrollbarSize Relevancy = IgnoreOverlayScrollbarSize, 508 ClipRectsCacheSlot, OverlayScrollbarSizeRelevancy inOverlayScrollbarSize Relevancy = IgnoreOverlayScrollbarSize,
509 ShouldRespectOverflowClip = RespectOverflowClip, const LayoutPoint* offs etFromRoot = 0, 509 ShouldRespectOverflowClip = RespectOverflowClip, const LayoutPoint* offs etFromRoot = 0,
510 const LayoutSize& subPixelAccumulation = LayoutSize(), const LayoutRect* layerBoundingBox = 0); 510 const LayoutSize& subPixelAccumulation = LayoutSize(), const LayoutRect* layerBoundingBox = 0);
511 511
512 LayoutPoint layoutBoxLocation() const { return renderer()->isBox() ? toLayou tBox(renderer())->location() : LayoutPoint(); } 512 LayoutPoint layoutBoxLocation() const { return layoutObject()->isBox() ? toL ayoutBox(layoutObject())->location() : LayoutPoint(); }
513 513
514 enum TransparencyClipBoxBehavior { 514 enum TransparencyClipBoxBehavior {
515 PaintingTransparencyClipBox, 515 PaintingTransparencyClipBox,
516 HitTestingTransparencyClipBox 516 HitTestingTransparencyClipBox
517 }; 517 };
518 518
519 enum TransparencyClipBoxMode { 519 enum TransparencyClipBoxMode {
520 DescendantsOfTransparencyClipBox, 520 DescendantsOfTransparencyClipBox,
521 RootOfTransparencyClipBox 521 RootOfTransparencyClipBox
522 }; 522 };
(...skipping 194 matching lines...) Expand 10 before | Expand all | Expand 10 after
717 717
718 } // namespace blink 718 } // namespace blink
719 719
720 #ifndef NDEBUG 720 #ifndef NDEBUG
721 // Outside the WebCore namespace for ease of invocation from gdb. 721 // Outside the WebCore namespace for ease of invocation from gdb.
722 void showLayerTree(const blink::Layer*); 722 void showLayerTree(const blink::Layer*);
723 void showLayerTree(const blink::LayoutObject*); 723 void showLayerTree(const blink::LayoutObject*);
724 #endif 724 #endif
725 725
726 #endif // Layer_h 726 #endif // Layer_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698