[Bug 24114] [imports]: add support for async loading

https://www.w3.org/Bugs/Public/show_bug.cgi?id=24114

Jake Archibald <jaffathecake@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jaffathecake@gmail.com

--- Comment #1 from Jake Archibald <jaffathecake@gmail.com> ---
I disagree that "Render blocking … is the right default behavior".

Imitating <script> is a poor choice, we're still fighting the render-blocking
behaviour <script> provides by default. And <script> makes async really
difficult (no way to specify dependencies), just look at Google Analytics
https://developers.google.com/analytics/devguides/collection/analyticsjs/.

Instead, we should follow the default behaviour of <img>.

An <img> doesn't block parsing or rendering, the image appears when it is
loaded. The developer can reserve an area for the image to change the reflowing
behaviour.

This could work for web components. Make :unresolved components display:none by
default, then they appear as the import loads & it provides a different value
for "display".

The developer can change what :unresolved looks like on a
component-by-component basis. This could be reserving space, or even rendering
the content within in a way that makes the import an enhancement.

If that absolutely must, they can display:none the <body> and show it once all
components are ready. This is a hoop to jump through, but you should have to
jump through a hoop to make something totally render-blocking.

-- 
You are receiving this mail because:
You are the QA Contact for the bug.

Received on Wednesday, 29 January 2014 17:21:22 UTC