blob: 5dc6db455e41f1ed5f3b01ab1d8f4f6b9554d469 [file] [log] [blame]
// Content was automatically extracted by Reffy into reffy-reports
// (
// Source: CSS Layout API Level 1 (
partial namespace CSS {
[SameObject] readonly attribute Worklet layoutWorklet;
interface LayoutWorkletGlobalScope : WorkletGlobalScope {
void registerLayout(DOMString name, VoidFunction layoutCtor);
dictionary LayoutOptions {
ChildDisplayType childDisplay = "block";
LayoutSizingMode sizing = "block-like";
enum ChildDisplayType {
enum LayoutSizingMode {
interface LayoutChild {
readonly attribute StylePropertyMapReadOnly styleMap;
IntrinsicSizesRequest intrinsicSizes();
LayoutFragmentRequest layoutNextFragment(LayoutConstraints constraints, ChildBreakToken breakToken);
interface LayoutFragment {
readonly attribute double inlineSize;
readonly attribute double blockSize;
attribute double inlineOffset;
attribute double blockOffset;
readonly attribute any data;
readonly attribute ChildBreakToken? breakToken;
interface IntrinsicSizes {
readonly attribute double minContentSize;
readonly attribute double maxContentSize;
[Constructor(optional LayoutConstraintsOptions options),Exposed=LayoutWorklet]
interface LayoutConstraints {
readonly attribute double availableInlineSize;
readonly attribute double availableBlockSize;
readonly attribute double? fixedInlineSize;
readonly attribute double? fixedBlockSize;
readonly attribute double percentageInlineSize;
readonly attribute double percentageBlockSize;
readonly attribute double? blockFragmentationOffset;
readonly attribute BlockFragmentationType blockFragmentationType;
readonly attribute any data;
dictionary LayoutConstraintsOptions {
double availableInlineSize = 0;
double availableBlockSize = 0;
double fixedInlineSize;
double fixedBlockSize;
double percentageInlineSize;
double percentageBlockSize;
double blockFragmentationOffset;
BlockFragmentationType blockFragmentationType = "none";
any data;
enum BlockFragmentationType { "none", "page", "column", "region" };
interface ChildBreakToken {
readonly attribute BreakType breakType;
readonly attribute LayoutChild child;
interface BreakToken {
readonly attribute FrozenArray<ChildBreakToken> childBreakTokens;
readonly attribute any data;
dictionary BreakTokenOptions {
sequence<ChildBreakToken> childBreakTokens;
any data = null;
enum BreakType { "none", "line", "column", "page", "region" };
interface LayoutEdgeSizes {
readonly attribute double inlineStart;
readonly attribute double inlineEnd;
readonly attribute double blockStart;
readonly attribute double blockEnd;
// Convenience attributes for the sum in one direction.
readonly attribute double inline;
readonly attribute double block;
interface LayoutEdges {
readonly attribute LayoutEdgeSizes border;
readonly attribute LayoutEdgeSizes scrollbar;
readonly attribute LayoutEdgeSizes padding;
readonly attribute LayoutEdgeSizes all;
interface IntrinsicSizesRequest {
interface LayoutFragmentRequest {
typedef (IntrinsicSizesRequest or LayoutFragmentRequest)
// This is the final return value from the author defined layout() method.
dictionary FragmentResultOptions {
double inlineSize = 0;
double blockSize = 0;
double autoBlockSize = 0;
sequence<LayoutFragment> childFragments = [];
any data = null;
BreakTokenOptions breakToken = null;
dictionary IntrinsicSizesResultOptions {
double maxContentSize;
double minContentSize;