| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "core/paint/LineBoxListPainter.h" | 5 #include "core/paint/LineBoxListPainter.h" |
| 6 | 6 |
| 7 #include "core/layout/LayoutBoxModelObject.h" | 7 #include "core/layout/LayoutBoxModelObject.h" |
| 8 #include "core/layout/api/LineLayoutBoxModel.h" | 8 #include "core/layout/api/LineLayoutBoxModel.h" |
| 9 #include "core/layout/line/InlineFlowBox.h" | 9 #include "core/layout/line/InlineFlowBox.h" |
| 10 #include "core/layout/line/LineBoxList.h" | 10 #include "core/layout/line/LineBoxList.h" |
| (...skipping 24 matching lines...) Expand all Loading... |
| 35 ASSERT(!shouldPaintSelfOutline(paintInfo.phase) && | 35 ASSERT(!shouldPaintSelfOutline(paintInfo.phase) && |
| 36 !shouldPaintDescendantOutlines(paintInfo.phase)); | 36 !shouldPaintDescendantOutlines(paintInfo.phase)); |
| 37 | 37 |
| 38 // Only paint during the foreground/selection phases. | 38 // Only paint during the foreground/selection phases. |
| 39 if (paintInfo.phase != PaintPhaseForeground && | 39 if (paintInfo.phase != PaintPhaseForeground && |
| 40 paintInfo.phase != PaintPhaseSelection && | 40 paintInfo.phase != PaintPhaseSelection && |
| 41 paintInfo.phase != PaintPhaseTextClip && | 41 paintInfo.phase != PaintPhaseTextClip && |
| 42 paintInfo.phase != PaintPhaseMask) | 42 paintInfo.phase != PaintPhaseMask) |
| 43 return; | 43 return; |
| 44 | 44 |
| 45 ASSERT( | 45 // The only way an inline could paint like this is if it has a layer. |
| 46 layoutObject.isLayoutBlock() || | 46 ASSERT(layoutObject.isLayoutBlock() || |
| 47 (layoutObject.isLayoutInline() && | 47 (layoutObject.isLayoutInline() && layoutObject.hasLayer())); |
| 48 layoutObject | |
| 49 .hasLayer())); // The only way an inline could paint like this is if
it has a layer. | |
| 50 | 48 |
| 51 if (paintInfo.phase == PaintPhaseForeground && paintInfo.isPrinting()) | 49 if (paintInfo.phase == PaintPhaseForeground && paintInfo.isPrinting()) |
| 52 addPDFURLRectsForInlineChildrenRecursively(layoutObject, paintInfo, | 50 addPDFURLRectsForInlineChildrenRecursively(layoutObject, paintInfo, |
| 53 paintOffset); | 51 paintOffset); |
| 54 | 52 |
| 55 // If we have no lines then we have no work to do. | 53 // If we have no lines then we have no work to do. |
| 56 if (!m_lineBoxList.firstLineBox()) | 54 if (!m_lineBoxList.firstLineBox()) |
| 57 return; | 55 return; |
| 58 | 56 |
| 59 if (!m_lineBoxList.anyLineIntersectsRect( | 57 if (!m_lineBoxList.anyLineIntersectsRect( |
| (...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 97 | 95 |
| 98 void LineBoxListPainter::invalidateLineBoxPaintOffsets( | 96 void LineBoxListPainter::invalidateLineBoxPaintOffsets( |
| 99 const PaintInfo& paintInfo) const { | 97 const PaintInfo& paintInfo) const { |
| 100 PaintController& paintController = paintInfo.context.getPaintController(); | 98 PaintController& paintController = paintInfo.context.getPaintController(); |
| 101 for (InlineFlowBox* curr = m_lineBoxList.firstLineBox(); curr; | 99 for (InlineFlowBox* curr = m_lineBoxList.firstLineBox(); curr; |
| 102 curr = curr->nextLineBox()) | 100 curr = curr->nextLineBox()) |
| 103 invalidateLineBoxPaintOffsetsInternal(paintController, curr); | 101 invalidateLineBoxPaintOffsetsInternal(paintController, curr); |
| 104 } | 102 } |
| 105 | 103 |
| 106 } // namespace blink | 104 } // namespace blink |
| OLD | NEW |