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

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

Issue 1977823002: Move makeChildrenNonInline() and childBecameNonInline() to LayoutBlockFlow. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: 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 367 matching lines...) Expand 10 before | Expand all | Expand 10 after
378 // Alternatively it should be removed as we clarify the meaning of isAtomicI nlineLevel to imply 378 // Alternatively it should be removed as we clarify the meaning of isAtomicI nlineLevel to imply
379 // isInline. 379 // isInline.
380 bool isInlineBlockOrInlineTable() const final { return isInline() && isAtomi cInlineLevel(); } 380 bool isInlineBlockOrInlineTable() const final { return isInline() && isAtomi cInlineLevel(); }
381 381
382 private: 382 private:
383 LayoutObjectChildList* virtualChildren() final { return children(); } 383 LayoutObjectChildList* virtualChildren() final { return children(); }
384 const LayoutObjectChildList* virtualChildren() const final { return children (); } 384 const LayoutObjectChildList* virtualChildren() const final { return children (); }
385 385
386 bool isLayoutBlock() const final { return true; } 386 bool isLayoutBlock() const final { return true; }
387 387
388 void makeChildrenNonInline(LayoutObject* insertionPoint = nullptr);
389
390 virtual void removeLeftoverAnonymousBlock(LayoutBlock* child); 388 virtual void removeLeftoverAnonymousBlock(LayoutBlock* child);
391 389
392 void dirtyLinesFromChangedChild(LayoutObject* child) final { m_lineBoxes.dir tyLinesFromChangedChild(LineLayoutItem(this), LineLayoutItem(child)); } 390 void dirtyLinesFromChangedChild(LayoutObject* child) final { m_lineBoxes.dir tyLinesFromChangedChild(LineLayoutItem(this), LineLayoutItem(child)); }
393 391
394 TrackedLayoutBoxListHashSet* positionedObjectsInternal() const; 392 TrackedLayoutBoxListHashSet* positionedObjectsInternal() const;
395 TrackedLayoutBoxListHashSet* percentHeightDescendantsInternal() const; 393 TrackedLayoutBoxListHashSet* percentHeightDescendantsInternal() const;
396 394
397 // Returns true if the positioned movement-only layout succeeded. 395 // Returns true if the positioned movement-only layout succeeded.
398 bool tryLayoutDoingPositionedMovementOnly(); 396 bool tryLayoutDoingPositionedMovementOnly();
399 397
400 bool avoidsFloats() const override { return true; } 398 bool avoidsFloats() const override { return true; }
401 399
402 bool isInSelfHitTestingPhase(HitTestAction hitTestAction) const final 400 bool isInSelfHitTestingPhase(HitTestAction hitTestAction) const final
403 { 401 {
404 return hitTestAction == HitTestBlockBackground || hitTestAction == HitTe stChildBlockBackground; 402 return hitTestAction == HitTestBlockBackground || hitTestAction == HitTe stChildBlockBackground;
405 } 403 }
406 404
407 bool isPointInOverflowControl(HitTestResult&, const LayoutPoint& locationInC ontainer, const LayoutPoint& accumulatedOffset) const; 405 bool isPointInOverflowControl(HitTestResult&, const LayoutPoint& locationInC ontainer, const LayoutPoint& accumulatedOffset) const;
408 406
409 void computeBlockPreferredLogicalWidths(LayoutUnit& minLogicalWidth, LayoutU nit& maxLogicalWidth) const; 407 void computeBlockPreferredLogicalWidths(LayoutUnit& minLogicalWidth, LayoutU nit& maxLogicalWidth) const;
410 408
411 void childBecameNonInline(LayoutObject* child) final;
412
413 bool isSelectionRoot() const; 409 bool isSelectionRoot() const;
414 410
415 public: 411 public:
416 bool hasCursorCaret() const; 412 bool hasCursorCaret() const;
417 bool hasDragCaret() const; 413 bool hasDragCaret() const;
418 bool hasCaret() const { return hasCursorCaret() || hasDragCaret(); } 414 bool hasCaret() const { return hasCursorCaret() || hasDragCaret(); }
419 415
420 private: 416 private:
421 LayoutRect localCaretRect(InlineBox*, int caretOffset, LayoutUnit* extraWidt hToEndOfLine = nullptr) final; 417 LayoutRect localCaretRect(InlineBox*, int caretOffset, LayoutUnit* extraWidt hToEndOfLine = nullptr) final;
422 bool isInlineBoxWrapperActuallyChild() const; 418 bool isInlineBoxWrapperActuallyChild() const;
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
467 unsigned m_beingDestroyed : 1; 463 unsigned m_beingDestroyed : 1;
468 unsigned m_hasMarkupTruncation : 1; 464 unsigned m_hasMarkupTruncation : 1;
469 unsigned m_widthAvailableToChildrenChanged : 1; 465 unsigned m_widthAvailableToChildrenChanged : 1;
470 unsigned m_heightAvailableToChildrenChanged : 1; 466 unsigned m_heightAvailableToChildrenChanged : 1;
471 unsigned m_isSelfCollapsing : 1; // True if margin-before and margin-after a re adjoining. 467 unsigned m_isSelfCollapsing : 1; // True if margin-before and margin-after a re adjoining.
472 unsigned m_descendantsWithFloatsMarkedForLayout : 1; 468 unsigned m_descendantsWithFloatsMarkedForLayout : 1;
473 469
474 unsigned m_hasPositionedObjects : 1; 470 unsigned m_hasPositionedObjects : 1;
475 unsigned m_hasPercentHeightDescendants : 1; 471 unsigned m_hasPercentHeightDescendants : 1;
476 472
477 // LayoutRubyBase objects need to be able to split and merge, moving their c hildren around
478 // (calling moveChildTo, moveAllChildrenTo, and makeChildrenNonInline).
479 friend class LayoutRubyBase;
480
481 // FIXME: This is temporary as we move code that accesses block flow 473 // FIXME: This is temporary as we move code that accesses block flow
482 // member variables out of LayoutBlock and into LayoutBlockFlow. 474 // member variables out of LayoutBlock and into LayoutBlockFlow.
483 friend class LayoutBlockFlow; 475 friend class LayoutBlockFlow;
484 }; 476 };
485 477
486 DEFINE_LAYOUT_OBJECT_TYPE_CASTS(LayoutBlock, isLayoutBlock()); 478 DEFINE_LAYOUT_OBJECT_TYPE_CASTS(LayoutBlock, isLayoutBlock());
487 479
488 } // namespace blink 480 } // namespace blink
489 481
490 #endif // LayoutBlock_h 482 #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