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

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

Issue 1423573002: Remove anonymous block wrapper when all children become inline (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Updated Created 5 years, 1 month 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
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 350 matching lines...) Expand 10 before | Expand all | Expand 10 after
361 LayoutObjectChildList* virtualChildren() final { return children(); } 361 LayoutObjectChildList* virtualChildren() final { return children(); }
362 const LayoutObjectChildList* virtualChildren() const final { return children (); } 362 const LayoutObjectChildList* virtualChildren() const final { return children (); }
363 363
364 bool isLayoutBlock() const final { return true; } 364 bool isLayoutBlock() const final { return true; }
365 365
366 void makeChildrenNonInline(LayoutObject* insertionPoint = nullptr); 366 void makeChildrenNonInline(LayoutObject* insertionPoint = nullptr);
367 367
368 virtual void removeLeftoverAnonymousBlock(LayoutBlock* child); 368 virtual void removeLeftoverAnonymousBlock(LayoutBlock* child);
369 369
370 static void collapseAnonymousBlockChild(LayoutBlock* parent, LayoutBlock* ch ild); 370 static void collapseAnonymousBlockChild(LayoutBlock* parent, LayoutBlock* ch ild);
371 void makeChildrenInlineIfPossible();
371 372
372 void dirtyLinesFromChangedChild(LayoutObject* child) final { m_lineBoxes.dir tyLinesFromChangedChild(LineLayoutItem(this), LineLayoutItem(child)); } 373 void dirtyLinesFromChangedChild(LayoutObject* child) final { m_lineBoxes.dir tyLinesFromChangedChild(LineLayoutItem(this), LineLayoutItem(child)); }
373 374
374 void addChildIgnoringContinuation(LayoutObject* newChild, LayoutObject* befo reChild) override; 375 void addChildIgnoringContinuation(LayoutObject* newChild, LayoutObject* befo reChild) override;
375 376
376 bool isSelfCollapsingBlock() const override; 377 bool isSelfCollapsingBlock() const override;
377 378
378 void removeAnonymousWrappersIfRequired();
379
380 void insertIntoTrackedLayoutBoxMaps(LayoutBox* descendant, TrackedDescendant sMap*&, TrackedContainerMap*&); 379 void insertIntoTrackedLayoutBoxMaps(LayoutBox* descendant, TrackedDescendant sMap*&, TrackedContainerMap*&);
381 static void removeFromTrackedLayoutBoxMaps(LayoutBox* descendant, TrackedDes cendantsMap*&, TrackedContainerMap*&); 380 static void removeFromTrackedLayoutBoxMaps(LayoutBox* descendant, TrackedDes cendantsMap*&, TrackedContainerMap*&);
382 381
383 Node* nodeForHitTest() const; 382 Node* nodeForHitTest() const;
384 383
385 bool tryLayoutDoingPositionedMovementOnly(); 384 bool tryLayoutDoingPositionedMovementOnly();
386 385
387 bool avoidsFloats() const override { return true; } 386 bool avoidsFloats() const override { return true; }
388 387
389 bool hitTestContents(HitTestResult&, const HitTestLocation& locationInContai ner, const LayoutPoint& accumulatedOffset, HitTestAction); 388 bool hitTestContents(HitTestResult&, const HitTestLocation& locationInContai ner, const LayoutPoint& accumulatedOffset, HitTestAction);
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after
488 // FIXME: This is temporary as we move code that accesses block flow 487 // FIXME: This is temporary as we move code that accesses block flow
489 // member variables out of LayoutBlock and into LayoutBlockFlow. 488 // member variables out of LayoutBlock and into LayoutBlockFlow.
490 friend class LayoutBlockFlow; 489 friend class LayoutBlockFlow;
491 }; 490 };
492 491
493 DEFINE_LAYOUT_OBJECT_TYPE_CASTS(LayoutBlock, isLayoutBlock()); 492 DEFINE_LAYOUT_OBJECT_TYPE_CASTS(LayoutBlock, isLayoutBlock());
494 493
495 } // namespace blink 494 } // namespace blink
496 495
497 #endif // LayoutBlock_h 496 #endif // LayoutBlock_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698