diff --git a/index.html b/index.html index 1287bb0d..3c7b30b9 100644 --- a/index.html +++ b/index.html @@ -147,6 +147,17 @@

"sizes": "128x128", "density": 2 }], + "splash_screens": [{ + "src": "splash/lowres", + "sizes": "320x240" + }, { + "src": "splash/hd_small", + "sizes": "1334x750" + }, { + "src": "splash/hd_hi", + "sizes": "1920x1080", + "density": 3 + }], "scope": "/racer/", "start_url": "/racer/start.html", "display": "fullscreen", @@ -948,10 +959,15 @@

argument.
  • Let icons of parsed manifest be the result - of running the steps for processing the icons - member with manifest and manifest URL as + of running the steps for processing an array of images with + manifest, manifest URL, and "icons" as arguments.
  • +
  • Let splash screens of parsed manifest be + the result of running the steps for processing an array of + images with manifest, manifest URL, and + "splashscreen" as arguments. +
  • Let scope of parsed manifest be the result of running the steps for processing the scope member with manifest, manifest URL, @@ -1253,6 +1269,38 @@

  • +
    +

    + splash_screens member +

    +

    + The splash_screens + member is an array of image objects that can serve as a loading screen + for the web application. A splash screen indicates to the end user + that a loading process is occurring (in effect, that the web + application is being prepared by the user agent in the background). + As the splash_screens member is an array of image objects, developers can use unique image + objects definitions to target minimum screen resolutions and pixel + densities. +

    +

    + This feature is primarily intended for user agents that take a + perceptible amount of time to self-initialize (e.g., take longer than + 200ms to be able to render content) - as such, it is OPTIONAL for a + user agent to display a splash screen while the web application is + being loaded. On launching a web application, if displaying a splash + screen, the user agent MUST queue a post-load task on the + Document of the start URL to remove the + splashscreen, or, alternatively can follow platform conventions for + how long a splash screen is displayed (e.g., a minimum of 1 second). +

    +

    + The splashscreen member is processed using the steps + for processing an array of images. +

    +

    icons member @@ -1267,94 +1315,18 @@

    "operating system">OS's task switcher and/or system preferences.

    -

    - The steps for processing the icons member are - given by the following algorithm. The algorithm takes a manifest, and - a URL manifest URL, which is the URL from which the - manifest was fetched. This algorithm will return a list of - icons objects icons, which can be empty. +

    + The icons member is processed using the steps + for processing an array of images. +

    +

    + If no icons are listed in the manifest (or none of them are found to + be suitable during processing), it is RECOMMENDED that the user agent + fall back to using any icons found in the Document of + the top-level browsing context. For example, an icon link + type and/or a favicon.ico can serve as suitable + fallbacks.

    -
      -
    1. Let icons be an empty list. -
    2. -
    3. Let unprocessed icons be the result of calling the - [[\GetOwnProperty]] internal method of manifest with - argument "icons". -
    4. -
    5. If unprocessed icons is an array, then: -
        -
      1. From unprocessed icons, filter out any item where - HasOwnProperty(item,"src") returns false. -
      2. -
      3. For each potential icon in the array: -
          -
        1. Let src be the result of running the steps - for processing the src member of an image - with potential icon and manifest URL. -
        2. -
        3. If src is undefined, move onto - the next item in icons (if any are left). -
        4. -
        5. Otherwise, let icon be an object with - properties src, type, - sizes, and density. All properties - initially set to undefined. -
        6. -
        7. Set icon's src property to be - src. -
        8. -
        9. Let type be the result of running the steps - for processing the type member of an image - passing potential icon. -
        10. -
        11. If type is not undefined, set - icon's type property to be - type. -
        12. -
        13. Let sizes be the list that result from running - the steps for processing a sizes member of an - image passing potential icon. -
        14. -
        15. If sizes is not undefined, set - icon's sizes property to be - sizes. -
        16. -
        17. Let density be the result from running the - steps for processing a density member of an - image are given by the passing potential - icon . -
        18. -
        19. If density is not undefined, set - icon's density property to be - value. -
        20. -
        21. Let bgcolor be the result of running the - steps for processing the background_color - member of an image with potential icon. -
        22. -
        23. If bgcolor is not undefined, set - icon's background property to be - bgcolor. -
        24. -
        25. Append icon to icons. -
        26. -
        -
      4. -
      -
    6. -
    7. Otherwise, if unprocessed icons is not - undefined: -
        -
      1. - Issue a developer warning that the type is not - supported. -
      2. -
      -
    8. -
    9. Return icons. -
    10. -

    If there are multiple equally appropriate icons in icons, a user agent MUST use the last one declared in order at the time that @@ -2123,6 +2095,94 @@

    +
    +

    + Processing an array of images +

    +

    + The steps for processing an array of images are given by + the following algorithm. The algorithm takes a manifest, a URL + manifest URL, which is the URL from which the + manifest was fetched, and a string that represents the + member name of the member which contains the array of + image objects. This algorithm returns a + list of image objects, which can be + empty. +

    +
      +
    1. Let images be an empty list. +
    2. +
    3. Let unprocessed images be the result of calling the + [[\GetOwnProperty]] internal method of manifest + with member name as the argument. +
    4. +
    5. If unprocessed images is an array, then: +
        +
      1. From unprocessed images, filter out any item where + HasOwnProperty(item,"src") returns false. +
      2. +
      3. For each potential image in the array: +
          +
        1. Let src be the result of running the steps + for processing the src member of an image + with potential image and manifest URL. +
        2. +
        3. If src is undefined, move onto + the next item in images (if any are left). +
        4. +
        5. Otherwise, let image be an object with + properties src, type, + sizes, and density. All properties + initially set to undefined. +
        6. +
        7. Set image's src property to be + src. +
        8. +
        9. Let type be the result of running the steps + for processing the type member of an image + passing potential image. +
        10. +
        11. If type is not undefined, set + image's type property to be + type. +
        12. +
        13. Let sizes be the list that result from running + the steps for processing a sizes member of an + image passing potential image. +
        14. +
        15. If sizes is not undefined, set + image's sizes property to be + sizes. +
        16. +
        17. Let density be the result from running the + steps for processing a density member of an + image are given by the passing potential + image . +
        18. +
        19. If density is not undefined, set + image's density property to be + value. +
        20. +
        21. Append image to images. +
        22. +
        +
      4. +
      +
    6. +
    7. Otherwise, if unprocessed images is not + undefined: +
        +
      1. + Issue a developer warning that the type is not + supported. +
      2. +
      +
    8. +
    9. Return images. +
    10. +
    +

    @@ -2538,7 +2598,12 @@

  • the - element's base URL . + element's base URL. +
  • +
  • + queue a + post-load task