| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) | 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) |
| 3 * (C) 1999 Antti Koivisto (koivisto@kde.org) | 3 * (C) 1999 Antti Koivisto (koivisto@kde.org) |
| 4 * (C) 2007 David Smith (catfish.man@gmail.com) | 4 * (C) 2007 David Smith (catfish.man@gmail.com) |
| 5 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc.
All rights reserved. | 5 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc.
All rights reserved. |
| 6 * Copyright (C) Research In Motion Limited 2010. All rights reserved. | 6 * Copyright (C) Research In Motion Limited 2010. All rights reserved. |
| 7 * | 7 * |
| 8 * This library is free software; you can redistribute it and/or | 8 * This library is free software; you can redistribute it and/or |
| 9 * modify it under the terms of the GNU Library General Public | 9 * modify it under the terms of the GNU Library General Public |
| 10 * License as published by the Free Software Foundation; either | 10 * License as published by the Free Software Foundation; either |
| (...skipping 350 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 361 startOfContinuations = inlineElementContinuation->node()->layoutObject()
; | 361 startOfContinuations = inlineElementContinuation->node()->layoutObject()
; |
| 362 } else if (LayoutObject* firstChild = block.firstChild()) { | 362 } else if (LayoutObject* firstChild = block.firstChild()) { |
| 363 // This block is the anonymous containing block of an inline element con
tinuation. | 363 // This block is the anonymous containing block of an inline element con
tinuation. |
| 364 if (firstChild->isElementContinuation()) | 364 if (firstChild->isElementContinuation()) |
| 365 startOfContinuations = firstChild->node()->layoutObject(); | 365 startOfContinuations = firstChild->node()->layoutObject(); |
| 366 } | 366 } |
| 367 if (startOfContinuations && startOfContinuations->styleRef().outlineStyleIsA
uto()) | 367 if (startOfContinuations && startOfContinuations->styleRef().outlineStyleIsA
uto()) |
| 368 startOfContinuations->invalidateDisplayItemClient(*startOfContinuations)
; | 368 startOfContinuations->invalidateDisplayItemClient(*startOfContinuations)
; |
| 369 } | 369 } |
| 370 | 370 |
| 371 void LayoutBlock::invalidateDisplayItemClients(const LayoutBoxModelObject& paint
InvalidationContainer) const | 371 void LayoutBlock::invalidateDisplayItemClients(const LayoutBoxModelObject& paint
InvalidationContainer) |
| 372 { | 372 { |
| 373 LayoutBox::invalidateDisplayItemClients(paintInvalidationContainer); | 373 LayoutBox::invalidateDisplayItemClients(paintInvalidationContainer); |
| 374 ASSERT(RuntimeEnabledFeatures::slimmingPaintEnabled()); | 374 ASSERT(RuntimeEnabledFeatures::slimmingPaintEnabled()); |
| 375 invalidateDisplayItemClientForStartOfContinuationsIfNeeded(*this); | 375 invalidateDisplayItemClientForStartOfContinuationsIfNeeded(*this); |
| 376 } | 376 } |
| 377 | 377 |
| 378 void LayoutBlock::clearRepaintFlagsOfSubtrees() |
| 379 { |
| 380 LayoutBox::clearRepaintFlagsOfSubtrees(); |
| 381 // TODO(wangxianzhu): We should traverse in painting order instead of positi
oning order. |
| 382 // See comments in LayoutObject::markContainerChainForChildNeedsRepaint. |
| 383 if (TrackedLayoutBoxListHashSet* positionedObjects = this->positionedObjects
()) { |
| 384 for (auto o : *positionedObjects) |
| 385 o->clearRepaintFlagsRecursively(); |
| 386 } |
| 387 } |
| 388 |
| 378 void LayoutBlock::addChildIgnoringContinuation(LayoutObject* newChild, LayoutObj
ect* beforeChild) | 389 void LayoutBlock::addChildIgnoringContinuation(LayoutObject* newChild, LayoutObj
ect* beforeChild) |
| 379 { | 390 { |
| 380 if (beforeChild && beforeChild->parent() != this) { | 391 if (beforeChild && beforeChild->parent() != this) { |
| 381 LayoutObject* beforeChildContainer = beforeChild->parent(); | 392 LayoutObject* beforeChildContainer = beforeChild->parent(); |
| 382 while (beforeChildContainer->parent() != this) | 393 while (beforeChildContainer->parent() != this) |
| 383 beforeChildContainer = beforeChildContainer->parent(); | 394 beforeChildContainer = beforeChildContainer->parent(); |
| 384 ASSERT(beforeChildContainer); | 395 ASSERT(beforeChildContainer); |
| 385 | 396 |
| 386 if (beforeChildContainer->isAnonymous()) { | 397 if (beforeChildContainer->isAnonymous()) { |
| 387 // If the requested beforeChild is not one of our children, then thi
s is because | 398 // If the requested beforeChild is not one of our children, then thi
s is because |
| (...skipping 2530 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2918 void LayoutBlock::showLineTreeAndMark(const InlineBox* markedBox1, const char* m
arkedLabel1, const InlineBox* markedBox2, const char* markedLabel2, const Layout
Object* obj) const | 2929 void LayoutBlock::showLineTreeAndMark(const InlineBox* markedBox1, const char* m
arkedLabel1, const InlineBox* markedBox2, const char* markedLabel2, const Layout
Object* obj) const |
| 2919 { | 2930 { |
| 2920 showLayoutObject(); | 2931 showLayoutObject(); |
| 2921 for (const RootInlineBox* root = firstRootBox(); root; root = root->nextRoot
Box()) | 2932 for (const RootInlineBox* root = firstRootBox(); root; root = root->nextRoot
Box()) |
| 2922 root->showLineTreeAndMark(markedBox1, markedLabel1, markedBox2, markedLa
bel2, obj, 1); | 2933 root->showLineTreeAndMark(markedBox1, markedLabel1, markedBox2, markedLa
bel2, obj, 1); |
| 2923 } | 2934 } |
| 2924 | 2935 |
| 2925 #endif | 2936 #endif |
| 2926 | 2937 |
| 2927 } // namespace blink | 2938 } // namespace blink |
| OLD | NEW |