@@ -137,13 +137,16 @@ Layout Children {#layout-children}
137
137
----------------------------------
138
138
139
139
<pre class='idl'>
140
+ [Exposed=LayoutWorklet]
140
141
interface LayoutChild {
141
142
FragmentRequest doLayout(ConstraintSpace space, ChildBreakToken breakToken);
142
143
};
143
144
145
+ [Exposed=LayoutWorklet]
144
146
interface InlineLayoutChild : LayoutChild {
145
147
};
146
148
149
+ [Exposed=LayoutWorklet]
147
150
interface BoxLayoutChild : LayoutChild {
148
151
readonly attribute StylePropertyMapReadOnly styleMap;
149
152
};
@@ -233,6 +236,7 @@ Layout Fragments {#layout-fragments}
233
236
------------------------------------
234
237
235
238
<pre class='idl'>
239
+ [Exposed=LayoutWorklet]
236
240
interface Fragment {
237
241
readonly attribute double inlineSize;
238
242
readonly attribute double blockSize;
@@ -347,7 +351,7 @@ Constraint Spaces {#constraint-spaces}
347
351
--------------------------------------
348
352
349
353
<pre class='idl'>
350
- [Constructor(optional ConstraintSpaceOptions options)]
354
+ [Constructor(optional ConstraintSpaceOptions options),Exposed=LayoutWorklet ]
351
355
interface ConstraintSpace {
352
356
readonly attribute double inlineSize;
353
357
readonly attribute double blockSize;
@@ -491,11 +495,13 @@ Breaking and Fragmentation {#breaking-and-fragmentation}
491
495
--------------------------------------------------------
492
496
493
497
<pre class="idl">
498
+ [Exposed=LayoutWorklet]
494
499
interface ChildBreakToken {
495
500
readonly attribute BreakType breakType;
496
501
readonly attribute LayoutChild child;
497
502
};
498
503
504
+ [Exposed=LayoutWorklet]
499
505
interface BreakToken {
500
506
readonly attribute sequence<ChildBreakToken> childBreakTokens;
501
507
readonly attribute Object data;
@@ -682,15 +688,39 @@ Utility Functions {#utility-functions}
682
688
--------------------------------------
683
689
684
690
<pre class='idl'>
691
+ [Exposed=LayoutWorklet]
692
+ interface LayoutStrut {
693
+ readonly attribute double inlineStart;
694
+ readonly attribute double inlineEnd;
695
+
696
+ readonly attribute double blockStart;
697
+ readonly attribute double blockEnd;
698
+ };
699
+
700
+ [Exposed=LayoutWorklet]
701
+ interface LayoutSize {
702
+ readonly attribute double inline;
703
+ readonly attribute double block;
704
+ };
705
+
685
706
partial interface LayoutWorkletGlobalScope {
686
- resolveInlineSize();
687
- resolveBlockSize();
707
+ double resolveInlineSize(ConstraintSpace constraintSpace,
708
+ StylePropertyMapReadOnly styleMap);
709
+
710
+ double resolveBlockSize(ConstraintSpace constraintSpace,
711
+ StylePropertyMapReadOnly styleMap,
712
+ optional double contentSize);
688
713
689
- resolveBordersAndPadding();
690
- resolveScrollbarSize();
714
+ LayoutStrut resolveBordersAndPadding(ConstraintSpace constraintSpace,
715
+ StylePropertyMapReadOnly styleMap);
716
+
717
+ LayoutSize resolveScrollbarSize(ConstraintSpace constraintSpace,
718
+ StylePropertyMapReadOnly styleMap);
691
719
};
692
720
</pre>
693
721
722
+ Issue: Specify the behaviour of these functions.
723
+
694
724
Layout {#layout}
695
725
================
696
726
@@ -870,6 +900,7 @@ Layout Engine {#layout-engine}
870
900
------------------------------
871
901
872
902
<pre class="idl">
903
+ [Exposed=LayoutWorklet]
873
904
interface FragmentRequest {
874
905
// Has internal slots:
875
906
// [[layoutChild]] - The layout child to generate the fragment for.
0 commit comments