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 343 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
354 parentClipper.calculateClipRects(clipRectsContext, clipRects); | 354 parentClipper.calculateClipRects(clipRectsContext, clipRects); |
355 return; | 355 return; |
356 } | 356 } |
357 | 357 |
358 parentClipper.updateClipRects(clipRectsContext); | 358 parentClipper.updateClipRects(clipRectsContext); |
359 clipRects = *parentClipper.clipRects(clipRectsContext); | 359 clipRects = *parentClipper.clipRects(clipRectsContext); |
360 } | 360 } |
361 | 361 |
362 RenderLayer* RenderLayerClipper::clippingRootForPainting() const | 362 RenderLayer* RenderLayerClipper::clippingRootForPainting() const |
363 { | 363 { |
364 if (m_renderer->hasCompositedLayerMapping()) | 364 if (m_renderer->hasCompositedLayerMapping() || m_renderer->groupedMapping()) |
365 return const_cast<RenderLayer*>(m_renderer->layer()); | 365 return const_cast<RenderLayer*>(m_renderer->layer()); |
366 | 366 |
367 const RenderLayer* current = m_renderer->layer(); | 367 const RenderLayer* current = m_renderer->layer(); |
368 while (current) { | 368 while (current) { |
369 if (current->isRootLayer()) | 369 if (current->isRootLayer()) |
370 return const_cast<RenderLayer*>(current); | 370 return const_cast<RenderLayer*>(current); |
371 | 371 |
372 current = current->compositingContainer(); | 372 current = current->compositingContainer(); |
373 ASSERT(current); | 373 ASSERT(current); |
374 if (current->transform() | 374 if (current->transform() || (current->compositingState() == PaintsIntoOw
nBacking) || current->groupedMapping()) |
375 || (current->compositingState() == PaintsIntoOwnBacking) | |
376 ) | |
377 return const_cast<RenderLayer*>(current); | 375 return const_cast<RenderLayer*>(current); |
378 } | 376 } |
379 | 377 |
380 ASSERT_NOT_REACHED(); | 378 ASSERT_NOT_REACHED(); |
381 return 0; | 379 return 0; |
382 } | 380 } |
383 | 381 |
384 } // namespace WebCore | 382 } // namespace WebCore |
OLD | NEW |