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

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

Issue 1310253005: Strip anonymous wrappers when a block flow no longer requires them (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Updated Created 5 years, 3 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 | Annotate | Revision Log
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 210 matching lines...) Expand 10 before | Expand all | Expand 10 after
221 bool recalcOverflowAfterStyleChange(); 221 bool recalcOverflowAfterStyleChange();
222 222
223 protected: 223 protected:
224 void willBeDestroyed() override; 224 void willBeDestroyed() override;
225 225
226 void dirtyForLayoutFromPercentageHeightDescendants(SubtreeLayoutScope&); 226 void dirtyForLayoutFromPercentageHeightDescendants(SubtreeLayoutScope&);
227 227
228 void layout() override; 228 void layout() override;
229 bool updateImageLoadingPriorities() final; 229 bool updateImageLoadingPriorities() final;
230 230
231 enum AdjacentSiblings {
232 PreviousSiblings,
233 NextSiblings
234 };
235
231 enum PositionedLayoutBehavior { 236 enum PositionedLayoutBehavior {
232 DefaultLayout, 237 DefaultLayout,
233 LayoutOnlyFixedPositionedObjects, 238 LayoutOnlyFixedPositionedObjects,
234 ForcedLayoutAfterContainingBlockMoved 239 ForcedLayoutAfterContainingBlockMoved
235 }; 240 };
236 241
237 void layoutPositionedObjects(bool relayoutChildren, PositionedLayoutBehavior = DefaultLayout); 242 void layoutPositionedObjects(bool relayoutChildren, PositionedLayoutBehavior = DefaultLayout);
238 void markFixedPositionObjectForLayoutIfNeeded(LayoutObject* child, SubtreeLa youtScope&); 243 void markFixedPositionObjectForLayoutIfNeeded(LayoutObject* child, SubtreeLa youtScope&);
239 244
240 LayoutUnit marginIntrinsicLogicalWidthForChild(LayoutBox& child) const; 245 LayoutUnit marginIntrinsicLogicalWidthForChild(LayoutBox& child) const;
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after
311 // Promote all children and make them siblings that come right after this bl ock. 316 // Promote all children and make them siblings that come right after this bl ock.
312 void promoteAllChildrenAndInsertAfter(); 317 void promoteAllChildrenAndInsertAfter();
313 318
314 virtual void removeLeftoverAnonymousBlock(LayoutBlock* child); 319 virtual void removeLeftoverAnonymousBlock(LayoutBlock* child);
315 320
316 static void collapseAnonymousBlockChild(LayoutBlock* parent, LayoutBlock* ch ild); 321 static void collapseAnonymousBlockChild(LayoutBlock* parent, LayoutBlock* ch ild);
317 322
318 void dirtyLinesFromChangedChild(LayoutObject* child) final { m_lineBoxes.dir tyLinesFromChangedChild(LineLayoutItem(this), LineLayoutItem(child)); } 323 void dirtyLinesFromChangedChild(LayoutObject* child) final { m_lineBoxes.dir tyLinesFromChangedChild(LineLayoutItem(this), LineLayoutItem(child)); }
319 324
320 void addChildIgnoringContinuation(LayoutObject* newChild, LayoutObject* befo reChild) override; 325 void addChildIgnoringContinuation(LayoutObject* newChild, LayoutObject* befo reChild) override;
326 void addAdjacentSiblingsToAnonymousBox(AdjacentSiblings, LayoutBlock* anonym ousBox);
321 327
322 bool isSelfCollapsingBlock() const override; 328 bool isSelfCollapsingBlock() const override;
323 329
324 void removeAnonymousWrappersIfRequired(); 330 void removeAnonymousWrappersIfRequired();
325 331
326 void insertIntoTrackedLayoutBoxMaps(LayoutBox* descendant, TrackedDescendant sMap*&, TrackedContainerMap*&); 332 void insertIntoTrackedLayoutBoxMaps(LayoutBox* descendant, TrackedDescendant sMap*&, TrackedContainerMap*&);
327 static void removeFromTrackedLayoutBoxMaps(LayoutBox* descendant, TrackedDes cendantsMap*&, TrackedContainerMap*&); 333 static void removeFromTrackedLayoutBoxMaps(LayoutBox* descendant, TrackedDes cendantsMap*&, TrackedContainerMap*&);
328 334
329 Node* nodeForHitTest() const; 335 Node* nodeForHitTest() const;
330 336
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after
428 // FIXME: This is temporary as we move code that accesses block flow 434 // FIXME: This is temporary as we move code that accesses block flow
429 // member variables out of LayoutBlock and into LayoutBlockFlow. 435 // member variables out of LayoutBlock and into LayoutBlockFlow.
430 friend class LayoutBlockFlow; 436 friend class LayoutBlockFlow;
431 }; 437 };
432 438
433 DEFINE_LAYOUT_OBJECT_TYPE_CASTS(LayoutBlock, isLayoutBlock()); 439 DEFINE_LAYOUT_OBJECT_TYPE_CASTS(LayoutBlock, isLayoutBlock());
434 440
435 } // namespace blink 441 } // namespace blink
436 442
437 #endif // LayoutBlock_h 443 #endif // LayoutBlock_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698