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

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

Issue 2649583002: [LayoutNG] Remove the ng_layout_coordinator and temporary LayoutSync method. (Closed)
Patch Set: rebase v2 Created 3 years, 11 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 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef NGInlineLayoutAlgorithm_h 5 #ifndef NGInlineLayoutAlgorithm_h
6 #define NGInlineLayoutAlgorithm_h 6 #define NGInlineLayoutAlgorithm_h
7 7
8 #include "core/CoreExport.h" 8 #include "core/CoreExport.h"
9 #include "core/layout/ng/ng_layout_algorithm.h" 9 #include "core/layout/ng/ng_layout_algorithm.h"
10 #include "wtf/RefPtr.h" 10 #include "wtf/RefPtr.h"
(...skipping 19 matching lines...) Expand all
30 // @param style Style reference of the block that is being laid out. 30 // @param style Style reference of the block that is being laid out.
31 // @param first_child Our first child; the algorithm will use its NextSibling 31 // @param first_child Our first child; the algorithm will use its NextSibling
32 // method to access all the children. 32 // method to access all the children.
33 // @param space The constraint space which the algorithm should generate a 33 // @param space The constraint space which the algorithm should generate a
34 // fragment within. 34 // fragment within.
35 NGInlineLayoutAlgorithm(PassRefPtr<const ComputedStyle>, 35 NGInlineLayoutAlgorithm(PassRefPtr<const ComputedStyle>,
36 NGInlineNode* first_child, 36 NGInlineNode* first_child,
37 NGConstraintSpace* space, 37 NGConstraintSpace* space,
38 NGBreakToken* break_token = nullptr); 38 NGBreakToken* break_token = nullptr);
39 39
40 NGLayoutStatus Layout(NGPhysicalFragment*, 40 NGPhysicalFragment* Layout() override;
41 NGPhysicalFragment**,
42 NGLayoutAlgorithm**) override;
43 41
44 DECLARE_VIRTUAL_TRACE(); 42 DECLARE_VIRTUAL_TRACE();
45 43
46 private: 44 private:
47 // Read-only Getters. 45 // Read-only Getters.
48 const ComputedStyle& Style() const { return *style_; } 46 const ComputedStyle& Style() const { return *style_; }
49 47
50 bool LayoutCurrentChild(); 48 bool LayoutCurrentChild();
51 NGConstraintSpace* CreateConstraintSpaceForCurrentChild() const; 49 NGConstraintSpace* CreateConstraintSpaceForCurrentChild() const;
52 50
53 enum State { kStateInit, kStateChildLayout, kStateFinalize };
54 State state_ = kStateInit;
55
56 RefPtr<const ComputedStyle> style_; 51 RefPtr<const ComputedStyle> style_;
57 Member<NGInlineNode> first_child_; 52 Member<NGInlineNode> first_child_;
58 Member<NGConstraintSpace> constraint_space_; 53 Member<NGConstraintSpace> constraint_space_;
59 Member<NGBreakToken> break_token_; 54 Member<NGBreakToken> break_token_;
60 Member<NGFragmentBuilder> builder_; 55 Member<NGFragmentBuilder> builder_;
61 Member<NGConstraintSpace> space_for_current_child_; 56 Member<NGConstraintSpace> space_for_current_child_;
62 Member<NGInlineNode> current_child_; 57 Member<NGInlineNode> current_child_;
63 Member<NGLineBuilder> line_builder_; 58 Member<NGLineBuilder> line_builder_;
64 }; 59 };
65 60
66 } // namespace blink 61 } // namespace blink
67 62
68 #endif // NGInlineLayoutAlgorithm_h 63 #endif // NGInlineLayoutAlgorithm_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698