Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(202)

Side by Side Diff: Source/core/rendering/RenderBlockFlow.h

Issue 153233002: *** DO NOT LAND *** Remove regions support, keeping a bare minimum to support "region-based"... (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 6 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « Source/core/rendering/RenderBlock.cpp ('k') | Source/core/rendering/RenderBlockFlow.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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-2013 Apple Inc. All rights reserved. 5 * Copyright (C) 2003-2013 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 * Copyright (C) 2013 Google Inc. All rights reserved. 7 * Copyright (C) 2013 Google Inc. All rights reserved.
8 * 8 *
9 * Redistribution and use in source and binary forms, with or without 9 * Redistribution and use in source and binary forms, with or without
10 * modification, are permitted provided that the following conditions are 10 * modification, are permitted provided that the following conditions are
(...skipping 28 matching lines...) Expand all
39 #include "core/rendering/FloatingObjects.h" 39 #include "core/rendering/FloatingObjects.h"
40 #include "core/rendering/RenderBlock.h" 40 #include "core/rendering/RenderBlock.h"
41 #include "core/rendering/line/TrailingObjects.h" 41 #include "core/rendering/line/TrailingObjects.h"
42 #include "core/rendering/style/RenderStyleConstants.h" 42 #include "core/rendering/style/RenderStyleConstants.h"
43 43
44 namespace WebCore { 44 namespace WebCore {
45 45
46 class MarginInfo; 46 class MarginInfo;
47 class LineBreaker; 47 class LineBreaker;
48 class LineWidth; 48 class LineWidth;
49 class RenderNamedFlowFragment;
50 49
51 class RenderBlockFlow : public RenderBlock { 50 class RenderBlockFlow : public RenderBlock {
52 public: 51 public:
53 explicit RenderBlockFlow(ContainerNode*); 52 explicit RenderBlockFlow(ContainerNode*);
54 virtual ~RenderBlockFlow(); 53 virtual ~RenderBlockFlow();
55 54
56 static RenderBlockFlow* createAnonymous(Document*); 55 static RenderBlockFlow* createAnonymous(Document*);
57 RenderBlockFlow* createAnonymousBlockFlow() const; 56 RenderBlockFlow* createAnonymousBlockFlow() const;
58 57
59 virtual bool isRenderBlockFlow() const OVERRIDE FINAL { return true; } 58 virtual bool isRenderBlockFlow() const OVERRIDE FINAL { return true; }
60 59
61 virtual void layoutBlock(bool relayoutChildren) OVERRIDE; 60 virtual void layoutBlock(bool relayoutChildren) OVERRIDE;
62 61
63 virtual void computeOverflow(LayoutUnit oldClientAfterEdge, bool recomputeFl oats = false) OVERRIDE; 62 virtual void computeOverflow(LayoutUnit oldClientAfterEdge, bool recomputeFl oats = false) OVERRIDE;
64 virtual void deleteLineBoxTree() OVERRIDE FINAL; 63 virtual void deleteLineBoxTree() OVERRIDE FINAL;
65 64
66 // Versions that can compute line offsets with the region and page offset pa ssed in. Used for speed to avoid having to
67 // compute the region all over again when you already know it.
68 LayoutUnit availableLogicalWidthForLineInRegion(LayoutUnit position, bool sh ouldIndentText, RenderRegion* region, LayoutUnit logicalHeight = 0) const
69 {
70 return max<LayoutUnit>(0, logicalRightOffsetForLineInRegion(position, sh ouldIndentText, region, logicalHeight)
71 - logicalLeftOffsetForLineInRegion(position, shouldIndentText, regio n, logicalHeight));
72 }
73 LayoutUnit logicalRightOffsetForLineInRegion(LayoutUnit position, bool shoul dIndentText, RenderRegion* region, LayoutUnit logicalHeight = 0) const
74 {
75 return logicalRightOffsetForLine(position, logicalRightOffsetForContent( region), shouldIndentText, logicalHeight);
76 }
77 LayoutUnit logicalLeftOffsetForLineInRegion(LayoutUnit position, bool should IndentText, RenderRegion* region, LayoutUnit logicalHeight = 0) const
78 {
79 return logicalLeftOffsetForLine(position, logicalLeftOffsetForContent(re gion), shouldIndentText, logicalHeight);
80 }
81 LayoutUnit startOffsetForLineInRegion(LayoutUnit position, bool shouldIndent Text, RenderRegion* region, LayoutUnit logicalHeight = 0) const
82 {
83 return style()->isLeftToRightDirection() ? logicalLeftOffsetForLineInReg ion(position, shouldIndentText, region, logicalHeight)
84 : logicalWidth() - logicalRightOffsetForLineInRegion(position, shoul dIndentText, region, logicalHeight);
85 }
86 LayoutUnit endOffsetForLineInRegion(LayoutUnit position, bool shouldIndentTe xt, RenderRegion* region, LayoutUnit logicalHeight = 0) const
87 {
88 return !style()->isLeftToRightDirection() ? logicalLeftOffsetForLineInRe gion(position, shouldIndentText, region, logicalHeight)
89 : logicalWidth() - logicalRightOffsetForLineInRegion(position, shoul dIndentText, region, logicalHeight);
90 }
91
92 LayoutUnit availableLogicalWidthForLine(LayoutUnit position, bool shouldInde ntText, LayoutUnit logicalHeight = 0) const 65 LayoutUnit availableLogicalWidthForLine(LayoutUnit position, bool shouldInde ntText, LayoutUnit logicalHeight = 0) const
93 { 66 {
94 return availableLogicalWidthForLineInRegion(position, shouldIndentText, regionAtBlockOffset(position), logicalHeight); 67 return max<LayoutUnit>(0, logicalRightOffsetForLine(position, shouldInde ntText, logicalHeight) - logicalLeftOffsetForLine(position, shouldIndentText, lo gicalHeight));
95 } 68 }
96 LayoutUnit logicalRightOffsetForLine(LayoutUnit position, bool shouldIndentT ext, LayoutUnit logicalHeight = 0) const 69 LayoutUnit logicalRightOffsetForLine(LayoutUnit position, bool shouldIndentT ext, LayoutUnit logicalHeight = 0) const
97 { 70 {
98 return logicalRightOffsetForLine(position, logicalRightOffsetForContent( position), shouldIndentText, logicalHeight); 71 return logicalRightOffsetForLine(position, logicalRightOffsetForContent( ), shouldIndentText, logicalHeight);
99 } 72 }
100 LayoutUnit logicalLeftOffsetForLine(LayoutUnit position, bool shouldIndentTe xt, LayoutUnit logicalHeight = 0) const 73 LayoutUnit logicalLeftOffsetForLine(LayoutUnit position, bool shouldIndentTe xt, LayoutUnit logicalHeight = 0) const
101 { 74 {
102 return logicalLeftOffsetForLine(position, logicalLeftOffsetForContent(po sition), shouldIndentText, logicalHeight); 75 return logicalLeftOffsetForLine(position, logicalLeftOffsetForContent(), shouldIndentText, logicalHeight);
103 } 76 }
104 LayoutUnit pixelSnappedLogicalLeftOffsetForLine(LayoutUnit position, bool sh ouldIndentText, LayoutUnit logicalHeight = 0) const 77 LayoutUnit pixelSnappedLogicalLeftOffsetForLine(LayoutUnit position, bool sh ouldIndentText, LayoutUnit logicalHeight = 0) const
105 { 78 {
106 return roundToInt(logicalLeftOffsetForLine(position, shouldIndentText, l ogicalHeight)); 79 return roundToInt(logicalLeftOffsetForLine(position, shouldIndentText, l ogicalHeight));
107 } 80 }
108 LayoutUnit pixelSnappedLogicalRightOffsetForLine(LayoutUnit position, bool s houldIndentText, LayoutUnit logicalHeight = 0) const 81 LayoutUnit pixelSnappedLogicalRightOffsetForLine(LayoutUnit position, bool s houldIndentText, LayoutUnit logicalHeight = 0) const
109 { 82 {
110 // FIXME: Multicolumn layouts break carrying over subpixel values to the logical right offset because the lines may be shifted 83 // FIXME: Multicolumn layouts break carrying over subpixel values to the logical right offset because the lines may be shifted
111 // by a subpixel value for all but the first column. This can lead to th e actual pixel snapped width of the column being off 84 // by a subpixel value for all but the first column. This can lead to th e actual pixel snapped width of the column being off
112 // by one pixel when rendered versus layed out, which can result in the line being clipped. For now, we have to floor. 85 // by one pixel when rendered versus layed out, which can result in the line being clipped. For now, we have to floor.
113 // https://bugs.webkit.org/show_bug.cgi?id=105461 86 // https://bugs.webkit.org/show_bug.cgi?id=105461
114 return floorToInt(logicalRightOffsetForLine(position, shouldIndentText, logicalHeight)); 87 return floorToInt(logicalRightOffsetForLine(position, shouldIndentText, logicalHeight));
115 } 88 }
116 LayoutUnit startOffsetForLine(LayoutUnit position, bool shouldIndentText, La youtUnit logicalHeight = 0) const 89 LayoutUnit startOffsetForLine(LayoutUnit position, bool shouldIndentText, La youtUnit logicalHeight = 0) const
117 { 90 {
118 return style()->isLeftToRightDirection() ? logicalLeftOffsetForLine(posi tion, shouldIndentText, logicalHeight) 91 return style()->isLeftToRightDirection() ? logicalLeftOffsetForLine(posi tion, shouldIndentText, logicalHeight)
119 : logicalWidth() - logicalRightOffsetForLine(position, shouldIndentT ext, logicalHeight); 92 : logicalWidth() - logicalRightOffsetForLine(position, shouldIndentT ext, logicalHeight);
120 } 93 }
121 LayoutUnit endOffsetForLine(LayoutUnit position, bool shouldIndentText, Layo utUnit logicalHeight = 0) const 94 LayoutUnit endOffsetForLine(LayoutUnit position, bool shouldIndentText, Layo utUnit logicalHeight = 0) const
122 { 95 {
123 return !style()->isLeftToRightDirection() ? logicalLeftOffsetForLine(pos ition, shouldIndentText, logicalHeight) 96 return !style()->isLeftToRightDirection() ? logicalLeftOffsetForLine(pos ition, shouldIndentText, logicalHeight)
124 : logicalWidth() - logicalRightOffsetForLine(position, shouldIndentT ext, logicalHeight); 97 : logicalWidth() - logicalRightOffsetForLine(position, shouldIndentT ext, logicalHeight);
125 } 98 }
126 99
127 virtual LayoutUnit logicalLeftSelectionOffset(RenderBlock* rootBlock, Layout Unit position) OVERRIDE; 100 virtual LayoutUnit logicalLeftSelectionOffset(RenderBlock* rootBlock, Layout Unit position) OVERRIDE;
128 virtual LayoutUnit logicalRightSelectionOffset(RenderBlock* rootBlock, Layou tUnit position) OVERRIDE; 101 virtual LayoutUnit logicalRightSelectionOffset(RenderBlock* rootBlock, Layou tUnit position) OVERRIDE;
129 102
130 LayoutUnit computeStartPositionDeltaForChildAvoidingFloats(const RenderBox* child, LayoutUnit childMarginStart, RenderRegion* = 0); 103 LayoutUnit computeStartPositionDeltaForChildAvoidingFloats(const RenderBox* child, LayoutUnit childMarginStart);
131 104
132 RootInlineBox* createAndAppendRootInlineBox(); 105 RootInlineBox* createAndAppendRootInlineBox();
133 106
134 void markAllDescendantsWithFloatsForLayout(RenderBox* floatToRemove = 0, boo l inLayout = true); 107 void markAllDescendantsWithFloatsForLayout(RenderBox* floatToRemove = 0, boo l inLayout = true);
135 void markSiblingsWithFloatsForLayout(RenderBox* floatToRemove = 0); 108 void markSiblingsWithFloatsForLayout(RenderBox* floatToRemove = 0);
136 109
137 virtual bool containsFloats() const OVERRIDE FINAL { return m_floatingObject s && !m_floatingObjects->set().isEmpty(); } 110 virtual bool containsFloats() const OVERRIDE FINAL { return m_floatingObject s && !m_floatingObjects->set().isEmpty(); }
138 bool containsFloat(RenderBox*) const; 111 bool containsFloat(RenderBox*) const;
139 112
140 void removeFloatingObjects(); 113 void removeFloatingObjects();
(...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after
245 218
246 LayoutUnit logicalRightOffsetForLine(LayoutUnit logicalTop, LayoutUnit fixed Offset, bool applyTextIndent, LayoutUnit logicalHeight = 0) const 219 LayoutUnit logicalRightOffsetForLine(LayoutUnit logicalTop, LayoutUnit fixed Offset, bool applyTextIndent, LayoutUnit logicalHeight = 0) const
247 { 220 {
248 return adjustLogicalRightOffsetForLine(logicalRightFloatOffsetForLine(lo gicalTop, fixedOffset, logicalHeight), applyTextIndent); 221 return adjustLogicalRightOffsetForLine(logicalRightFloatOffsetForLine(lo gicalTop, fixedOffset, logicalHeight), applyTextIndent);
249 } 222 }
250 LayoutUnit logicalLeftOffsetForLine(LayoutUnit logicalTop, LayoutUnit fixedO ffset, bool applyTextIndent, LayoutUnit logicalHeight = 0) const 223 LayoutUnit logicalLeftOffsetForLine(LayoutUnit logicalTop, LayoutUnit fixedO ffset, bool applyTextIndent, LayoutUnit logicalHeight = 0) const
251 { 224 {
252 return adjustLogicalLeftOffsetForLine(logicalLeftFloatOffsetForLine(logi calTop, fixedOffset, logicalHeight), applyTextIndent); 225 return adjustLogicalLeftOffsetForLine(logicalLeftFloatOffsetForLine(logi calTop, fixedOffset, logicalHeight), applyTextIndent);
253 } 226 }
254 227
255 virtual void insertedIntoTree() OVERRIDE;
256 virtual void willBeDestroyed() OVERRIDE; 228 virtual void willBeDestroyed() OVERRIDE;
257 private: 229 private:
258 bool layoutBlockFlow(bool relayoutChildren, LayoutUnit& pageLogicalHeight, S ubtreeLayoutScope&); 230 bool layoutBlockFlow(bool relayoutChildren, LayoutUnit& pageLogicalHeight, S ubtreeLayoutScope&);
259 void layoutBlockChildren(bool relayoutChildren, LayoutUnit& maxFloatLogicalB ottom, SubtreeLayoutScope&, LayoutUnit beforeEdge, LayoutUnit afterEdge); 231 void layoutBlockChildren(bool relayoutChildren, LayoutUnit& maxFloatLogicalB ottom, SubtreeLayoutScope&, LayoutUnit beforeEdge, LayoutUnit afterEdge);
260 232
261 void layoutBlockChild(RenderBox* child, MarginInfo&, LayoutUnit& previousFlo atLogicalBottom, LayoutUnit& maxFloatLogicalBottom); 233 void layoutBlockChild(RenderBox* child, MarginInfo&, LayoutUnit& previousFlo atLogicalBottom, LayoutUnit& maxFloatLogicalBottom);
262 void adjustPositionedBlock(RenderBox* child, const MarginInfo&); 234 void adjustPositionedBlock(RenderBox* child, const MarginInfo&);
263 void adjustFloatingBlock(const MarginInfo&); 235 void adjustFloatingBlock(const MarginInfo&);
264 236
265 LayoutPoint flipFloatForWritingModeForChild(const FloatingObject*, const Lay outPoint&) const; 237 LayoutPoint flipFloatForWritingModeForChild(const FloatingObject*, const Lay outPoint&) const;
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after
360 void setNegativeMarginAfter(LayoutUnit neg) { m_negativeMarginAfter = ne g; } 332 void setNegativeMarginAfter(LayoutUnit neg) { m_negativeMarginAfter = ne g; }
361 333
362 private: 334 private:
363 LayoutUnit m_positiveMarginBefore; 335 LayoutUnit m_positiveMarginBefore;
364 LayoutUnit m_negativeMarginBefore; 336 LayoutUnit m_negativeMarginBefore;
365 LayoutUnit m_positiveMarginAfter; 337 LayoutUnit m_positiveMarginAfter;
366 LayoutUnit m_negativeMarginAfter; 338 LayoutUnit m_negativeMarginAfter;
367 }; 339 };
368 MarginValues marginValuesForChild(RenderBox* child) const; 340 MarginValues marginValuesForChild(RenderBox* child) const;
369 341
370 virtual void updateLogicalHeight() OVERRIDE;
371
372 // Allocated only when some of these fields have non-default values 342 // Allocated only when some of these fields have non-default values
373 struct RenderBlockFlowRareData { 343 struct RenderBlockFlowRareData {
374 WTF_MAKE_NONCOPYABLE(RenderBlockFlowRareData); WTF_MAKE_FAST_ALLOCATED; 344 WTF_MAKE_NONCOPYABLE(RenderBlockFlowRareData); WTF_MAKE_FAST_ALLOCATED;
375 public: 345 public:
376 RenderBlockFlowRareData(const RenderBlockFlow* block) 346 RenderBlockFlowRareData(const RenderBlockFlow* block)
377 : m_margins(positiveMarginBeforeDefault(block), negativeMarginBefore Default(block), positiveMarginAfterDefault(block), negativeMarginAfterDefault(bl ock)) 347 : m_margins(positiveMarginBeforeDefault(block), negativeMarginBefore Default(block), positiveMarginAfterDefault(block), negativeMarginAfterDefault(bl ock))
378 , m_lineGridBox(0) 348 , m_lineGridBox(0)
379 , m_discardMarginBefore(false) 349 , m_discardMarginBefore(false)
380 , m_discardMarginAfter(false) 350 , m_discardMarginAfter(false)
381 , m_renderNamedFlowFragment(0)
382 { 351 {
383 } 352 }
384 353
385 static LayoutUnit positiveMarginBeforeDefault(const RenderBlockFlow* blo ck) 354 static LayoutUnit positiveMarginBeforeDefault(const RenderBlockFlow* blo ck)
386 { 355 {
387 return std::max<LayoutUnit>(block->marginBefore(), 0); 356 return std::max<LayoutUnit>(block->marginBefore(), 0);
388 } 357 }
389 static LayoutUnit negativeMarginBeforeDefault(const RenderBlockFlow* blo ck) 358 static LayoutUnit negativeMarginBeforeDefault(const RenderBlockFlow* blo ck)
390 { 359 {
391 return std::max<LayoutUnit>(-block->marginBefore(), 0); 360 return std::max<LayoutUnit>(-block->marginBefore(), 0);
392 } 361 }
393 static LayoutUnit positiveMarginAfterDefault(const RenderBlockFlow* bloc k) 362 static LayoutUnit positiveMarginAfterDefault(const RenderBlockFlow* bloc k)
394 { 363 {
395 return std::max<LayoutUnit>(block->marginAfter(), 0); 364 return std::max<LayoutUnit>(block->marginAfter(), 0);
396 } 365 }
397 static LayoutUnit negativeMarginAfterDefault(const RenderBlockFlow* bloc k) 366 static LayoutUnit negativeMarginAfterDefault(const RenderBlockFlow* bloc k)
398 { 367 {
399 return std::max<LayoutUnit>(-block->marginAfter(), 0); 368 return std::max<LayoutUnit>(-block->marginAfter(), 0);
400 } 369 }
401 370
402 MarginValues m_margins; 371 MarginValues m_margins;
403 372
404 RootInlineBox* m_lineGridBox; 373 RootInlineBox* m_lineGridBox;
405 374
406 bool m_discardMarginBefore : 1; 375 bool m_discardMarginBefore : 1;
407 bool m_discardMarginAfter : 1; 376 bool m_discardMarginAfter : 1;
408 RenderNamedFlowFragment* m_renderNamedFlowFragment;
409 }; 377 };
410 LayoutUnit marginOffsetForSelfCollapsingBlock(); 378 LayoutUnit marginOffsetForSelfCollapsingBlock();
411 379
412 RenderNamedFlowFragment* renderNamedFlowFragment() const { return m_rareData ? m_rareData->m_renderNamedFlowFragment : 0; }
413 void setRenderNamedFlowFragment(RenderNamedFlowFragment*);
414
415 protected: 380 protected:
416 LayoutUnit maxPositiveMarginBefore() const { return m_rareData ? m_rareData- >m_margins.positiveMarginBefore() : RenderBlockFlowRareData::positiveMarginBefor eDefault(this); } 381 LayoutUnit maxPositiveMarginBefore() const { return m_rareData ? m_rareData- >m_margins.positiveMarginBefore() : RenderBlockFlowRareData::positiveMarginBefor eDefault(this); }
417 LayoutUnit maxNegativeMarginBefore() const { return m_rareData ? m_rareData- >m_margins.negativeMarginBefore() : RenderBlockFlowRareData::negativeMarginBefor eDefault(this); } 382 LayoutUnit maxNegativeMarginBefore() const { return m_rareData ? m_rareData- >m_margins.negativeMarginBefore() : RenderBlockFlowRareData::negativeMarginBefor eDefault(this); }
418 LayoutUnit maxPositiveMarginAfter() const { return m_rareData ? m_rareData-> m_margins.positiveMarginAfter() : RenderBlockFlowRareData::positiveMarginAfterDe fault(this); } 383 LayoutUnit maxPositiveMarginAfter() const { return m_rareData ? m_rareData-> m_margins.positiveMarginAfter() : RenderBlockFlowRareData::positiveMarginAfterDe fault(this); }
419 LayoutUnit maxNegativeMarginAfter() const { return m_rareData ? m_rareData-> m_margins.negativeMarginAfter() : RenderBlockFlowRareData::negativeMarginAfterDe fault(this); } 384 LayoutUnit maxNegativeMarginAfter() const { return m_rareData ? m_rareData-> m_margins.negativeMarginAfter() : RenderBlockFlowRareData::negativeMarginAfterDe fault(this); }
420 385
421 void setMaxMarginBeforeValues(LayoutUnit pos, LayoutUnit neg); 386 void setMaxMarginBeforeValues(LayoutUnit pos, LayoutUnit neg);
422 void setMaxMarginAfterValues(LayoutUnit pos, LayoutUnit neg); 387 void setMaxMarginAfterValues(LayoutUnit pos, LayoutUnit neg);
423 388
424 void setMustDiscardMarginBefore(bool = true); 389 void setMustDiscardMarginBefore(bool = true);
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
457 void setCollapsedBottomMargin(const MarginInfo&); 422 void setCollapsedBottomMargin(const MarginInfo&);
458 423
459 LayoutUnit applyBeforeBreak(RenderBox* child, LayoutUnit logicalOffset); // If the child has a before break, then return a new yPos that shifts to the top o f the next page/column. 424 LayoutUnit applyBeforeBreak(RenderBox* child, LayoutUnit logicalOffset); // If the child has a before break, then return a new yPos that shifts to the top o f the next page/column.
460 LayoutUnit applyAfterBreak(RenderBox* child, LayoutUnit logicalOffset, Margi nInfo&); // If the child has an after break, then return a new offset that shift s to the top of the next page/column. 425 LayoutUnit applyAfterBreak(RenderBox* child, LayoutUnit logicalOffset, Margi nInfo&); // If the child has an after break, then return a new offset that shift s to the top of the next page/column.
461 426
462 LayoutUnit adjustBlockChildForPagination(LayoutUnit logicalTopAfterClear, La youtUnit estimateWithoutPagination, RenderBox* child, bool atBeforeSideOfBlock); 427 LayoutUnit adjustBlockChildForPagination(LayoutUnit logicalTopAfterClear, La youtUnit estimateWithoutPagination, RenderBox* child, bool atBeforeSideOfBlock);
463 428
464 // Used to store state between styleWillChange and styleDidChange 429 // Used to store state between styleWillChange and styleDidChange
465 static bool s_canPropagateFloatIntoSibling; 430 static bool s_canPropagateFloatIntoSibling;
466 431
467 virtual bool canHaveChildren() const OVERRIDE;
468 virtual bool canHaveGeneratedChildren() const OVERRIDE;
469
470 void createRenderNamedFlowFragmentIfNeeded();
471
472 RenderBlockFlowRareData& ensureRareData(); 432 RenderBlockFlowRareData& ensureRareData();
473 433
474 LayoutUnit m_repaintLogicalTop; 434 LayoutUnit m_repaintLogicalTop;
475 LayoutUnit m_repaintLogicalBottom; 435 LayoutUnit m_repaintLogicalBottom;
476 436
477 virtual bool isSelfCollapsingBlock() const OVERRIDE; 437 virtual bool isSelfCollapsingBlock() const OVERRIDE;
478 protected: 438 protected:
479 OwnPtr<RenderBlockFlowRareData> m_rareData; 439 OwnPtr<RenderBlockFlowRareData> m_rareData;
480 OwnPtr<FloatingObjects> m_floatingObjects; 440 OwnPtr<FloatingObjects> m_floatingObjects;
481 441
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
522 482
523 // END METHODS DEFINED IN RenderBlockLineLayout 483 // END METHODS DEFINED IN RenderBlockLineLayout
524 484
525 }; 485 };
526 486
527 DEFINE_RENDER_OBJECT_TYPE_CASTS(RenderBlockFlow, isRenderBlockFlow()); 487 DEFINE_RENDER_OBJECT_TYPE_CASTS(RenderBlockFlow, isRenderBlockFlow());
528 488
529 } // namespace WebCore 489 } // namespace WebCore
530 490
531 #endif // RenderBlockFlow_h 491 #endif // RenderBlockFlow_h
OLDNEW
« no previous file with comments | « Source/core/rendering/RenderBlock.cpp ('k') | Source/core/rendering/RenderBlockFlow.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698