Author: johnh
Date: Sat Nov 14 00:04:21 2009
New Revision: 836067
URL: http://svn.apache.org/viewvc?rev=836067&view=rev
Log:
Disallow <script type="os/data"> nodes from <head>. Neko's parser, as of
v1.9.13, explicitly disallows children of <head> to have child nodes of their
own (except for #text), breaking os/data nodes in <head>.
As noted in discussion, there may be good reasons to allow os/data and
os/template in <head> at some point, but at present it appears that nobody uses
this at present.
Modified:
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/parse/nekohtml/NekoSimplifiedHtmlParser.java
incubator/shindig/trunk/java/gadgets/src/test/resources/org/apache/shindig/gadgets/parse/nekohtml/test-socialmarkup.html
Modified:
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/parse/nekohtml/NekoSimplifiedHtmlParser.java
URL:
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/parse/nekohtml/NekoSimplifiedHtmlParser.java?rev=836067&r1=836066&r2=836067&view=diff
==============================================================================
---
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/parse/nekohtml/NekoSimplifiedHtmlParser.java
(original)
+++
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/parse/nekohtml/NekoSimplifiedHtmlParser.java
Sat Nov 14 00:04:21 2009
@@ -75,12 +75,12 @@
OSML_TEMPLATE_ELEMENT.parent =
new HTMLElements.Element[]{HTMLElements.getElement(HTMLElements.BODY)};
- // data tags are allowed in HEAD or BODY
+ // data tags are allowed in BODY only, since Neko disallows HEAD elements
from
+ // having child elements of their own.
OSML_DATA_ELEMENT = new HTMLElements.Element(unknown.code,
OSML_TEMPLATE_TAG,
unknown.flags, HTMLElements.BODY, unknown.closes);
OSML_DATA_ELEMENT.parent = new HTMLElements.Element[]{
- HTMLElements.getElement(HTMLElements.BODY),
- HTMLElements.getElement(HTMLElements.HEAD)};
+ HTMLElements.getElement(HTMLElements.BODY)};
}
private static final Map<String, HTMLElements.Element> OSML_ELEMENTS =
ImmutableMap.of(
Modified:
incubator/shindig/trunk/java/gadgets/src/test/resources/org/apache/shindig/gadgets/parse/nekohtml/test-socialmarkup.html
URL:
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/test/resources/org/apache/shindig/gadgets/parse/nekohtml/test-socialmarkup.html?rev=836067&r1=836066&r2=836067&view=diff
==============================================================================
---
incubator/shindig/trunk/java/gadgets/src/test/resources/org/apache/shindig/gadgets/parse/nekohtml/test-socialmarkup.html
(original)
+++
incubator/shindig/trunk/java/gadgets/src/test/resources/org/apache/shindig/gadgets/parse/nekohtml/test-socialmarkup.html
Sat Nov 14 00:04:21 2009
@@ -1,3 +1,5 @@
+<link rel="foo"></link>
+
<script type="text/os-data" xmlns:os="http://ns.opensocial.org/2008/markup">
<os:ViewerRequest key="viewer"/>
</script>
@@ -14,4 +16,4 @@
<span>Some content</span>
-<div><!-- foo -->bar<!-- baz --></div>
\ No newline at end of file
+<div><!-- foo -->bar<!-- baz --></div>