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 28 matching lines...) Expand all Loading... |
39 #include "core/frame/LocalFrame.h" | 39 #include "core/frame/LocalFrame.h" |
40 #include "core/frame/Settings.h" | 40 #include "core/frame/Settings.h" |
41 #include "core/layout/HitTestLocation.h" | 41 #include "core/layout/HitTestLocation.h" |
42 #include "core/layout/HitTestResult.h" | 42 #include "core/layout/HitTestResult.h" |
43 #include "core/layout/LayoutAnalyzer.h" | 43 #include "core/layout/LayoutAnalyzer.h" |
44 #include "core/layout/LayoutDeprecatedFlexibleBox.h" | 44 #include "core/layout/LayoutDeprecatedFlexibleBox.h" |
45 #include "core/layout/LayoutFlexibleBox.h" | 45 #include "core/layout/LayoutFlexibleBox.h" |
46 #include "core/layout/LayoutFlowThread.h" | 46 #include "core/layout/LayoutFlowThread.h" |
47 #include "core/layout/LayoutGrid.h" | 47 #include "core/layout/LayoutGrid.h" |
48 #include "core/layout/LayoutInline.h" | 48 #include "core/layout/LayoutInline.h" |
| 49 #include "core/layout/LayoutMultiColumnSpannerPlaceholder.h" |
49 #include "core/layout/LayoutObject.h" | 50 #include "core/layout/LayoutObject.h" |
50 #include "core/layout/LayoutRegion.h" | 51 #include "core/layout/LayoutRegion.h" |
51 #include "core/layout/LayoutTableCell.h" | 52 #include "core/layout/LayoutTableCell.h" |
52 #include "core/layout/LayoutTextCombine.h" | 53 #include "core/layout/LayoutTextCombine.h" |
53 #include "core/layout/LayoutTextControl.h" | 54 #include "core/layout/LayoutTextControl.h" |
54 #include "core/layout/LayoutTextFragment.h" | 55 #include "core/layout/LayoutTextFragment.h" |
55 #include "core/layout/LayoutTheme.h" | 56 #include "core/layout/LayoutTheme.h" |
56 #include "core/layout/LayoutView.h" | 57 #include "core/layout/LayoutView.h" |
57 #include "core/layout/TextAutosizer.h" | 58 #include "core/layout/TextAutosizer.h" |
58 #include "core/layout/line/InlineIterator.h" | 59 #include "core/layout/line/InlineIterator.h" |
(...skipping 1502 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1561 } | 1562 } |
1562 | 1563 |
1563 // FIXME: Glyph overflow will get lost in this case, but not really a bi
g deal. | 1564 // FIXME: Glyph overflow will get lost in this case, but not really a bi
g deal. |
1564 GlyphOverflowAndFallbackFontsMap textBoxDataMap; | 1565 GlyphOverflowAndFallbackFontsMap textBoxDataMap; |
1565 for (ListHashSet<RootInlineBox*>::const_iterator it = lineBoxes.begin();
it != lineBoxes.end(); ++it) { | 1566 for (ListHashSet<RootInlineBox*>::const_iterator it = lineBoxes.begin();
it != lineBoxes.end(); ++it) { |
1566 RootInlineBox* box = *it; | 1567 RootInlineBox* box = *it; |
1567 box->computeOverflow(box->lineTop(), box->lineBottom(), textBoxDataM
ap); | 1568 box->computeOverflow(box->lineTop(), box->lineBottom(), textBoxDataM
ap); |
1568 } | 1569 } |
1569 } else { | 1570 } else { |
1570 for (LayoutBox* box = firstChildBox(); box; box = box->nextSiblingBox())
{ | 1571 for (LayoutBox* box = firstChildBox(); box; box = box->nextSiblingBox())
{ |
1571 if (!box->isOutOfFlowPositioned()) | 1572 if (!box->isOutOfFlowPositioned()) { |
| 1573 if (box->isLayoutMultiColumnSpannerPlaceholder()) |
| 1574 toLayoutMultiColumnSpannerPlaceholder(box)->markForLayoutIfO
bjectInFlowThreadNeedsLayout(); |
1572 box->layoutIfNeeded(); | 1575 box->layoutIfNeeded(); |
| 1576 } |
1573 } | 1577 } |
1574 } | 1578 } |
1575 } | 1579 } |
1576 | 1580 |
1577 bool LayoutBlock::simplifiedLayout() | 1581 bool LayoutBlock::simplifiedLayout() |
1578 { | 1582 { |
1579 // Check if we need to do a full layout. | 1583 // Check if we need to do a full layout. |
1580 if (normalChildNeedsLayout() || selfNeedsLayout()) | 1584 if (normalChildNeedsLayout() || selfNeedsLayout()) |
1581 return false; | 1585 return false; |
1582 | 1586 |
(...skipping 2332 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3915 void LayoutBlock::showLineTreeAndMark(const InlineBox* markedBox1, const char* m
arkedLabel1, const InlineBox* markedBox2, const char* markedLabel2, const Layout
Object* obj) const | 3919 void LayoutBlock::showLineTreeAndMark(const InlineBox* markedBox1, const char* m
arkedLabel1, const InlineBox* markedBox2, const char* markedLabel2, const Layout
Object* obj) const |
3916 { | 3920 { |
3917 showLayoutObject(); | 3921 showLayoutObject(); |
3918 for (const RootInlineBox* root = firstRootBox(); root; root = root->nextRoot
Box()) | 3922 for (const RootInlineBox* root = firstRootBox(); root; root = root->nextRoot
Box()) |
3919 root->showLineTreeAndMark(markedBox1, markedLabel1, markedBox2, markedLa
bel2, obj, 1); | 3923 root->showLineTreeAndMark(markedBox1, markedLabel1, markedBox2, markedLa
bel2, obj, 1); |
3920 } | 3924 } |
3921 | 3925 |
3922 #endif | 3926 #endif |
3923 | 3927 |
3924 } // namespace blink | 3928 } // namespace blink |
OLD | NEW |