Intent to Remove: HTMLHtmlElement.manifest

68 views
Skip to first unread message

Philip Jägenstedt

unread,
May 15, 2014, 4:45:55 PM5/15/14
to blink-dev

Primary eng (and PM) emails

phi...@opera.com


Link to “Intent to Deprecate” thread

https://groups.google.com/a/chromium.org/d/msg/blink-dev/DZecJyapzjM/zv25Xu1t5_oJ


Summary

Remove the HTMLHtmlElement.manifest IDL attribute.


Motivation

The spec says: "The manifest attribute only has an effect during the early stages of document load. Changing the attribute dynamically thus has no effect (and thus, no DOM API is provided for this attribute)."
http://www.whatwg.org/specs/web-apps/current-work/multipage/semantics.html#the-html-element


Only Blink/WebKit supports the IDL attribute, at least in this basic test: http://software.hixie.ch/utilities/js/live-dom-viewer/?saved=2939


The deprecation was landed about a month ago, and we have now passed a branch point.

Usage information from UseCounter

http://www.chromestatus.com/metrics/feature/timeline/popularity/210

The top measurement to date is 0.016%.


Entry on chromestatus.com

http://www.chromestatus.com/features/6192449487634432 is Application Cache, to which this is related.


Compatibility Risk

Getting and setting the attribute after HTMLHtmlElement::insertedByParser() has been called has no effect, so the appcache mechanism itself is not affected, but as always scripts could depend on the return type (string not undefined) and misbehave in unknown ways.

Also, the attribute could be used for feature testing appcache, in which case a pre-appcache codepath would be taken. That should usually mean that the cache doesn't work, but the worst case is always complete breakage of the site.

Mounir Lamouri

unread,
May 15, 2014, 5:11:18 PM5/15/14
to Philip Jägenstedt, blink-dev
On Fri, 16 May 2014, at 6:45, Philip Jägenstedt wrote:
> Compatibility Risk
> Getting and setting the attribute after
> HTMLHtmlElement::insertedByParser()
> has been called has no effect, so the appcache mechanism itself is not
> affected, but as always scripts could depend on the return type (string
> not
> undefined) and misbehave in unknown ways.
>
> Also, the attribute could be used for feature testing appcache, in which
> case a pre-appcache codepath would be taken. That should usually mean
> that
> the cache doesn't work, but the worst case is always complete breakage of
> the site.

Feature detection of appcache sounds like a reasonable use of that
attribute. However, given the very low usage of the attribute, the rise
of SW and the fair degradation path, it doesn't look like a major issue.
SGTM.

-- Mounir

Mounir Lamouri

unread,
May 15, 2014, 5:21:34 PM5/15/14
to Philip Jägenstedt, blink-dev
On Fri, 16 May 2014, at 7:11, Mounir Lamouri wrote:
> Feature detection of appcache sounds like a reasonable use of that
> attribute. However, given the very low usage of the attribute, the rise
> of SW and the fair degradation path, it doesn't look like a major issue.
> SGTM.

I meant that it is reasonable to assume that it is used that way, not
that it is reasonable to use it that way ;)

-- Mounir

dgla...@google.com

unread,
May 19, 2014, 11:51:34 AM5/19/14
to blin...@chromium.org
LGTM.

Ojan Vafai

unread,
May 20, 2014, 2:07:31 PM5/20/14
to Dimitri Glazkov, blink-dev
LGTM


On Mon, May 19, 2014 at 8:51 AM, <dgla...@google.com> wrote:
LGTM.

Eric Seidel

unread,
May 20, 2014, 2:30:10 PM5/20/14
to Ojan Vafai, Dimitri Glazkov, blink-dev
I'm always happy to see things removed. Although I'm surprised we're
not just making this read-only? I guess the replacement is
document.querySelector('link[type='manifest']).getAttribute('value')?

LGTM.

PhistucK

unread,
May 20, 2014, 2:33:34 PM5/20/14
to Eric Seidel, Ojan Vafai, Dimitri Glazkov, blink-dev
You mean document.documentElement.getAttribute("manifest")?


PhistucK


To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.

Eric Seidel

unread,
May 20, 2014, 2:37:20 PM5/20/14
to PhistucK, Ojan Vafai, Dimitri Glazkov, blink-dev
Yes, sorry. That makes much more sense then. For whatever reason I
thought this was a <link> tag.

Philip Jägenstedt

unread,
May 21, 2014, 3:40:49 AM5/21/14
to Eric Seidel, Ojan Vafai, Dimitri Glazkov, blink-dev
I forgot to link to this earlier:
https://groups.google.com/a/chromium.org/d/msg/blink-dev/dSTAYLhhV3o/o1yqBOLO9WMJ

Darin Adler wrote "Reading the change log it seems clear that exposing
this attribute to the DOM was unintentional. The change log mentions
marking the manifest attribute URL, but not creating the manifest
attribute. The patch was supposed to correct the reflection of content
attributes, not expose additional attributes."

Since the addition was seemingly unintentional, removing it is the
sensible first choice if site compat allows.

Thanks for the LGTMs, I will submit the review now.

Philip
Reply all
Reply to author
Forward
0 new messages