<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://www.w3.org/Bugs/Public/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4"
          urlbase="https://www.w3.org/Bugs/Public/"
          
          maintainer="sysbot+bugzilla@w3.org"
>

    <bug>
          <bug_id>22737</bug_id>
          
          <creation_ts>2013-07-19 19:56:59 +0000</creation_ts>
          <short_desc>Add link type &quot;prerender&quot; to html5 spec</short_desc>
          <delta_ts>2016-04-22 17:10:58 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>HTML WG</product>
          <component>HTML5 spec</component>
          <version>unspecified</version>
          <rep_platform>PC</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>WONTFIX</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>enhancement</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter>arvind</reporter>
          <assigned_to name="This bug has no owner yet - up for the taking">dave.null</assigned_to>
          <cc>arronei</cc>
    
    <cc>ian</cc>
    
    <cc>jmann</cc>
    
    <cc>julian.reschke</cc>
    
    <cc>mike</cc>
    
    <cc>plh</cc>
    
    <cc>public-html-admin</cc>
    
    <cc>public-html-wg-issue-tracking</cc>
    
    <cc>rubys</cc>
    
    <cc>silviapfeiffer1</cc>
          
          <qa_contact name="HTML WG Bugzilla archive list">public-html-bugzilla</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>91005</commentid>
    <comment_count>0</comment_count>
    <who name="">arvind</who>
    <bug_when>2013-07-19 19:56:59 +0000</bug_when>
    <thetext>I&apos;m requesting adding link type &quot;prerender&quot; to the html5 specification. It is similar in nature to the existing link type &quot;prefetch&quot; in the specification.

The &quot;prerender&quot; keyword is meant to be a hint to the browser to load a webpage in anticipation of a user navigation. It&apos;s implemented in Chrome and IE11 as an experimental feature.

We discussed this in the Web Performance working group and on html wg:
http://lists.w3.org/Archives/Public/public-web-perf/2013Jun/0013.html
http://lists.w3.org/Archives/Public/public-html/2013Jul/0014.html

I&apos;ve written below the proposed addition to the html5 spec below. Please let me know if you have any comments on it and what would be the next step in considering this addition to the spec.
Thanks,
Arvind

4.13.5.10 Link type &quot;prerender&quot;
The prerender keyword may be used with a link, a, and area elements. This keyword creates an external resource link.

The prerender keyword indicates that preemptively fetching and loading the specified resource in a hidden top-level browsing context is likely to be beneficial, as it is highly likely that the user will navigate to this resource. If the resource is navigated to, the user agent may replace the current browsing context with the one it loaded the specified resource in. 

The user agent may discard the browsing context corresponding to the prerendered resource if any of the following is true:

- If the resource is not navigated to within a reasonable amount of time.
- If the user navigates to some other resource from the current browsing context.
- If the link element is removed from the document.
- There is no default type for resources given by the prerender keyword.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>91009</commentid>
    <comment_count>1</comment_count>
    <who name="Julian Reschke">julian.reschke</who>
    <bug_when>2013-07-19 20:53:04 +0000</bug_when>
    <thetext>New link types do not need to be defined in the spec; see &lt;http://www.w3.org/html/wg/drafts/html/master/links.html#other-link-types&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>91084</commentid>
    <comment_count>2</comment_count>
    <who name="Sam Ruby">rubys</who>
    <bug_when>2013-07-22 19:19:14 +0000</bug_when>
    <thetext>Generally we don&apos;t add new features while a specification is in CR; the default is to put new features into the queue for 5.1.  Furthermore, nothing will get added unless it can meet the exit criteria for CR.

I also agree with Julians comment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>91158</commentid>
    <comment_count>3</comment_count>
    <who name="Jatinder Mann [MSFT]">jmann</who>
    <bug_when>2013-07-23 20:56:41 +0000</bug_when>
    <thetext>The suggested spec text states: &quot;If the resource is navigated to, the user agent may replace the current browsing context with the one it loaded the specified resource in.&quot; If you replace the current browsing context, you will lose history. For example, the section on browsing contexts, http://www.w3.org/html/wg/drafts/html/master/browsers.html#windows, states that &quot;A browsing context has a session history&quot;. I don’t think we want a prerendered page to lose its history.

I think we may want to update that sentence to instead say something like: &quot;If the user chooses to navigate to this resource, the user agent may navigate the current browsing context to the specified resource.&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>91410</commentid>
    <comment_count>4</comment_count>
    <who name="Philippe Le Hegaret">plh</who>
    <bug_when>2013-07-30 14:47:57 +0000</bug_when>
    <thetext>Based on Arvind text and Jatinder addition, I made the following:
 http://microformats.org/wiki/rel-prerender

and updated the HTML5 link type extensions table consequently.

I&apos;m still interested in pushing this into the main HTML spec as well. If
prefetch is there, prerender has a place as well imho.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>91862</commentid>
    <comment_count>5</comment_count>
    <who name="Silvia Pfeiffer">silviapfeiffer1</who>
    <bug_when>2013-08-10 11:12:47 +0000</bug_when>
    <thetext>Is it sufficient to add to HTML5.1?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>91863</commentid>
    <comment_count>6</comment_count>
    <who name="Silvia Pfeiffer">silviapfeiffer1</who>
    <bug_when>2013-08-10 11:16:59 +0000</bug_when>
    <thetext>Philippe: would your http://microformats.org/wiki/rel-prerender page be removed and prerender be added to http://microformats.org/wiki/existing-rel-values after adding to the html5.1 spec?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>91864</commentid>
    <comment_count>7</comment_count>
    <who name="">arvind</who>
    <bug_when>2013-08-10 13:59:03 +0000</bug_when>
    <thetext>Yes once you add the text for prerender in the HTML5.1 spec, we can remove the  http://microformats.org/wiki/rel-prerender page.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>91867</commentid>
    <comment_count>8</comment_count>
    <who name="Julian Reschke">julian.reschke</who>
    <bug_when>2013-08-11 06:11:58 +0000</bug_when>
    <thetext>Are you going to add the other relations as well?

What&apos;s the point of the registry btw then?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>91868</commentid>
    <comment_count>9</comment_count>
    <who name="Silvia Pfeiffer">silviapfeiffer1</who>
    <bug_when>2013-08-11 07:47:06 +0000</bug_when>
    <thetext>I&apos;m likely missing some history here, so your help is appreciated. Can you tell me what were the criteria for having the ones that are listed in http://www.w3.org/html/wg/drafts/html/master/links.html#linkTypes be part of the HTML spec rather than the registry?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>91869</commentid>
    <comment_count>10</comment_count>
    <who name="Michael[tm] Smith">mike</who>
    <bug_when>2013-08-11 12:27:06 +0000</bug_when>
    <thetext>I&apos;m not necessarily advocating for rel=prerender to be added to the HTML spec but it seems like the difference between it and most other values documented on the Microformats wiki is that rel=prerender affects UA behavior.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>92306</commentid>
    <comment_count>11</comment_count>
    <who name="Ian &apos;Hixie&apos; Hickson">ian</who>
    <bug_when>2013-08-19 23:10:29 +0000</bug_when>
    <thetext>FWIW, this will probably end up specced in the WHATWG spec in due course.

(It&apos;s not clear to me why this has to exist separate from rel=prefetch, by the way. As rel=prefetch is defined, it seems to completely allow for the behaviour of rel=prerender. Also, if we do spec this I guess we should spec the processing model, in particular, how the WindowProxy object is supposed to handle having two &quot;active&quot; documents at the same time, and so on. Tests would be useful.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>126046</commentid>
    <comment_count>12</comment_count>
    <who name="Arron Eicholz">arronei</who>
    <bug_when>2016-04-22 17:10:58 +0000</bug_when>
    <thetext>HTML5.1 Bugzilla Bug Triage: Incubation needed

This bug constitutes a request for a new feature of HTML. The current guidelines [1], rather than track such requests as bugs or issues, please create a proposal outlining the desired behavior, or at least a sketch of what is wanted (much of which is probably contained in this bug), and start the discussion/proposal in the WICG [2]. As your idea gains interest and momentum, it may be brought back into HTML through the Intent to Migrate process [3].
[1] https://github.com/w3c/html#contributing-to-this-repository
[2] https://www.w3.org/community/wicg/
[3] https://wicg.github.io/admin/intent-to-migrate.html</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>