| Index: third_party/WebKit/LayoutTests/imported/web-platform-tests/html/dom/documents/dom-tree-accessors/document.title-09.html | 
| diff --git a/third_party/WebKit/LayoutTests/imported/web-platform-tests/html/dom/documents/dom-tree-accessors/document.title-09.html b/third_party/WebKit/LayoutTests/imported/web-platform-tests/html/dom/documents/dom-tree-accessors/document.title-09.html | 
| index 1fafab8bac00a5476b31a27a339ddb5e30358bf0..e32ed336aac9120cf0d9cff5ae9843014a09c106 100644 | 
| --- a/third_party/WebKit/LayoutTests/imported/web-platform-tests/html/dom/documents/dom-tree-accessors/document.title-09.html | 
| +++ b/third_party/WebKit/LayoutTests/imported/web-platform-tests/html/dom/documents/dom-tree-accessors/document.title-09.html | 
| @@ -5,21 +5,25 @@ | 
| <div id="log"></div> | 
| <script> | 
| var SVG_NAMESPACE = "http://www.w3.org/2000/svg"; | 
| +var HTML_NAMESPACE = "http://www.w3.org/1999/xhtml"; | 
|  | 
| function newSVGDocument() { | 
| return document.implementation.createDocument(SVG_NAMESPACE, "svg", null); | 
| } | 
|  | 
| +function assertIsSVGTitle(element, expectedText) { | 
| +  assert_equals(element.namespaceURI, SVG_NAMESPACE); | 
| +  assert_equals(element.localName, "title"); | 
| +  assert_equals(element.textContent, expectedText); | 
| +} | 
| + | 
| test(function() { | 
| var doc = newSVGDocument(); | 
| assert_equals(doc.title, ""); | 
| var child = doc.createElementNS(SVG_NAMESPACE, "x-child"); | 
| doc.documentElement.appendChild(child); | 
| doc.title = "foo"; | 
| -  var lastChild = doc.documentElement.lastChild; | 
| -  assert_equals(lastChild.namespaceURI, SVG_NAMESPACE); | 
| -  assert_equals(lastChild.localName, "title"); | 
| -  assert_equals(lastChild.textContent, "foo"); | 
| +  assertIsSVGTitle(doc.documentElement.firstChild, "foo"); | 
| assert_equals(doc.title, "foo"); | 
| }, "No title element in SVG document"); | 
|  | 
| @@ -48,13 +52,46 @@ test(function() { | 
| child.appendChild(title); | 
| doc.documentElement.appendChild(child); | 
| assert_equals(doc.title, ""); | 
| + | 
| +  // Now test that on setting, we create a new element and don't change the | 
| +  // existing one | 
| +  doc.title = "bar"; | 
| +  assert_equals(title.textContent, "foo"); | 
| +  assertIsSVGTitle(doc.documentElement.firstChild, "bar"); | 
| +  assert_equals(doc.title, "bar"); | 
| }, "Title element not child of SVG root"); | 
|  | 
| test(function() { | 
| var doc = newSVGDocument(); | 
| -  var title = doc.createElement("title"); | 
| +  var title = doc.createElementNS(HTML_NAMESPACE, "title"); | 
| title.textContent = "foo"; | 
| doc.documentElement.appendChild(title); | 
| assert_equals(doc.title, ""); | 
| }, "Title element not in SVG namespace"); | 
| + | 
| +test(function() { | 
| +  // "SVG" != "svg" | 
| +  var doc = document.implementation.createDocument(SVG_NAMESPACE, "SVG", null); | 
| + | 
| +  // Per spec, this does nothing | 
| +  doc.title = "foo"; | 
| +  assert_equals(doc.documentElement.childNodes.length, 0); | 
| +  assert_equals(doc.title, ""); | 
| + | 
| +  // An SVG title is ignored by .title | 
| +  doc.documentElement.appendChild(doc.createElementNS(SVG_NAMESPACE, "title")); | 
| +  doc.documentElement.lastChild.textContent = "foo"; | 
| +  assert_equals(doc.title, ""); | 
| + | 
| +  // But an HTML title is respected | 
| +  doc.documentElement.appendChild(doc.createElementNS(HTML_NAMESPACE, "title")); | 
| +  doc.documentElement.lastChild.textContent = "bar"; | 
| +  assert_equals(doc.title, "bar"); | 
| + | 
| +  // Even if it's not a child of the root | 
| +  var div = doc.createElementNS(HTML_NAMESPACE, "div"); | 
| +  div.appendChild(doc.documentElement.lastChild); | 
| +  doc.documentElement.appendChild(div); | 
| +  assert_equals(doc.title, "bar"); | 
| +}, 'Root element not named "svg"'); | 
| </script> | 
|  |