tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

css-layout-api.idl (3912B)


      1 // GENERATED CONTENT - DO NOT EDIT
      2 // Content was automatically extracted by Reffy into webref
      3 // (https://github.com/w3c/webref)
      4 // Source: CSS Layout API Level 1 (https://drafts.css-houdini.org/css-layout-api-1/)
      5 
      6 partial namespace CSS {
      7    [SameObject] readonly attribute Worklet layoutWorklet;
      8 };
      9 
     10 [Global=(Worklet,LayoutWorklet),Exposed=LayoutWorklet]
     11 interface LayoutWorkletGlobalScope : WorkletGlobalScope {
     12    undefined registerLayout(DOMString name, VoidFunction layoutCtor);
     13 };
     14 
     15 dictionary LayoutOptions {
     16  ChildDisplayType childDisplay = "block";
     17  LayoutSizingMode sizing = "block-like";
     18 };
     19 
     20 enum ChildDisplayType {
     21    "block", // default - "blockifies" the child boxes.
     22    "normal",
     23 };
     24 
     25 enum LayoutSizingMode {
     26    "block-like", // default - Sizing behaves like block containers.
     27    "manual", // Sizing is specified by the web developer.
     28 };
     29 
     30 [Exposed=LayoutWorklet]
     31 interface LayoutChild {
     32    readonly attribute StylePropertyMapReadOnly styleMap;
     33 
     34    Promise<IntrinsicSizes> intrinsicSizes();
     35    Promise<LayoutFragment> layoutNextFragment(LayoutConstraintsOptions constraints, ChildBreakToken breakToken);
     36 };
     37 
     38 [Exposed=LayoutWorklet]
     39 interface LayoutFragment {
     40    readonly attribute double inlineSize;
     41    readonly attribute double blockSize;
     42 
     43    attribute double inlineOffset;
     44    attribute double blockOffset;
     45 
     46    readonly attribute any data;
     47 
     48    readonly attribute ChildBreakToken? breakToken;
     49 };
     50 
     51 [Exposed=LayoutWorklet]
     52 interface IntrinsicSizes {
     53  readonly attribute double minContentSize;
     54  readonly attribute double maxContentSize;
     55 };
     56 
     57 [Exposed=LayoutWorklet]
     58 interface LayoutConstraints {
     59    readonly attribute double availableInlineSize;
     60    readonly attribute double availableBlockSize;
     61 
     62    readonly attribute double? fixedInlineSize;
     63    readonly attribute double? fixedBlockSize;
     64 
     65    readonly attribute double percentageInlineSize;
     66    readonly attribute double percentageBlockSize;
     67 
     68    readonly attribute double? blockFragmentationOffset;
     69    readonly attribute BlockFragmentationType blockFragmentationType;
     70 
     71    readonly attribute any data;
     72 };
     73 
     74 enum BlockFragmentationType { "none", "page", "column", "region" };
     75 
     76 dictionary LayoutConstraintsOptions {
     77    double availableInlineSize;
     78    double availableBlockSize;
     79 
     80    double fixedInlineSize;
     81    double fixedBlockSize;
     82 
     83    double percentageInlineSize;
     84    double percentageBlockSize;
     85 
     86    double blockFragmentationOffset;
     87    BlockFragmentationType blockFragmentationType = "none";
     88 
     89    any data;
     90 };
     91 
     92 [Exposed=LayoutWorklet]
     93 interface ChildBreakToken {
     94    readonly attribute BreakType breakType;
     95    readonly attribute LayoutChild child;
     96 };
     97 
     98 [Exposed=LayoutWorklet]
     99 interface BreakToken {
    100    readonly attribute FrozenArray<ChildBreakToken> childBreakTokens;
    101    readonly attribute any data;
    102 };
    103 
    104 dictionary BreakTokenOptions {
    105    sequence<ChildBreakToken> childBreakTokens;
    106    any data = null;
    107 };
    108 
    109 enum BreakType { "none", "line", "column", "page", "region" };
    110 
    111 [Exposed=LayoutWorklet]
    112 interface LayoutEdges {
    113  readonly attribute double inlineStart;
    114  readonly attribute double inlineEnd;
    115 
    116  readonly attribute double blockStart;
    117  readonly attribute double blockEnd;
    118 
    119  // Convenience attributes for the sum in one direction.
    120  readonly attribute double inline;
    121  readonly attribute double block;
    122 };
    123 
    124 // This is the final return value from the author defined layout() method.
    125 dictionary FragmentResultOptions {
    126    double inlineSize = 0;
    127    double blockSize = 0;
    128    double autoBlockSize = 0;
    129    sequence<LayoutFragment> childFragments = [];
    130    any data = null;
    131    BreakTokenOptions breakToken = null;
    132 };
    133 
    134 [Exposed=LayoutWorklet]
    135 interface FragmentResult {
    136    constructor(optional FragmentResultOptions options = {});
    137    readonly attribute double inlineSize;
    138    readonly attribute double blockSize;
    139 };
    140 
    141 dictionary IntrinsicSizesResultOptions {
    142    double maxContentSize;
    143    double minContentSize;
    144 };