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

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

Issue 1977083002: Move line/continuation specific parts of willBeDestroyed() into 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
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-2013 Apple Inc. All rights reserved. 5 * Copyright (C) 2003-2013 Apple Inc. All rights reserved.
6 * Copyright (C) Research In Motion Limited 2010. All rights reserved. 6 * Copyright (C) Research In Motion Limited 2010. All rights reserved.
7 * Copyright (C) 2013 Google Inc. All rights reserved. 7 * Copyright (C) 2013 Google Inc. All rights reserved.
8 * 8 *
9 * Redistribution and use in source and binary forms, with or without 9 * Redistribution and use in source and binary forms, with or without
10 * modification, are permitted provided that the following conditions are 10 * modification, are permitted provided that the following conditions are
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after
84 // 84 //
85 // This is suggested by CSS to correctly the layout mixed inlines and blocks 85 // This is suggested by CSS to correctly the layout mixed inlines and blocks
86 // lines (http://www.w3.org/TR/CSS21/visuren.html#anonymous-block-level). See 86 // lines (http://www.w3.org/TR/CSS21/visuren.html#anonymous-block-level). See
87 // LayoutBlock::addChild about how the invariant is enforced. 87 // LayoutBlock::addChild about how the invariant is enforced.
88 class CORE_EXPORT LayoutBlockFlow : public LayoutBlock { 88 class CORE_EXPORT LayoutBlockFlow : public LayoutBlock {
89 public: 89 public:
90 explicit LayoutBlockFlow(ContainerNode*); 90 explicit LayoutBlockFlow(ContainerNode*);
91 ~LayoutBlockFlow() override; 91 ~LayoutBlockFlow() override;
92 92
93 static LayoutBlockFlow* createAnonymous(Document*); 93 static LayoutBlockFlow* createAnonymous(Document*);
94 bool beingDestroyed() const { return m_beingDestroyed; }
94 95
95 bool isLayoutBlockFlow() const final { return true; } 96 bool isLayoutBlockFlow() const final { return true; }
96 97
97 void layoutBlock(bool relayoutChildren) override; 98 void layoutBlock(bool relayoutChildren) override;
98 99
99 void computeOverflow(LayoutUnit oldClientAfterEdge, bool recomputeFloats = f alse) override; 100 void computeOverflow(LayoutUnit oldClientAfterEdge, bool recomputeFloats = f alse) override;
100 101
101 void deleteLineBoxTree() final; 102 void deleteLineBoxTree() final;
102 103
103 LayoutUnit availableLogicalWidthForLine(LayoutUnit position, IndentTextOrNot indentText, LayoutUnit logicalHeight = LayoutUnit()) const 104 LayoutUnit availableLogicalWidthForLine(LayoutUnit position, IndentTextOrNot indentText, LayoutUnit logicalHeight = LayoutUnit()) const
(...skipping 197 matching lines...) Expand 10 before | Expand all | Expand 10 after
301 void showLineTreeAndMark(const InlineBox* = nullptr, const char* = nullptr, const InlineBox* = nullptr, const char* = nullptr, const LayoutObject* = nullptr ) const; 302 void showLineTreeAndMark(const InlineBox* = nullptr, const char* = nullptr, const InlineBox* = nullptr, const char* = nullptr, const LayoutObject* = nullptr ) const;
302 #endif 303 #endif
303 304
304 protected: 305 protected:
305 void rebuildFloatsFromIntruding(); 306 void rebuildFloatsFromIntruding();
306 void layoutInlineChildren(bool relayoutChildren, LayoutUnit& paintInvalidati onLogicalTop, LayoutUnit& paintInvalidationLogicalBottom, LayoutUnit afterEdge); 307 void layoutInlineChildren(bool relayoutChildren, LayoutUnit& paintInvalidati onLogicalTop, LayoutUnit& paintInvalidationLogicalBottom, LayoutUnit afterEdge);
307 void addLowestFloatFromChildren(LayoutBlockFlow*); 308 void addLowestFloatFromChildren(LayoutBlockFlow*);
308 309
309 void createFloatingObjects(); 310 void createFloatingObjects();
310 311
312 void willBeDestroyed() override;
311 void styleWillChange(StyleDifference, const ComputedStyle& newStyle) overrid e; 313 void styleWillChange(StyleDifference, const ComputedStyle& newStyle) overrid e;
312 void styleDidChange(StyleDifference, const ComputedStyle* oldStyle) override ; 314 void styleDidChange(StyleDifference, const ComputedStyle* oldStyle) override ;
313 315
314 void updateBlockChildDirtyBitsBeforeLayout(bool relayoutChildren, LayoutBox& ); 316 void updateBlockChildDirtyBitsBeforeLayout(bool relayoutChildren, LayoutBox& );
315 317
316 void addOverflowFromFloats(); 318 void addOverflowFromFloats();
317 319
318 void computeSelfHitTestRects(Vector<LayoutRect>&, const LayoutPoint& layerOf fset) const override; 320 void computeSelfHitTestRects(Vector<LayoutRect>&, const LayoutPoint& layerOf fset) const override;
319 321
320 void absoluteRects(Vector<IntRect>&, const LayoutPoint& accumulatedOffset) c onst override; 322 void absoluteRects(Vector<IntRect>&, const LayoutPoint& accumulatedOffset) c onst override;
(...skipping 337 matching lines...) Expand 10 before | Expand all | Expand 10 after
658 660
659 // END METHODS DEFINED IN LayoutBlockFlowLine 661 // END METHODS DEFINED IN LayoutBlockFlowLine
660 662
661 }; 663 };
662 664
663 DEFINE_LAYOUT_OBJECT_TYPE_CASTS(LayoutBlockFlow, isLayoutBlockFlow()); 665 DEFINE_LAYOUT_OBJECT_TYPE_CASTS(LayoutBlockFlow, isLayoutBlockFlow());
664 666
665 } // namespace blink 667 } // namespace blink
666 668
667 #endif // LayoutBlockFlow_h 669 #endif // LayoutBlockFlow_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698