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

Unified Diff: third_party/WebKit/Source/core/layout/ng/ng_layout_opportunity_iterator.h

Issue 2812983002: Change NGLayoutOpportunityIterator API to work with list of exclusions (Closed)
Patch Set: git rebase-update Created 3 years, 8 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 side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/core/layout/ng/ng_layout_opportunity_iterator.h
diff --git a/third_party/WebKit/Source/core/layout/ng/ng_layout_opportunity_iterator.h b/third_party/WebKit/Source/core/layout/ng/ng_layout_opportunity_iterator.h
index 4226937d1070464074083f4c8875c870f4fe2be2..24e8941509ff5fa5c7aec527ebbe665032bd8489 100644
--- a/third_party/WebKit/Source/core/layout/ng/ng_layout_opportunity_iterator.h
+++ b/third_party/WebKit/Source/core/layout/ng/ng_layout_opportunity_iterator.h
@@ -6,14 +6,13 @@
#define NGLayoutOpportunityIterator_h
#include "core/CoreExport.h"
+#include "core/layout/ng/ng_exclusion.h"
#include "core/layout/ng/ng_layout_opportunity_tree_node.h"
-#include "platform/wtf/Optional.h"
#include "platform/wtf/Vector.h"
#include "platform/wtf/text/StringBuilder.h"
namespace blink {
-class NGConstraintSpace;
typedef NGLogicalRect NGLayoutOpportunity;
typedef Vector<NGLayoutOpportunity> NGLayoutOpportunities;
@@ -21,19 +20,15 @@ class CORE_EXPORT NGLayoutOpportunityIterator final {
public:
// Default constructor.
//
- // @param space Constraint space with exclusions for which this iterator needs
- // to generate layout opportunities.
- // @param opt_offset Optional offset parameter that is used as a
- // default start point for layout opportunities.
- // @param opt_leader_point Optional 'leader' parameter that is used to specify
- // the ending point of temporary excluded rectangle
- // which starts from 'origin'. This rectangle may
- // represent a text fragment for example.
- NGLayoutOpportunityIterator(
- const NGConstraintSpace* space,
- const NGLogicalSize& available_size,
- const WTF::Optional<NGLogicalOffset>& opt_offset = WTF::kNullopt,
- const WTF::Optional<NGLogicalOffset>& opt_leader_point = WTF::kNullopt);
+ // @param exclusions List of exclusions that should be avoided by this
+ // iterator while generating layout opportunities.
+ // @param available_size Available size that represents a rectangle where this
+ // iterator searches layout opportunities.
+ // @param offset Offset used as a default starting point for layout
+ // opportunities.
+ NGLayoutOpportunityIterator(const NGExclusions* exclusions,
+ const NGLogicalSize& available_size,
+ const NGLogicalOffset& offset);
// Gets the next Layout Opportunity or empty one if the search is exhausted.
// TODO(chrome-layout-team): Refactor with using C++ <iterator> library.
@@ -60,8 +55,6 @@ class CORE_EXPORT NGLayoutOpportunityIterator final {
return opportunity_tree_root_.get();
}
- const NGConstraintSpace* constraint_space_;
-
NGLayoutOpportunities opportunities_;
NGLayoutOpportunities::const_iterator opportunity_iter_;
std::unique_ptr<NGLayoutOpportunityTreeNode> opportunity_tree_root_;

Powered by Google App Engine
This is Rietveld 408576698