Bug 123949 - Hoist <template> to head when found between </head> and <body> for consistency with <script>
Summary: Hoist <template> to head when found between </head> and <body> for consistenc...
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: DOM (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Ryosuke Niwa
URL:
Keywords: BlinkMergeCandidate
Depends on:
Blocks: 123851
  Show dependency treegraph
 
Reported: 2013-11-06 20:32 PST by Ryosuke Niwa
Modified: 2013-11-20 22:57 PST (History)
9 users (show)

See Also:


Attachments
Patch (6.20 KB, patch)
2013-11-20 01:06 PST, Ryosuke Niwa
no flags Details | Formatted Diff | Diff
Tweaked the change log a little (6.22 KB, patch)
2013-11-20 01:07 PST, Ryosuke Niwa
no flags Details | Formatted Diff | Diff
Patch for landing (6.31 KB, patch)
2013-11-20 22:27 PST, Ryosuke Niwa
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Comment 1 Ryosuke Niwa 2013-11-20 01:06:01 PST
Created attachment 217402 [details]
Patch
Comment 2 Ryosuke Niwa 2013-11-20 01:07:29 PST
Created attachment 217404 [details]
Tweaked the change log a little
Comment 3 Antti Koivisto 2013-11-20 16:46:25 PST
Comment on attachment 217404 [details]
Tweaked the change log a little

View in context: https://bugs.webkit.org/attachment.cgi?id=217404&action=review

> Source/WebCore/html/parser/HTMLTreeBuilder.cpp:1644
> +#if ENABLE(TEMPLATE_ELEMENT)
> +            if (isParsingFragment())
> +#else
> +            ASSERT(isParsingFragment());
> +#endif
> +                item = HTMLStackItem::create(m_fragmentContext.contextElement(), HTMLStackItem::ItemForContextElement);

This is somewhat ugly. It is nicer to do something like this:

#if ENABLE(TEMPLATE_ELEMENT)
bool shouldCreateItem = isParsingFragment();
#else
ASSERT(isParsingFragment());
bool shouldCreateItem = true;
#endif
if (shouldCreateItem) ...
Comment 4 Ryosuke Niwa 2013-11-20 22:22:54 PST
(In reply to comment #3)
>
> This is somewhat ugly. It is nicer to do something like this:
> 
> #if ENABLE(TEMPLATE_ELEMENT)
> bool shouldCreateItem = isParsingFragment();
> #else
> ASSERT(isParsingFragment());
> bool shouldCreateItem = true;
> #endif
> if (shouldCreateItem) ...

Makes sense. Done that.
Comment 5 Ryosuke Niwa 2013-11-20 22:27:48 PST
Created attachment 217519 [details]
Patch for landing
Comment 6 WebKit Commit Bot 2013-11-20 22:57:45 PST
Comment on attachment 217519 [details]
Patch for landing

Clearing flags on attachment: 217519

Committed r159610: <http://trac.webkit.org/changeset/159610>
Comment 7 WebKit Commit Bot 2013-11-20 22:57:48 PST
All reviewed patches have been landed.  Closing bug.