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

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

Issue 2954953002: [LayoutNG] Abort a layout once the BFC offset is resolved. (Closed)
Patch Set: rebase. Created 3 years, 5 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 390 matching lines...) Expand 10 before | Expand all | Expand 10 after
401 } 401 }
402 402
403 LayoutUnit LogicalHeightWithVisibleOverflow() const final; 403 LayoutUnit LogicalHeightWithVisibleOverflow() const final;
404 404
405 // This function is only public so we can call it from NGBlockNode while we're 405 // This function is only public so we can call it from NGBlockNode while we're
406 // still working on LayoutNG. 406 // still working on LayoutNG.
407 void UpdateIsSelfCollapsing() { 407 void UpdateIsSelfCollapsing() {
408 is_self_collapsing_ = CheckIfIsSelfCollapsingBlock(); 408 is_self_collapsing_ = CheckIfIsSelfCollapsingBlock();
409 } 409 }
410 410
411 // This function is only public so we can call it from NGBlockNode while we're
412 // still working on LayoutNG.
413 void AddOverflowFromFloats();
414
411 #ifndef NDEBUG 415 #ifndef NDEBUG
412 void ShowLineTreeAndMark(const InlineBox* = nullptr, 416 void ShowLineTreeAndMark(const InlineBox* = nullptr,
413 const char* = nullptr, 417 const char* = nullptr,
414 const InlineBox* = nullptr, 418 const InlineBox* = nullptr,
415 const char* = nullptr, 419 const char* = nullptr,
416 const LayoutObject* = nullptr) const; 420 const LayoutObject* = nullptr) const;
417 #endif 421 #endif
418 422
419 protected: 423 protected:
420 void RebuildFloatsFromIntruding(); 424 void RebuildFloatsFromIntruding();
421 void LayoutInlineChildren(bool relayout_children, LayoutUnit after_edge); 425 void LayoutInlineChildren(bool relayout_children, LayoutUnit after_edge);
422 void AddLowestFloatFromChildren(LayoutBlockFlow*); 426 void AddLowestFloatFromChildren(LayoutBlockFlow*);
423 427
424 void CreateFloatingObjects(); 428 void CreateFloatingObjects();
425 429
426 void WillBeDestroyed() override; 430 void WillBeDestroyed() override;
427 void StyleWillChange(StyleDifference, 431 void StyleWillChange(StyleDifference,
428 const ComputedStyle& new_style) override; 432 const ComputedStyle& new_style) override;
429 void StyleDidChange(StyleDifference, const ComputedStyle* old_style) override; 433 void StyleDidChange(StyleDifference, const ComputedStyle* old_style) override;
430 434
431 void UpdateBlockChildDirtyBitsBeforeLayout(bool relayout_children, 435 void UpdateBlockChildDirtyBitsBeforeLayout(bool relayout_children,
432 LayoutBox&); 436 LayoutBox&);
433 437
434 void AddOverflowFromFloats();
435
436 void ComputeSelfHitTestRects(Vector<LayoutRect>&, 438 void ComputeSelfHitTestRects(Vector<LayoutRect>&,
437 const LayoutPoint& layer_offset) const override; 439 const LayoutPoint& layer_offset) const override;
438 440
439 void AbsoluteRects(Vector<IntRect>&, 441 void AbsoluteRects(Vector<IntRect>&,
440 const LayoutPoint& accumulated_offset) const override; 442 const LayoutPoint& accumulated_offset) const override;
441 void AbsoluteQuads(Vector<FloatQuad>&, 443 void AbsoluteQuads(Vector<FloatQuad>&,
442 MapCoordinatesFlags mode = 0) const override; 444 MapCoordinatesFlags mode = 0) const override;
443 void AbsoluteQuadsForSelf(Vector<FloatQuad>& quads, 445 void AbsoluteQuadsForSelf(Vector<FloatQuad>& quads,
444 MapCoordinatesFlags mode = 0) const override; 446 MapCoordinatesFlags mode = 0) const override;
445 LayoutObject* HoverAncestor() const final; 447 LayoutObject* HoverAncestor() const final;
(...skipping 528 matching lines...) Expand 10 before | Expand all | Expand 10 after
974 void PositionDialog(); 976 void PositionDialog();
975 977
976 // END METHODS DEFINED IN LayoutBlockFlowLine 978 // END METHODS DEFINED IN LayoutBlockFlowLine
977 }; 979 };
978 980
979 DEFINE_LAYOUT_OBJECT_TYPE_CASTS(LayoutBlockFlow, IsLayoutBlockFlow()); 981 DEFINE_LAYOUT_OBJECT_TYPE_CASTS(LayoutBlockFlow, IsLayoutBlockFlow());
980 982
981 } // namespace blink 983 } // namespace blink
982 984
983 #endif // LayoutBlockFlow_h 985 #endif // LayoutBlockFlow_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698