| Index: third_party/WebKit/Source/core/layout/ng/ng_exclusion.h
|
| diff --git a/third_party/WebKit/Source/core/layout/ng/ng_exclusion.h b/third_party/WebKit/Source/core/layout/ng/ng_exclusion.h
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..b8b86edde75939f6e59a6008cc6d6c14c3e75cfa
|
| --- /dev/null
|
| +++ b/third_party/WebKit/Source/core/layout/ng/ng_exclusion.h
|
| @@ -0,0 +1,57 @@
|
| +// Copyright 2016 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +#ifndef NGExclusion_h
|
| +#define NGExclusion_h
|
| +
|
| +#include "core/CoreExport.h"
|
| +#include "core/layout/ng/geometry/ng_logical_rect.h"
|
| +#include "wtf/Vector.h"
|
| +
|
| +namespace blink {
|
| +
|
| +// Struct that represents NG exclusion.
|
| +struct CORE_EXPORT NGExclusion {
|
| + // Type of NG exclusion.
|
| + enum Type {
|
| + // Undefined exclusion type.
|
| + // At this moment it's also used to represent CSS3 exclusion.
|
| + kExclusionTypeUndefined = 0,
|
| + // Exclusion that is created by LEFT float.
|
| + kFloatLeft = 1,
|
| + // Exclusion that is created by RIGHT float.
|
| + kFloatRight = 2
|
| + };
|
| +
|
| + // Rectangle in logical coordinates the represents this exclusion.
|
| + NGLogicalRect rect;
|
| +
|
| + // Type of this exclusion.
|
| + Type type;
|
| +
|
| + bool operator==(const NGExclusion& other) const;
|
| + String ToString() const;
|
| +};
|
| +
|
| +CORE_EXPORT std::ostream& operator<<(std::ostream&, const NGExclusion&);
|
| +
|
| +struct CORE_EXPORT NGExclusions {
|
| + NGExclusions();
|
| + NGExclusions(const NGExclusions& other);
|
| +
|
| + Vector<std::unique_ptr<const NGExclusion>> storage;
|
| +
|
| + // Last left/right float exclusions are used to enforce the top edge alignment
|
| + // rule for floats and for the support of CSS "clear" property.
|
| + const NGExclusion* last_left_float; // Owned by storage.
|
| + const NGExclusion* last_right_float; // Owned by storage.
|
| +
|
| + NGExclusions& operator=(const NGExclusions& other);
|
| +
|
| + void Add(const NGExclusion& exclusion);
|
| +};
|
| +
|
| +} // namespace blink
|
| +
|
| +#endif // NGExclusion_h
|
|
|