Re: [whatwg] 'hidden' as resources control (Was: Simplified <picture> element draft)

On 1/23/14 9:13 PM, Bruno Racineux wrote:
> Then how come it is the case right now for both:
>
> <object style="display:none" data="image.png">

Gecko's preloader never preloads <object>s.  There are various reasons 
for this, but the most important one is that in practice it doesn't 
matter for actual web pages and hence no one has bothered to write the 
extra code to make it work.

> Not only the pre-loader doesn't load the data-src
> but "image.png" doesn't actually load at all.

How did you determine that last, if I might ask?

I just tested in Gecko and Gecko does in fact load the image if the 
above markup is used.  Normal load, once the element has been created, 
not preload.

It's not trivial to tell that with an image, but here's a testcase that 
makes it crystal clear what's going on:

<!DOCTYPE html>
<object style="display: none"
         data="data:text/plain,I_GOT_LOADED">
</object>
<script>
   onload = function() {
     var obj = document.querySelector("object");
     alert(obj.contentDocument.documentElement.textContent);
   }
</script>

This works just fine in Gecko.  It looks like WebKit/Blink do something 
weird here, but that just sounds like a bug.

> Well legacy behavior has made it so... just seems quite flawed in
> responsive design context where you'd expect the ability to set resources
> in the DOM with some control as to wether they ought to load or not,

Sure.  That's why there's all this discussion about controlling 
precisely that!

> Could 'resource control' be an associated spec of the 'hidden' attribute?

It bothers me, at first glance, to overload the attribute to mean 
different things.  I predict people will appear who want the hidden 
thing to hide but still want loading/preloading.

It would be better to just have a separate attribute for the separate 
task if we go this direction.

-Boris

Received on Friday, 24 January 2014 03:52:41 UTC