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

Side by Side Diff: Source/core/layout/LayoutBlock.h

Issue 1162383003: C++11: Replace 0 with nullptr where applicable in layout code. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Add one more file. Created 5 years, 6 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/layout/LayoutBR.h ('k') | Source/core/layout/LayoutBlock.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, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Apple Inc. All r ights reserved. 5 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Apple Inc. All r ights reserved.
6 * 6 *
7 * This library is free software; you can redistribute it and/or 7 * This library is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU Library General Public 8 * modify it under the terms of the GNU Library General Public
9 * License as published by the Free Software Foundation; either 9 * License as published by the Free Software Foundation; either
10 * version 2 of the License, or (at your option) any later version. 10 * version 2 of the License, or (at your option) any later version.
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after
87 InlineFlowBox* firstLineBox() const { return m_lineBoxes.firstLineBox(); } 87 InlineFlowBox* firstLineBox() const { return m_lineBoxes.firstLineBox(); }
88 InlineFlowBox* lastLineBox() const { return m_lineBoxes.lastLineBox(); } 88 InlineFlowBox* lastLineBox() const { return m_lineBoxes.lastLineBox(); }
89 89
90 RootInlineBox* firstRootBox() const { return static_cast<RootInlineBox*>(fir stLineBox()); } 90 RootInlineBox* firstRootBox() const { return static_cast<RootInlineBox*>(fir stLineBox()); }
91 RootInlineBox* lastRootBox() const { return static_cast<RootInlineBox*>(last LineBox()); } 91 RootInlineBox* lastRootBox() const { return static_cast<RootInlineBox*>(last LineBox()); }
92 92
93 public: 93 public:
94 // FIXME-BLOCKFLOW: Remove virtualizaion when all callers have moved to Layo utBlockFlow 94 // FIXME-BLOCKFLOW: Remove virtualizaion when all callers have moved to Layo utBlockFlow
95 virtual void deleteLineBoxTree(); 95 virtual void deleteLineBoxTree();
96 96
97 virtual void addChild(LayoutObject* newChild, LayoutObject* beforeChild = 0) override; 97 virtual void addChild(LayoutObject* newChild, LayoutObject* beforeChild = nu llptr) override;
98 virtual void removeChild(LayoutObject*) override; 98 virtual void removeChild(LayoutObject*) override;
99 99
100 virtual void layoutBlock(bool relayoutChildren); 100 virtual void layoutBlock(bool relayoutChildren);
101 101
102 void insertPositionedObject(LayoutBox*); 102 void insertPositionedObject(LayoutBox*);
103 static void removePositionedObject(LayoutBox*); 103 static void removePositionedObject(LayoutBox*);
104 void removePositionedObjects(LayoutBlock*, ContainingBlockState = SameContai ningBlock); 104 void removePositionedObjects(LayoutBlock*, ContainingBlockState = SameContai ningBlock);
105 105
106 TrackedLayoutBoxListHashSet* positionedObjects() const; 106 TrackedLayoutBoxListHashSet* positionedObjects() const;
107 bool hasPositionedObjects() const 107 bool hasPositionedObjects() const
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
151 LayoutUnit inlineDirectionOffset(const LayoutSize& offsetFromBlock) const; 151 LayoutUnit inlineDirectionOffset(const LayoutSize& offsetFromBlock) const;
152 152
153 LayoutBlock* blockBeforeWithinSelectionRoot(LayoutSize& offset) const; 153 LayoutBlock* blockBeforeWithinSelectionRoot(LayoutSize& offset) const;
154 154
155 virtual void setSelectionState(SelectionState) override; 155 virtual void setSelectionState(SelectionState) override;
156 156
157 LayoutRect logicalRectToPhysicalRect(const LayoutPoint& physicalPosition, co nst LayoutRect& logicalRect) const; 157 LayoutRect logicalRectToPhysicalRect(const LayoutPoint& physicalPosition, co nst LayoutRect& logicalRect) const;
158 158
159 // Helper methods for computing line counts and heights for line counts. 159 // Helper methods for computing line counts and heights for line counts.
160 RootInlineBox* lineAtIndex(int) const; 160 RootInlineBox* lineAtIndex(int) const;
161 int lineCount(const RootInlineBox* = 0, bool* = 0) const; 161 int lineCount(const RootInlineBox* = nullptr, bool* = nullptr) const;
162 int heightForLineCount(int); 162 int heightForLineCount(int);
163 void clearTruncation(); 163 void clearTruncation();
164 164
165 void addContinuationWithOutline(LayoutInline*); 165 void addContinuationWithOutline(LayoutInline*);
166 166
167 virtual LayoutBoxModelObject* virtualContinuation() const override final { r eturn continuation(); } 167 virtual LayoutBoxModelObject* virtualContinuation() const override final { r eturn continuation(); }
168 bool isAnonymousBlockContinuation() const { return continuation() && isAnony mousBlock(); } 168 bool isAnonymousBlockContinuation() const { return continuation() && isAnony mousBlock(); }
169 LayoutInline* inlineElementContinuation() const; 169 LayoutInline* inlineElementContinuation() const;
170 170
171 using LayoutBoxModelObject::continuation; 171 using LayoutBoxModelObject::continuation;
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
205 LayoutUnit endOffsetForContent() const { return !style()->isLeftToRightDirec tion() ? logicalLeftOffsetForContent() : logicalWidth() - logicalRightOffsetForC ontent(); } 205 LayoutUnit endOffsetForContent() const { return !style()->isLeftToRightDirec tion() ? logicalLeftOffsetForContent() : logicalWidth() - logicalRightOffsetForC ontent(); }
206 206
207 virtual LayoutUnit logicalLeftSelectionOffset(const LayoutBlock* rootBlock, LayoutUnit position) const; 207 virtual LayoutUnit logicalLeftSelectionOffset(const LayoutBlock* rootBlock, LayoutUnit position) const;
208 virtual LayoutUnit logicalRightSelectionOffset(const LayoutBlock* rootBlock, LayoutUnit position) const; 208 virtual LayoutUnit logicalRightSelectionOffset(const LayoutBlock* rootBlock, LayoutUnit position) const;
209 209
210 #if ENABLE(ASSERT) 210 #if ENABLE(ASSERT)
211 void checkPositionedObjectsNeedLayout(); 211 void checkPositionedObjectsNeedLayout();
212 bool paintsContinuationOutline(LayoutInline* flow); 212 bool paintsContinuationOutline(LayoutInline* flow);
213 #endif 213 #endif
214 #ifndef NDEBUG 214 #ifndef NDEBUG
215 void showLineTreeAndMark(const InlineBox* = 0, const char* = 0, const Inline Box* = 0, const char* = 0, const LayoutObject* = 0) const; 215 void showLineTreeAndMark(const InlineBox* = nullptr, const char* = nullptr, const InlineBox* = nullptr, const char* = nullptr, const LayoutObject* = nullptr ) const;
216 #endif 216 #endif
217 217
218 bool recalcChildOverflowAfterStyleChange(); 218 bool recalcChildOverflowAfterStyleChange();
219 bool recalcOverflowAfterStyleChange(); 219 bool recalcOverflowAfterStyleChange();
220 220
221 protected: 221 protected:
222 virtual void willBeDestroyed() override; 222 virtual void willBeDestroyed() override;
223 223
224 void dirtyForLayoutFromPercentageHeightDescendants(SubtreeLayoutScope&); 224 void dirtyForLayoutFromPercentageHeightDescendants(SubtreeLayoutScope&);
225 225
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
295 virtual bool isInlineBlockOrInlineTable() const override final { return isIn line() && isReplaced(); } 295 virtual bool isInlineBlockOrInlineTable() const override final { return isIn line() && isReplaced(); }
296 296
297 virtual void invalidatePaintOfSubtreesIfNeeded(PaintInvalidationState& child PaintInvalidationState) override; 297 virtual void invalidatePaintOfSubtreesIfNeeded(PaintInvalidationState& child PaintInvalidationState) override;
298 298
299 private: 299 private:
300 virtual LayoutObjectChildList* virtualChildren() override final { return chi ldren(); } 300 virtual LayoutObjectChildList* virtualChildren() override final { return chi ldren(); }
301 virtual const LayoutObjectChildList* virtualChildren() const override final { return children(); } 301 virtual const LayoutObjectChildList* virtualChildren() const override final { return children(); }
302 302
303 virtual bool isLayoutBlock() const override final { return true; } 303 virtual bool isLayoutBlock() const override final { return true; }
304 304
305 void makeChildrenNonInline(LayoutObject* insertionPoint = 0); 305 void makeChildrenNonInline(LayoutObject* insertionPoint = nullptr);
306 306
307 // Promote all children and make them siblings that come right after this bl ock. 307 // Promote all children and make them siblings that come right after this bl ock.
308 void promoteAllChildrenAndInsertAfter(); 308 void promoteAllChildrenAndInsertAfter();
309 309
310 virtual void removeLeftoverAnonymousBlock(LayoutBlock* child); 310 virtual void removeLeftoverAnonymousBlock(LayoutBlock* child);
311 311
312 static void collapseAnonymousBlockChild(LayoutBlock* parent, LayoutBlock* ch ild); 312 static void collapseAnonymousBlockChild(LayoutBlock* parent, LayoutBlock* ch ild);
313 313
314 virtual void dirtyLinesFromChangedChild(LayoutObject* child) override final { m_lineBoxes.dirtyLinesFromChangedChild(this, child); } 314 virtual void dirtyLinesFromChangedChild(LayoutObject* child) override final { m_lineBoxes.dirtyLinesFromChangedChild(this, child); }
315 315
(...skipping 17 matching lines...) Expand all
333 virtual bool hitTestFloats(HitTestResult&, const HitTestLocation&, const Lay outPoint&) { return false; } 333 virtual bool hitTestFloats(HitTestResult&, const HitTestLocation&, const Lay outPoint&) { return false; }
334 334
335 virtual bool isPointInOverflowControl(HitTestResult&, const LayoutPoint& loc ationInContainer, const LayoutPoint& accumulatedOffset); 335 virtual bool isPointInOverflowControl(HitTestResult&, const LayoutPoint& loc ationInContainer, const LayoutPoint& accumulatedOffset);
336 336
337 void computeBlockPreferredLogicalWidths(LayoutUnit& minLogicalWidth, LayoutU nit& maxLogicalWidth) const; 337 void computeBlockPreferredLogicalWidths(LayoutUnit& minLogicalWidth, LayoutU nit& maxLogicalWidth) const;
338 338
339 // Obtains the nearest enclosing block (including this block) that contribut es a first-line style to our inline 339 // Obtains the nearest enclosing block (including this block) that contribut es a first-line style to our inline
340 // children. 340 // children.
341 virtual LayoutBlock* firstLineBlock() const override; 341 virtual LayoutBlock* firstLineBlock() const override;
342 342
343 virtual LayoutRect rectWithOutlineForPaintInvalidation(const LayoutBoxModelO bject* paintInvalidationContainer, LayoutUnit outlineWidth, const PaintInvalidat ionState* = 0) const override final; 343 virtual LayoutRect rectWithOutlineForPaintInvalidation(const LayoutBoxModelO bject* paintInvalidationContainer, LayoutUnit outlineWidth, const PaintInvalidat ionState* = nullptr) const override final;
344 344
345 virtual LayoutObject* hoverAncestor() const override final; 345 virtual LayoutObject* hoverAncestor() const override final;
346 virtual void updateDragState(bool dragOn) override final; 346 virtual void updateDragState(bool dragOn) override final;
347 virtual void childBecameNonInline(LayoutObject* child) override final; 347 virtual void childBecameNonInline(LayoutObject* child) override final;
348 348
349 bool isSelectionRoot() const; 349 bool isSelectionRoot() const;
350 350
351 virtual void absoluteRects(Vector<IntRect>&, const LayoutPoint& accumulatedO ffset) const override; 351 virtual void absoluteRects(Vector<IntRect>&, const LayoutPoint& accumulatedO ffset) const override;
352 virtual void absoluteQuads(Vector<FloatQuad>&, bool* wasFixed) const overrid e; 352 virtual void absoluteQuads(Vector<FloatQuad>&, bool* wasFixed) const overrid e;
353 353
354 private: 354 private:
355 virtual LayoutRect localCaretRect(InlineBox*, int caretOffset, LayoutUnit* e xtraWidthToEndOfLine = 0) override final; 355 virtual LayoutRect localCaretRect(InlineBox*, int caretOffset, LayoutUnit* e xtraWidthToEndOfLine = nullptr) override final;
356 bool isInlineBoxWrapperActuallyChild() const; 356 bool isInlineBoxWrapperActuallyChild() const;
357 357
358 void markLinesDirtyInBlockRange(LayoutUnit logicalTop, LayoutUnit logicalBot tom, RootInlineBox* highest = 0); 358 void markLinesDirtyInBlockRange(LayoutUnit logicalTop, LayoutUnit logicalBot tom, RootInlineBox* highest = nullptr);
359 359
360 Position positionForBox(InlineBox*, bool start = true) const; 360 Position positionForBox(InlineBox*, bool start = true) const;
361 PositionWithAffinity positionForPointWithInlineChildren(const LayoutPoint&); 361 PositionWithAffinity positionForPointWithInlineChildren(const LayoutPoint&);
362 362
363 // End helper functions and structs used by layoutBlockChildren. 363 // End helper functions and structs used by layoutBlockChildren.
364 364
365 void removeFromGlobalMaps(); 365 void removeFromGlobalMaps();
366 bool widthAvailableToChildrenHasChanged(); 366 bool widthAvailableToChildrenHasChanged();
367 367
368 protected: 368 protected:
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
418 // FIXME: This is temporary as we move code that accesses block flow 418 // FIXME: This is temporary as we move code that accesses block flow
419 // member variables out of LayoutBlock and into LayoutBlockFlow. 419 // member variables out of LayoutBlock and into LayoutBlockFlow.
420 friend class LayoutBlockFlow; 420 friend class LayoutBlockFlow;
421 }; 421 };
422 422
423 DEFINE_LAYOUT_OBJECT_TYPE_CASTS(LayoutBlock, isLayoutBlock()); 423 DEFINE_LAYOUT_OBJECT_TYPE_CASTS(LayoutBlock, isLayoutBlock());
424 424
425 } // namespace blink 425 } // namespace blink
426 426
427 #endif // LayoutBlock_h 427 #endif // LayoutBlock_h
OLDNEW
« no previous file with comments | « Source/core/layout/LayoutBR.h ('k') | Source/core/layout/LayoutBlock.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698