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) 2005 Allan Sandfeld Jensen (kde@carewolf.com) | 4 * (C) 2005 Allan Sandfeld Jensen (kde@carewolf.com) |
5 * (C) 2005, 2006 Samuel Weinig (sam.weinig@gmail.com) | 5 * (C) 2005, 2006 Samuel Weinig (sam.weinig@gmail.com) |
6 * Copyright (C) 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights reserved. | 6 * Copyright (C) 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights reserved. |
7 * Copyright (C) 2010 Google Inc. All rights reserved. | 7 * Copyright (C) 2010 Google Inc. All rights reserved. |
8 * | 8 * |
9 * This library is free software; you can redistribute it and/or | 9 * This library is free software; you can redistribute it and/or |
10 * modify it under the terms of the GNU Library General Public | 10 * modify it under the terms of the GNU Library General Public |
(...skipping 396 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
407 } | 407 } |
408 } | 408 } |
409 return; | 409 return; |
410 } | 410 } |
411 | 411 |
412 if (descendant.isBox()) { | 412 if (descendant.isBox()) { |
413 descendant.addOutlineRects(rects, additionalOffset + toLayoutBox(descend ant).locationOffset()); | 413 descendant.addOutlineRects(rects, additionalOffset + toLayoutBox(descend ant).locationOffset()); |
414 return; | 414 return; |
415 } | 415 } |
416 | 416 |
417 if (descendant.isLayoutInline()) { | |
418 // As an optimization, an ancestor has added rects for its line boxes co vering descendants' | |
419 // line boxes, so descendants don't need to add line boxes again. In par ticular, LayoutBlock | |
chrishtr
2015/08/10 21:54:10
LayoutBlock is not necessarily the root entry poin
Xianzhu
2015/08/10 21:57:13
Done.
| |
420 // adds rects for its RootOutlineBoxes, which cover the line boxes of th is LayoutInline. | |
421 // So the LayoutInline needs to add rects for children and continuations only. | |
422 toLayoutInline(descendant).addOutlineRectsForChildrenAndContinuations(re cts, additionalOffset); | |
423 return; | |
424 } | |
425 | |
417 descendant.addOutlineRects(rects, additionalOffset); | 426 descendant.addOutlineRects(rects, additionalOffset); |
418 } | 427 } |
419 | 428 |
420 bool LayoutBoxModelObject::calculateHasBoxDecorations() const | 429 bool LayoutBoxModelObject::calculateHasBoxDecorations() const |
421 { | 430 { |
422 const ComputedStyle& styleToUse = styleRef(); | 431 const ComputedStyle& styleToUse = styleRef(); |
423 return hasBackground() || styleToUse.hasBorderDecoration() || styleToUse.has Appearance() || styleToUse.boxShadow(); | 432 return hasBackground() || styleToUse.hasBorderDecoration() || styleToUse.has Appearance() || styleToUse.boxShadow(); |
424 } | 433 } |
425 | 434 |
426 bool LayoutBoxModelObject::hasNonEmptyLayoutSize() const | 435 bool LayoutBoxModelObject::hasNonEmptyLayoutSize() const |
(...skipping 576 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1003 if (rootElementStyle->hasBackground()) | 1012 if (rootElementStyle->hasBackground()) |
1004 return false; | 1013 return false; |
1005 | 1014 |
1006 if (node() != document().firstBodyElement()) | 1015 if (node() != document().firstBodyElement()) |
1007 return false; | 1016 return false; |
1008 | 1017 |
1009 return true; | 1018 return true; |
1010 } | 1019 } |
1011 | 1020 |
1012 } // namespace blink | 1021 } // namespace blink |
OLD | NEW |