OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011, 2012 Apple Inc. All rights
reserved. | 2 * Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011, 2012 Apple Inc. All rights
reserved. |
3 * | 3 * |
4 * Portions are Copyright (C) 1998 Netscape Communications Corporation. | 4 * Portions are Copyright (C) 1998 Netscape Communications Corporation. |
5 * | 5 * |
6 * Other contributors: | 6 * Other contributors: |
7 * Robert O'Callahan <roc+@cs.cmu.edu> | 7 * Robert O'Callahan <roc+@cs.cmu.edu> |
8 * David Baron <dbaron@fas.harvard.edu> | 8 * David Baron <dbaron@fas.harvard.edu> |
9 * Christian Biesinger <cbiesinger@web.de> | 9 * Christian Biesinger <cbiesinger@web.de> |
10 * Randall Jesup <rjesup@wgate.com> | 10 * Randall Jesup <rjesup@wgate.com> |
(...skipping 285 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
296 isStacking = isStackingContainer(); | 296 isStacking = isStackingContainer(); |
297 isNormalFlow = isNormalFlowOnly(); | 297 isNormalFlow = isNormalFlowOnly(); |
298 break; | 298 break; |
299 case OnlyStackingContextsCanBeStackingContainers: | 299 case OnlyStackingContextsCanBeStackingContainers: |
300 isStacking = isStackingContext(); | 300 isStacking = isStackingContext(); |
301 isNormalFlow = shouldBeNormalFlowOnlyIgnoringCompositedScrolling(); | 301 isNormalFlow = shouldBeNormalFlowOnlyIgnoringCompositedScrolling(); |
302 break; | 302 break; |
303 } | 303 } |
304 | 304 |
305 // Overflow layers are just painted by their enclosing layers, so they don't
get put in zorder lists. | 305 // Overflow layers are just painted by their enclosing layers, so they don't
get put in zorder lists. |
306 if (!isNormalFlow && !layer()->isOutOfFlowRenderFlowThread()) { | 306 if (!isNormalFlow) { |
307 // Determine which buffer the child should be in. | 307 // Determine which buffer the child should be in. |
308 OwnPtr<Vector<RenderLayerStackingNode*> >& buffer = (zIndex() >= 0) ? po
sBuffer : negBuffer; | 308 OwnPtr<Vector<RenderLayerStackingNode*> >& buffer = (zIndex() >= 0) ? po
sBuffer : negBuffer; |
309 | 309 |
310 // Create the buffer if it doesn't exist yet. | 310 // Create the buffer if it doesn't exist yet. |
311 if (!buffer) | 311 if (!buffer) |
312 buffer = adoptPtr(new Vector<RenderLayerStackingNode*>); | 312 buffer = adoptPtr(new Vector<RenderLayerStackingNode*>); |
313 | 313 |
314 // Append ourselves at the end of the appropriate buffer. | 314 // Append ourselves at the end of the appropriate buffer. |
315 buffer->append(this); | 315 buffer->append(this); |
316 } | 316 } |
(...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
419 || renderer()->isCanvas() | 419 || renderer()->isCanvas() |
420 || renderer()->isVideo() | 420 || renderer()->isVideo() |
421 || renderer()->isEmbeddedObject() | 421 || renderer()->isEmbeddedObject() |
422 || renderer()->isRenderIFrame() | 422 || renderer()->isRenderIFrame() |
423 || (renderer()->style()->specifiesColumns() && !layer()->isRootLayer()); | 423 || (renderer()->style()->specifiesColumns() && !layer()->isRootLayer()); |
424 const bool preventsElementFromBeingNormalFlow = renderer()->isPositioned() | 424 const bool preventsElementFromBeingNormalFlow = renderer()->isPositioned() |
425 || renderer()->hasTransform() | 425 || renderer()->hasTransform() |
426 || renderer()->hasClipPath() | 426 || renderer()->hasClipPath() |
427 || renderer()->hasFilter() | 427 || renderer()->hasFilter() |
428 || renderer()->hasBlendMode() | 428 || renderer()->hasBlendMode() |
429 || layer()->isTransparent() | 429 || layer()->isTransparent(); |
430 || renderer()->style()->hasFlowFrom(); | |
431 | 430 |
432 return couldBeNormalFlow && !preventsElementFromBeingNormalFlow; | 431 return couldBeNormalFlow && !preventsElementFromBeingNormalFlow; |
433 } | 432 } |
434 | 433 |
435 void RenderLayerStackingNode::updateIsNormalFlowOnly() | 434 void RenderLayerStackingNode::updateIsNormalFlowOnly() |
436 { | 435 { |
437 bool isNormalFlowOnly = shouldBeNormalFlowOnly(); | 436 bool isNormalFlowOnly = shouldBeNormalFlowOnly(); |
438 if (isNormalFlowOnly == this->isNormalFlowOnly()) | 437 if (isNormalFlowOnly == this->isNormalFlowOnly()) |
439 return; | 438 return; |
440 | 439 |
(...skipping 210 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
651 return ancestor->stackingNode(); | 650 return ancestor->stackingNode(); |
652 return 0; | 651 return 0; |
653 } | 652 } |
654 | 653 |
655 RenderLayerModelObject* RenderLayerStackingNode::renderer() const | 654 RenderLayerModelObject* RenderLayerStackingNode::renderer() const |
656 { | 655 { |
657 return m_layer->renderer(); | 656 return m_layer->renderer(); |
658 } | 657 } |
659 | 658 |
660 } // namespace WebCore | 659 } // namespace WebCore |
OLD | NEW |