"rel-manifest">manifest
- External Resource
+ External Resource
|
not allowed
@@ -514,20 +461,16 @@
The media type for a manifest serves as the default media type
for resources associated with the manifest link
- type.
+ "#rel-manifest">manifest link type.
- In cases where more than one
- link element with a manifest link type
- appears in a Document , the user agent uses the first
- link element in tree order and ignores all subsequent
- link elements with a manifest link type
- (even if the first element was erroneous). See the steps for
- obtaining a manifest.
+ In cases where more than one link element with a
+ manifest link type appears in a Document ,
+ the user agent uses the first link element in
+ tree order and ignores all subsequent link element with a
+ manifest link type (even if the first element was
+ erroneous). See the steps for obtaining a manifest.
To obtain a manifest, the user agent MUST run the steps for
@@ -538,23 +481,22 @@
scripts required by the document ).
- A manifest is obtained and applied regardless of the
- media attribute of the
- link matches the environment or not.
+ A manifest is obtained and applied regardless of the
+ media attribute of the link
+ element matches the environment or not.
- Manifest processing model
+ Manifest life-cycle
- This section defines algorithms for obtaining
- and processing a manifest, and gives
- recommendations to implementers on how to react, when the manifest is
- updated.
+ This section defines algorithms for obtaining,
+ processing, and applying a manifest, and gives recommendations
+ to implementers on how to react when the manifest is updated.
@@ -564,31 +506,20 @@
The steps for obtaining a manifest are given by the
following algorithm. The algorithm, if successful, returns a
processed manifest. In running these steps, a user agent MUST
- NOT
- delay the load event.
+ NOT delay the load event.
- - From the
Document of the
- top-level browsing context, let manifest link be the
- first
- link element in tree
- order whose
- rel attribute contains the token manifest .
+ - From the
Document of the top-level browsing
+ context, let manifest link be the first
+ link element in tree order whose
+ rel attribute contains the token manifest .
- If manifest link is not
null :
- Honoring the
manifest-src [[!CSP2]] directive,
- and respecting [[!MIX]],
- obtain a resource as per [[!HTML]]. If the
- obtain a resource algorithm terminates prematurely, or is
- denied by [[!CSP2]], terminate this algorithm.
+ and respecting [[!MIX]], obtain a resource as per
+ [[!HTML]]. If the obtain a resource algorithm terminates
+ prematurely, or is denied by [[!CSP2]], terminate this algorithm.
- Let response be a [[!FETCH]] the response
@@ -599,11 +530,8 @@
- Otherwise, if manifest element is
null ,
terminate this algorithm.
- - Using the
- networking task source, queue
- a task to perform the following:
+
- Using the networking task source, queue a task to
+ perform the following:
- Let req be a new [[!FETCH]]
- Set req's origin to be the origin
- of the
- top-level browsing context.
+ "concept-request-origin">origin to be the origin of
+ the top-level browsing context.
- Set req's mode to
@@ -632,9 +557,7 @@
- Set req's referrer to be the
-
Document of the
- top-level browsing context.
+ Document of the top-level browsing context.
- Set req's
@@ -655,9 +578,8 @@
processing a manifest with response's body as the
text, and url as the manifest URL,
- the URL the
- top-level browsing context's address.
+ the URL the top-level browsing
+ context's address.
- Return manifest.
@@ -680,7 +602,6 @@
"display": "fullscreen",
"orientation": "landscape"
}
-
@@ -802,9 +723,8 @@
When an application context is created, the user agent MUST
- immediately navigate to the start URL with
- replacement enabled.
+ immediately navigate to the start URL
+ with replacement enabled.
- The appropriate time to apply a manifest is
- when the application context is created and before navigation
- to the start URL begins.
+ The appropriate time to apply a manifest is
+ when the application context is created and before navigation to the start URL begins.
@@ -872,21 +792,13 @@
list of other applications, or as a label for an icon).
- For all intents and purposes, the name member is functionally equivalent to
- having a
- meta element whose name
- attribute is
- application-name in a [[!HTML]] document. In cases
- where no suitable name can be derived from processing a manifest,
- [[!HTML]]'s
- application-name or the
- title element serve as suitable fallbacks.
+ For all intents and purposes, the name member is
+ functionally equivalent to having a meta element
+ whose name attribute is
+ application-name in a [[!HTML]] document. In
+ cases where no suitable name can be derived from processing a
+ manifest, [[!HTML]]'s application-name or the
+ title element serve as suitable fallbacks.
The steps for processing the name member is
@@ -967,11 +879,8 @@
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
+ the top-level browsing context. For example, an icon link
+ type and/or a favicon.ico can serve as suitable
fallbacks.
@@ -1119,38 +1028,26 @@
The orientation
member is a string that serves as the
- default
- orientation for all
- top-level browsing contexts of the web application. The possible
- values is one of the
- OrientationLockType enum defined in
+ default orientation for all top-level browsing contexts of the
+ web application. The possible values is one of the
+ OrientationLockType enum defined in
[[!SCREEN-ORIENTATION]].
If the user agent honors the value of the orientation
- member as the default
- orientation, then that serves as the default
- orientation for the life of the web application (unless
- overridden by some other means at runtime). This means that the user
- agent MUST return the orientation to the default
+ member as the default orientation, then that serves as the
+ default orientation for the life of the web application
+ (unless overridden by some other means at runtime). This means that
+ the user agent MUST return the orientation to the default
orientation any time the orientation is unlocked
- [[!SCREEN-ORIENTATION]] or the
- top-level browsing context is navigated.
+ [[!SCREEN-ORIENTATION]] or the top-level browsing context is
+ navigated.
Although the specification relies on the [[!SCREEN-ORIENTATION]]'s
-
- OrientationLockType, it is OPTIONAL for a user agent to implement
- the [[!SCREEN-ORIENTATION]] API. Supporting the
+ OrientationLockType , it is OPTIONAL for a user
+ agent to implement the [[!SCREEN-ORIENTATION]] API. Supporting the
[[!SCREEN-ORIENTATION]] API is, of course, RECOMMENDED.
@@ -1164,10 +1061,8 @@
Once the web application is running, other means can change the
- orientation of a
- top-level browsing context (such as via [[!SCREEN-ORIENTATION]]
- API).
+ orientation of a top-level browsing context (such as via
+ [[!SCREEN-ORIENTATION]] API).
The steps for processing the orientation
@@ -1192,9 +1087,10 @@
Otherwise, Trim(value) and set value
to be the result.
- If value is not one of the OrientationLockType
- enum values, or value is unsupported by the user agent, or
- the value cannot be used together with display
+ If value is not one of the
+ OrientationLockType enum values, or
+ value is unsupported by the user agent, or the
+ value cannot be used together with display
mode:
-
@@ -1214,12 +1110,11 @@
The start_url member is a
- string that represents the URL that
- the developer would prefer the user agent
- load when the user launches the web application (e.g., when the
- user clicks on the icon of the web application from a device's
- application menu or homescreen).
+ string that represents the start
+ URL, which is URL that the developer would prefer the
+ user agent load when the user launches the web application (e.g.,
+ when the user clicks on the icon of the web application from a
+ device's application menu or homescreen).
The start_url member is purely
@@ -1267,17 +1162,12 @@
- If url is not same
- origin as origin URL:
+ If url is not same origin as origin URL:
-
Issue a developer warning that the
-
start_url needs to be
- same-origin as Document of the
- top-level browsing context.
+ start_url needs to be same-origin as
+ Document of the top-level browsing context.
- Return a new URL whose input is origin
URL.
@@ -1308,7 +1198,7 @@
The manifest-src and default-src
directives govern the origins from which a user agent can
- fetch a manifest. As with other directives, by default the
+ fetch a manifest. As with other directives, by default the
manifest-src directive is * , meaning that
a user agent can, [[!CORS]] permitting, fetch the manifest
cross-domain. Remote origins (e.g., a
For all intents and purposes, an icon object is functionally
- equivalent to link element whose rel
- attribute is icon in a Document .
+ equivalent to link element whose
+ rel attribute is icon in a Document .
Otherwise, parse value as if it was a [[!HTML]]
-
- sizes attribute and let keywords be the
+ sizes attribute and let keywords be the
result.
For each keyword in keywords:
- - Convert keyword
- to ASCII lowercase and add the resulting string to
- sizes.
+
- Convert keyword to ASCII lowercase and add
+ the resulting string to sizes.
@@ -1562,10 +1442,8 @@
There is no default MIME type for icon objects. However, for the
- purposes of
- determining the type of the resource, user agents must expect the
- resource to be an image.
+ purposes of determining the type of the resource, user agents
+ must expect the resource to be an image.
The steps for processing the type member of an
@@ -1592,17 +1470,222 @@
Trim(value) and set value to be resulting
string.
- If value is not a
- valid MIME type or the value of type is not a
- supported media format, issue a developer warning and return
- undefined .
+ If value is not a valid MIME type or the value
+ of type is not a supported media format, issue a developer
+ warning and return undefined .
Return value.
+
+
+ Common conventions and dependencies
+
+
+ The
+ [[\GetOwnProperty]] operation and the abstract operation
+
+ hasOwnProperty,
+ parseFloat(string) function, and the
+ Type(x) notation are defined in
+ [[!ECMASCRIPT]].
+
+
+ When instructed to Trim(x), a user agent MUST
+ behave as if [[!ECMASCRIPT]]'s
+ String.prototype.trim() function had been called on the string
+ x.
+
+
+ As the manifest uses the JSON format, this specification relies on the
+ types defined in [[!ECMA-404]] specification: namely object, array,
+ number, string, true , false , and
+ null . Strict type checking is not enforced by this
+ specification. Instead, each member's definition specifies the steps
+ required to process a particular member and what to do when a type does
+ not match what is expected.
+
+
+ The URL concept and
+ URL
+ parsing are defined in [[!WHATWG-URL]].
+
+
+ The
+ default orientation concept and the
+ OrientationLockType enum, are defined in
+ [[!SCREEN-ORIENTATION]].
+
+
+ The following are defined in [[!HTML]]:
+
+
+
IANA considerations
@@ -1834,7 +1917,6 @@
"moz_awesome_thing": { ... }
...
}
-
|