[Bug 20849] New: [Templates]: Should non-template end tags be ignore in template contents insertion mode?

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

            Bug ID: 20849
           Summary: [Templates]: Should non-template end tags be ignore in
                    template contents insertion mode?
    Classification: Unclassified
           Product: WebAppsWG
           Version: unspecified
          Hardware: PC
                OS: All
            Status: NEW
          Severity: normal
          Priority: P2
         Component: Component Model
          Assignee: dglazkov@chromium.org
          Reporter: rafaelw@chromium.org
        QA Contact: public-webapps-bugzilla@w3.org
            Blocks: 15476

Right now, it just switches to in body, but doesn't choose a context by setting
the mode into the stack of template insertion modes.

e.g.

<template></div><div><template></template><tr>

will produce

| <html>
|   <head>
|     <template>
|       #document-fragment
|         <div>
|         <template>
|           #document-fragment
|         <tr>

I.e the fact that the leading </div> was processed allowed the following div to
be processed without choosing a implied context, which happened later when the
<tr> was encountered.

It seems like there are three choices here:

1) Leave this as is -- it's probably not hurting anything, and it's not like
the parser is perfect at handling poorly formed content

2) Choose the implied context based on both start and end tags (e.g. the input
above would produce:

| <html>
|   <head>
|     <template>
|       #document-fragment
|         <div>
|         <template>
|           #document-fragment

(ignoring the <tr> because the initial </div> will have set the context as
<body>

3) Simply ignore end tag tokens that aren't </template> while in template
contents mode. This would produce the same output as (2), but is more "correct"
in that it uses the first significant start tag as the determinant of the
implied context.

Thoughts?

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

Received on Friday, 1 February 2013 21:05:29 UTC