Chromium Code Reviews| 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 |