diff --git a/index.html b/index.html index 45327d80..13a3834b 100644 --- a/index.html +++ b/index.html @@ -113,7 +113,7 @@

- This specification defines a JSON-based manifest file that provides + This specification defines a JSON-based file format that provides developers with a centralized place to put metadata associated with a web application. This metadata includes, but is not limited to, the web application's name, links to icons, as well as the preferred URL to @@ -437,11 +437,11 @@

Navigation scope

- A navigation scope is a URL that - represents the set of URLs to which an application context can - be navigated while the manifest is applied. The navigation - scope of a manifest manifest is - manifest["scope"]. + The navigation scope of a manifest is the + {{WebAppManifest/scope}} member of a [=processed manifest=]. The + navigation scope restricts the set of URLs to which an [=application + context=] can be [=navigated=] while the manifest is [=applied=].

@@ -460,31 +460,29 @@

- A URL target is said to be within scope of - navigation scope scope if the following algorithm - returns true: + A [=URL=] |target:URL| is said to be within scope of [=URL=] |scope:URL| if the + following algorithm returns `true`:

-
    -
  1. Let scopePath be the [=string/concatenation=] of - scopes's path, using - U+002F (/). +
      +
    1. If |target| and |scope| are not [=same origin=], return `false`.
    2. -
    3. Let targetPath be the [=string/concatenation=] of - target's path, using - U+002F (/). +
    4. Let |scopePath:string| be the [=string/concatenation=] of + |scopes|'s [=URL/path=] using U+002F (/) as the separator.
    5. -
    6. If target is same origin as scope and - targetPath starts with scopePath, return - true. +
    7. Let |targetPath:string| be the [=string/concatenation=] of + |target|'s [=URL/path=] using U+002F (/) as the separator.
    8. -
    9. Otherwise, return false. +
    10. Return a [=boolean=] indicating whether |targetPath| starts with + |scopePath:string|.

    - A URL target is said to be within scope of a manifest - manifest if target is within scope of the - navigation scope of manifest. + A [=URL=] |target:URL| is within scope of a + |manifest:processed manifest| if the |target| is [=URL/within scope=] + of |manifest|'s [=manifest/navigation scope=] (i.e., [=URL/within + scope=] of |manifest|'s {{WebAppManifest/scope}} member).

    The URL string matching in this algorithm is prefix-based rather than @@ -496,21 +494,20 @@

    unexpected behavior, use a scope ending in a /.

    - If the application context's active document's - [=Document/URL=] is not within - scope of the application context's manifest, the user agent - SHOULD show a prominent UI element indicating the [=Document/URL=] or - at least its origin, including whether it is served over a - secure connection. This UI SHOULD differ from any UI used when the - [=Document/URL=] is within scope, in order to make it obvious - that the user is navigating off scope. + If the [=application context=]'s [=active document=]'s [=Document/URL=] + is not [=manifest/within scope=] of the [=application context=]'s + [=processed manifest=], the user agent SHOULD show a prominent UI + element indicating the [=Document/URL=] or at least its [=origin=], + including whether it is served over a secure connection. This UI SHOULD + differ from any UI used when the [=Document/URL=] is [=manifest/within + scope=] of the [=application context=]'s [=processed manifest=], in + order to make it obvious that the user is navigating off scope.

    Nothing prevents an application context from navigating to a - URL that is outside of the application's navigation - scope, while still having the manifest applied to - it. + URL that is outside of the manifest's [=manifest/navigation + scope=], while still having the manifest applied to it.

    Unlike previous versions of this specification, user agents are no @@ -549,9 +546,8 @@

    Deep links

    - A deep link is a URL that is within scope of an installed web - application's manifest. + A deep link is a URL that is [=manifest/within scope=] of + an [=installed web application=]'s [=processed manifest=].

    An application context can be instantiated through a deep @@ -1282,8 +1278,7 @@

    A manifest is a JSON document - that contains startup parameters and application defaults for when a - web application is launched. + that is structured as defined by this specification.

    Every manifest has an associated manifest URL, which is the @@ -1461,8 +1456,8 @@

    The scope member is a string that represents the - navigation scope of this web application's application - context. + [=manifest/navigation scope=] of this web application's + application context.

    The steps for processing the scope member is @@ -1491,11 +1486,12 @@

  2. -
  3. If start URL is not within scope of scope URL: +
  4. If start URL is not [=URL/within scope=] of |scope + URL|:
    1. Issue a developer warning that the start URL is not - within scope of the scope URL. + [=URL/within scope=] of the |scope URL|.
    2. Return default.
    3. @@ -1992,7 +1988,7 @@

      URL as the base URL. If the result is failure, issue a developer warning and [=iteration/continue=]. -
    4. If shortcut["url"] is not within scope of +
    5. If shortcut["url"] is not [=URL/within scope=] of manifest URL, issue a developer warning and [=iteration/continue=].
    6. @@ -2573,9 +2569,9 @@

      url member

      - The url member of a ShortcutItem is the URL - within the application's - scope that opens when the associated shortcut is activated. + The url member of a ShortcutItem is a URL + [=manifest/within scope=] of a [=processed manifest=] that opens when + the associated shortcut is activated.