- From: Francois Daoust <fd@w3.org>
- Date: Wed, 02 Jul 2008 17:16:25 +0200
- To: Jo Rabin <jrabin@mtld.mobi>
- CC: Dominique Hazael-Massieux <dom@w3.org>, public-bpwg-comments <public-bpwg-comments@w3.org>
Hi Jo, Thanks for the reply. I think there is still a remaining inconsistency though. [in the following examples, the file extensions are supposed to reflect the HTTP Content-Type with which the resources are served] Consider the following: <object src="img.gif" type="image/png" /> Current algorithm says it is mobileOK, since the image is retrieved by 3.15.1 Object Element Processing Rule, and the HTTP Content-Type is "image/gif". I don't quite like it, but as you said: some browsers download "img.gif" in the above example and some don't, so why not say that browsers usually download an object whose type is set to an unsupported mime type. Now, in the following: <object src="img.png" type="image/png"> <object src="img.gif" type="image/gif" /> </object> Here, the doc says: "img.png" is retrieved under 3.15.1. Its HTTP Content-Type is neither "image/png" nor "image/jpeg" so we'll move on to the inner object. Fine. Except that "img.png" won't be counted in 3.16 PAGE_SIZE_LIMIT (and EXTERNAL_RESOURCES, but since both tests are equivalent, let's focus on PAGE_SIZE_LIMIT). But as opposed to the above example, we're thus saying that browsers usually don't download an object whose type is set to an unsupported mime type. In practice, I think we need to make a choice. The best choice in my mind is to state that: 1. as resolved in April, objects that don't define a type attribute should be retrieved and counted: http://www.w3.org/2008/04/17-bpwg-minutes.html#item02 2. objects that define a type attribute different from "image/jpeg" and "image/gif" should not be retrieved. In terms of changes in the document, I think this would both be easy and clarify the existing text (see how I manage to sell my proposed changes! ;)), because there does not need to be any difference between the objects retrieved under 3.15.1 and those counted in 3.16 PAGE_SIZE_LIMIT (and EXTERNAL_RESOURCES as well). This would yield to the following list of changes (that include your proposed changes). === PAGE_SIZE_LIMIT (removing from your proposed text the mention of exceptions to the 3.15.1 processing rule, as all retrieved objects should be counted) Retrieve the document under test, if its size (excluding any redirections discussed under 2.4.3 HTTP Response) exceeds 10 kilobytes, FAIL Add to a running total (total size) the size of all the HTTP response bodies that are required to retrieve the document under test (see 2.4.3 HTTP Response). For each unique included resource (as defined in 2.4.6 Included Resources): Add the size of all the response bodies that are required to retrieve the resource (see 2.4.3 HTTP Response) to the running total. Include in the total all the objects retrieved under the 3.15.1 Object Element Processing Rule. If the total size exceeds 20 kilobytes, FAIL Note: In the case of resources that are referenced more than once in the document under test, and where, as discussed under 2.4.6, they are cached, it is the initial retrieval of that resource (as determined by the first reference in document order) that counts towards the total. Note: Where the Object Processing Rule (see 3.15.1) yields a resource that is found to be cached, objects that must be assessed in the course of yielding the cached resource count towards the total. === Proposed Change to 2.4.3 (that's your proposal, nothing changed!) change the wording of Include the size of the response in the total as described under 3.16 PAGE_SIZE_LIMIT to Include the size of the response in the "total size" as described under 3.16 PAGE_SIZE_LIMIT in the various places in which it is found. === EXTERNAL_RESOURCES (removing from your proposed text the mention of exceptions to the 3.15.1 processing rule, as all retrieved objects should be counted) Retrieve the resource under test, and add the number of retrievals required to obtain the resource (see 2.4.3 HTTP Response) to a running total. For each unique included resource, as defined in 2.4.6 Included Resources: Request the referenced resource Add the number of HTTP requests that are required to retrieve the resource (see 2.4.3 HTTP Response) to the running total. Include in the count all the objects retrieved under the 3.15.1 Object Element Processing Rule. If the total exceeds 10, warn If this total exceeds 20, FAIL === 3.15.1 Object Processing Rule (including your proposed addition of caching, and my proposed view to retrieve only objects that don't define a type attribute and those that define a type attribute set to "image/jpeg" or "image/gif"): change Retrieve the object (ignoring the type attribute) If the content-type of the retrieved object is "image/jpeg" or "image/gif" to If the object element does not define a type attribute, or if the type attribute is set to "image/jpeg" or "image/gif" If the resource is not already cached (see 2.4.6 Included Resources) retrieve the object (ignoring the type attribute) If the type attribute is different from "image/jpeg" and "image/gif", or if the HTTP Content-Type of the retrieved object is not "image/jpef" or "image/gif" === Proposed Change to 2.4.6 Included Resources Current Text Note: object elements that are accessed in order to test their Content-Type HTTP header, but do not form part of the ultimate representation of the resource under test (see 3.15 OBJECTS_OR_SCRIPT ), are not considered to be included resources. Their treatment, as regards 3.16 PAGE_SIZE_LIMIT and 3.6 EXTERNAL_RESOURCES , is described in the relevant section. Propsoed Text: Note: Resources that are retrieved according to the processing rules defined in 3.15.1 Object Processing Rules and whose Content-Type HTTP header is not set to image/jpeg or image/gif are not considered to be included resources. Their treatment, as regards 3.16 PAGE_SIZE_LIMIT and 3.6 EXTERNAL_RESOURCES, is described in the relevant section. Francois.
Received on Wednesday, 2 July 2008 15:17:01 UTC