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

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

Issue 1968413002: Move some reparenting and anonymous block merge functionality down to LayoutBlockFlow. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Is this thing on? Created 4 years, 7 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 | « no previous file | third_party/WebKit/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 264 matching lines...) Expand 10 before | Expand all | Expand 10 after
275 // </div> 275 // </div>
276 // </div> 276 // </div>
277 // </div> 277 // </div>
278 278
279 // Returns the nearest enclosing block (including this block) that contribut es a first-line style to our first line. 279 // Returns the nearest enclosing block (including this block) that contribut es a first-line style to our first line.
280 const LayoutBlock* enclosingFirstLineStyleBlock() const; 280 const LayoutBlock* enclosingFirstLineStyleBlock() const;
281 // Returns this block or the nearest inner block containing the actual first line. 281 // Returns this block or the nearest inner block containing the actual first line.
282 LayoutBlockFlow* nearestInnerBlockWithFirstLine(); 282 LayoutBlockFlow* nearestInnerBlockWithFirstLine();
283 283
284 protected: 284 protected:
285 // Merge children of |siblingThatMayBeDeleted| into this object if possible, and delete
286 // |siblingThatMayBeDeleted|. Returns true if we were able to merge. In that case,
287 // |siblingThatMayBeDeleted| will be dead. We'll only be able to merge if bo th blocks are
288 // anonymous.
289 // TODO(mstensho): This belongs in LayoutBlockFlow, but needs to live here u ntil we have been
290 // able to move all callers down to LayoutBlockFlow.
291 bool mergeSiblingContiguousAnonymousBlock(LayoutBlockFlow* siblingThatMayBeD eleted);
292
293 // Reparent subsequent or preceding adjacent floating or out-of-flow sibling s into this object.
294 // TODO(mstensho): This belongs in LayoutBlockFlow, but needs to live here u ntil we have been
295 // able to move all callers down to LayoutBlockFlow first.
296 void reparentSubsequentFloatingOrOutOfFlowSiblings();
297 void reparentPrecedingFloatingOrOutOfFlowSiblings();
298
299 void willBeDestroyed() override; 285 void willBeDestroyed() override;
300 286
301 void dirtyForLayoutFromPercentageHeightDescendants(SubtreeLayoutScope&); 287 void dirtyForLayoutFromPercentageHeightDescendants(SubtreeLayoutScope&);
302 288
303 void layout() override; 289 void layout() override;
304 290
305 enum PositionedLayoutBehavior { 291 enum PositionedLayoutBehavior {
306 DefaultLayout, 292 DefaultLayout,
307 LayoutOnlyFixedPositionedObjects, 293 LayoutOnlyFixedPositionedObjects,
308 ForcedLayoutAfterContainingBlockMoved 294 ForcedLayoutAfterContainingBlockMoved
(...skipping 188 matching lines...) Expand 10 before | Expand all | Expand 10 after
497 // FIXME: This is temporary as we move code that accesses block flow 483 // FIXME: This is temporary as we move code that accesses block flow
498 // member variables out of LayoutBlock and into LayoutBlockFlow. 484 // member variables out of LayoutBlock and into LayoutBlockFlow.
499 friend class LayoutBlockFlow; 485 friend class LayoutBlockFlow;
500 }; 486 };
501 487
502 DEFINE_LAYOUT_OBJECT_TYPE_CASTS(LayoutBlock, isLayoutBlock()); 488 DEFINE_LAYOUT_OBJECT_TYPE_CASTS(LayoutBlock, isLayoutBlock());
503 489
504 } // namespace blink 490 } // namespace blink
505 491
506 #endif // LayoutBlock_h 492 #endif // LayoutBlock_h
OLDNEW
« no previous file with comments | « no previous file | third_party/WebKit/Source/core/layout/LayoutBlock.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698