<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[202937] trunk</title>
</head>
<body>

<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;  }
#msg dl a { font-weight: bold}
#msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="http://trac.webkit.org/projects/webkit/changeset/202937">202937</a></dd>
<dt>Author</dt> <dd>cdumez@apple.com</dd>
<dt>Date</dt> <dd>2016-07-07 15:36:42 -0700 (Thu, 07 Jul 2016)</dd>
</dl>

<h3>Log Message</h3>
<pre>td / th should be exposed as HTMLTableCellElement objects
https://bugs.webkit.org/show_bug.cgi?id=159518
&lt;rdar://problem/27225436&gt;

Reviewed by Ryosuke Niwa.

LayoutTests/imported/w3c:

Rebaseline W3C tests now that more checks are passing.

* web-platform-tests/html/dom/interfaces-expected.txt:
* web-platform-tests/html/semantics/interfaces-expected.txt:

Source/WebCore:

td / th should be exposed as HTMLTableCellElement objects:
- https://html.spec.whatwg.org/multipage/tables.html#the-td-element
- https://html.spec.whatwg.org/multipage/tables.html#the-th-element

We were using HTMLTableDataCellElement / HTMLTableHeaderCellElement
sub-types.

Firefox and Chrome match the current specification.

We actually introduced these types recently via Bug 148859 to align
with an older version of the HTML specification. However, it seems the
specification has been updated to match Firefox / Chrome in the mean
time.

Since we have not shipped those subtypes yet, the compatibility risk is
low.

No new tests, rebaselined existing tests.

* CMakeLists.txt:
* DerivedSources.cpp:
* DerivedSources.make:
* WebCore.xcodeproj/project.pbxproj:
* html/HTMLElementsAllInOne.cpp:
* html/HTMLTableCellElement.cpp:
(WebCore::HTMLTableCellElement::create):
(WebCore::HTMLTableCellElement::scope):
(WebCore::HTMLTableCellElement::setScope):
(WebCore::HTMLTableCellElement::setRowSpanForBindings): Deleted.
* html/HTMLTableCellElement.h:
* html/HTMLTableCellElement.idl:
* html/HTMLTableDataCellElement.h: Removed.
* html/HTMLTableDataCellElement.idl: Removed.
* html/HTMLTableHeaderCellElement.cpp: Removed.
* html/HTMLTableHeaderCellElement.h: Removed.
* html/HTMLTableHeaderCellElement.idl: Removed.
* html/HTMLTableRowElement.cpp:
(WebCore::HTMLTableRowElement::insertCell):
* html/HTMLTagNames.in:</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkLayoutTestsfastdomwrapperclassesexpectedtxt">trunk/LayoutTests/fast/dom/wrapper-classes-expected.txt</a></li>
<li><a href="#trunkLayoutTestsfastdomwrapperclasseshtml">trunk/LayoutTests/fast/dom/wrapper-classes.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cChangeLog">trunk/LayoutTests/imported/w3c/ChangeLog</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestshtmldominterfacesexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/html/dom/interfaces-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestshtmlsemanticsinterfacesexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/interfaces-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformiossimulatorimportedw3cwebplatformtestshtmlsemanticsinterfacesexpectedtxt">trunk/LayoutTests/platform/ios-simulator/imported/w3c/web-platform-tests/html/semantics/interfaces-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformmacjsdomglobalconstructorsattributesexpectedtxt">trunk/LayoutTests/platform/mac/js/dom/global-constructors-attributes-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformmacyosemitejsdomglobalconstructorsattributesexpectedtxt">trunk/LayoutTests/platform/mac-yosemite/js/dom/global-constructors-attributes-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformwinjsdomglobalconstructorsattributesexpectedtxt">trunk/LayoutTests/platform/win/js/dom/global-constructors-attributes-expected.txt</a></li>
<li><a href="#trunkSourceWebCoreCMakeListstxt">trunk/Source/WebCore/CMakeLists.txt</a></li>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCoreDerivedSourcescpp">trunk/Source/WebCore/DerivedSources.cpp</a></li>
<li><a href="#trunkSourceWebCoreDerivedSourcesmake">trunk/Source/WebCore/DerivedSources.make</a></li>
<li><a href="#trunkSourceWebCoreWebCorexcodeprojprojectpbxproj">trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLElementsAllInOnecpp">trunk/Source/WebCore/html/HTMLElementsAllInOne.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLTableCellElementcpp">trunk/Source/WebCore/html/HTMLTableCellElement.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLTableCellElementh">trunk/Source/WebCore/html/HTMLTableCellElement.h</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLTableCellElementidl">trunk/Source/WebCore/html/HTMLTableCellElement.idl</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLTableRowElementcpp">trunk/Source/WebCore/html/HTMLTableRowElement.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLTagNamesin">trunk/Source/WebCore/html/HTMLTagNames.in</a></li>
</ul>

<h3>Removed Paths</h3>
<ul>
<li><a href="#trunkSourceWebCorehtmlHTMLTableDataCellElementh">trunk/Source/WebCore/html/HTMLTableDataCellElement.h</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLTableDataCellElementidl">trunk/Source/WebCore/html/HTMLTableDataCellElement.idl</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLTableHeaderCellElementcpp">trunk/Source/WebCore/html/HTMLTableHeaderCellElement.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLTableHeaderCellElementh">trunk/Source/WebCore/html/HTMLTableHeaderCellElement.h</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLTableHeaderCellElementidl">trunk/Source/WebCore/html/HTMLTableHeaderCellElement.idl</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkLayoutTestsfastdomwrapperclassesexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/dom/wrapper-classes-expected.txt (202936 => 202937)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/dom/wrapper-classes-expected.txt        2016-07-07 22:15:04 UTC (rev 202936)
+++ trunk/LayoutTests/fast/dom/wrapper-classes-expected.txt        2016-07-07 22:36:42 UTC (rev 202937)
</span><span class="lines">@@ -446,8 +446,8 @@
</span><span class="cx"> PASS tagJSWrapperClass('tbody') is 'HTMLTableSectionElement'
</span><span class="cx"> PASS tagJSWrapperPrototypeClass('tbody') is 'HTMLTableSectionElementPrototype'
</span><span class="cx"> PASS tagJSWrapperConstructorClass('tbody') is 'Function'
</span><del>-PASS tagJSWrapperClass('td') is 'HTMLTableDataCellElement'
-PASS tagJSWrapperPrototypeClass('td') is 'HTMLTableDataCellElementPrototype'
</del><ins>+PASS tagJSWrapperClass('td') is 'HTMLTableCellElement'
+PASS tagJSWrapperPrototypeClass('td') is 'HTMLTableCellElementPrototype'
</ins><span class="cx"> PASS tagJSWrapperConstructorClass('td') is 'Function'
</span><span class="cx"> PASS tagJSWrapperClass('textarea') is 'HTMLTextAreaElement'
</span><span class="cx"> PASS tagJSWrapperPrototypeClass('textarea') is 'HTMLTextAreaElementPrototype'
</span><span class="lines">@@ -455,8 +455,8 @@
</span><span class="cx"> PASS tagJSWrapperClass('tfoot') is 'HTMLTableSectionElement'
</span><span class="cx"> PASS tagJSWrapperPrototypeClass('tfoot') is 'HTMLTableSectionElementPrototype'
</span><span class="cx"> PASS tagJSWrapperConstructorClass('tfoot') is 'Function'
</span><del>-PASS tagJSWrapperClass('th') is 'HTMLTableHeaderCellElement'
-PASS tagJSWrapperPrototypeClass('th') is 'HTMLTableHeaderCellElementPrototype'
</del><ins>+PASS tagJSWrapperClass('th') is 'HTMLTableCellElement'
+PASS tagJSWrapperPrototypeClass('th') is 'HTMLTableCellElementPrototype'
</ins><span class="cx"> PASS tagJSWrapperConstructorClass('th') is 'Function'
</span><span class="cx"> PASS tagJSWrapperClass('thead') is 'HTMLTableSectionElement'
</span><span class="cx"> PASS tagJSWrapperPrototypeClass('thead') is 'HTMLTableSectionElementPrototype'
</span></span></pre></div>
<a id="trunkLayoutTestsfastdomwrapperclasseshtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/dom/wrapper-classes.html (202936 => 202937)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/dom/wrapper-classes.html        2016-07-07 22:15:04 UTC (rev 202936)
+++ trunk/LayoutTests/fast/dom/wrapper-classes.html        2016-07-07 22:36:42 UTC (rev 202937)
</span><span class="lines">@@ -247,10 +247,10 @@
</span><span class="cx">     testTag(&quot;sup&quot;, &quot;HTMLElement&quot;);
</span><span class="cx">     testTag(&quot;table&quot;, &quot;HTMLTableElement&quot;);
</span><span class="cx">     testTag(&quot;tbody&quot;, &quot;HTMLTableSectionElement&quot;);
</span><del>-    testTag(&quot;td&quot;, &quot;HTMLTableDataCellElement&quot;);
</del><ins>+    testTag(&quot;td&quot;, &quot;HTMLTableCellElement&quot;);
</ins><span class="cx">     testTag(&quot;textarea&quot;, &quot;HTMLTextAreaElement&quot;);
</span><span class="cx">     testTag(&quot;tfoot&quot;, &quot;HTMLTableSectionElement&quot;);
</span><del>-    testTag(&quot;th&quot;, &quot;HTMLTableHeaderCellElement&quot;);
</del><ins>+    testTag(&quot;th&quot;, &quot;HTMLTableCellElement&quot;);
</ins><span class="cx">     testTag(&quot;thead&quot;, &quot;HTMLTableSectionElement&quot;);
</span><span class="cx">     testTag(&quot;title&quot;, &quot;HTMLTitleElement&quot;);
</span><span class="cx">     testTag(&quot;tr&quot;, &quot;HTMLTableRowElement&quot;);
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/ChangeLog (202936 => 202937)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/ChangeLog        2016-07-07 22:15:04 UTC (rev 202936)
+++ trunk/LayoutTests/imported/w3c/ChangeLog        2016-07-07 22:36:42 UTC (rev 202937)
</span><span class="lines">@@ -1,3 +1,16 @@
</span><ins>+2016-07-07  Chris Dumez  &lt;cdumez@apple.com&gt;
+
+        td / th should be exposed as HTMLTableCellElement objects
+        https://bugs.webkit.org/show_bug.cgi?id=159518
+        &lt;rdar://problem/27225436&gt;
+
+        Reviewed by Ryosuke Niwa.
+
+        Rebaseline W3C tests now that more checks are passing.
+
+        * web-platform-tests/html/dom/interfaces-expected.txt:
+        * web-platform-tests/html/semantics/interfaces-expected.txt:
+
</ins><span class="cx"> 2016-07-07  Youenn Fablet  &lt;youenn@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         [Fetch API] Response constructor should throw in case of bad reason phrase
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestshtmldominterfacesexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/html/dom/interfaces-expected.txt (202936 => 202937)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/html/dom/interfaces-expected.txt        2016-07-07 22:15:04 UTC (rev 202936)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/html/dom/interfaces-expected.txt        2016-07-07 22:36:42 UTC (rev 202937)
</span><span class="lines">@@ -2837,8 +2837,8 @@
</span><span class="cx"> PASS HTMLTableCellElement interface: attribute rowSpan 
</span><span class="cx"> PASS HTMLTableCellElement interface: attribute headers 
</span><span class="cx"> PASS HTMLTableCellElement interface: attribute cellIndex 
</span><del>-FAIL HTMLTableCellElement interface: attribute scope assert_true: The prototype object must have a property &quot;scope&quot; expected true got false
-FAIL HTMLTableCellElement interface: attribute abbr assert_true: The prototype object must have a property &quot;abbr&quot; expected true got false
</del><ins>+PASS HTMLTableCellElement interface: attribute scope 
+PASS HTMLTableCellElement interface: attribute abbr 
</ins><span class="cx"> PASS HTMLTableCellElement interface: attribute align 
</span><span class="cx"> PASS HTMLTableCellElement interface: attribute axis 
</span><span class="cx"> PASS HTMLTableCellElement interface: attribute height 
</span><span class="lines">@@ -2848,8 +2848,8 @@
</span><span class="cx"> PASS HTMLTableCellElement interface: attribute noWrap 
</span><span class="cx"> PASS HTMLTableCellElement interface: attribute vAlign 
</span><span class="cx"> PASS HTMLTableCellElement interface: attribute bgColor 
</span><del>-FAIL HTMLTableCellElement must be primary interface of document.createElement(&quot;td&quot;) assert_equals: document.createElement(&quot;td&quot;)'s prototype is not HTMLTableCellElement.prototype expected object &quot;[object HTMLTableCellElementPrototype]&quot; but got object &quot;[object HTMLTableDataCellElementPrototype]&quot;
-FAIL Stringification of document.createElement(&quot;td&quot;) assert_equals: class string of document.createElement(&quot;td&quot;) expected &quot;[object HTMLTableCellElement]&quot; but got &quot;[object HTMLTableDataCellElement]&quot;
</del><ins>+PASS HTMLTableCellElement must be primary interface of document.createElement(&quot;td&quot;) 
+PASS Stringification of document.createElement(&quot;td&quot;) 
</ins><span class="cx"> PASS HTMLTableCellElement interface: document.createElement(&quot;td&quot;) must inherit property &quot;colSpan&quot; with the proper type (0) 
</span><span class="cx"> PASS HTMLTableCellElement interface: document.createElement(&quot;td&quot;) must inherit property &quot;rowSpan&quot; with the proper type (1) 
</span><span class="cx"> PASS HTMLTableCellElement interface: document.createElement(&quot;td&quot;) must inherit property &quot;headers&quot; with the proper type (2) 
</span><span class="lines">@@ -2865,8 +2865,8 @@
</span><span class="cx"> PASS HTMLTableCellElement interface: document.createElement(&quot;td&quot;) must inherit property &quot;noWrap&quot; with the proper type (12) 
</span><span class="cx"> PASS HTMLTableCellElement interface: document.createElement(&quot;td&quot;) must inherit property &quot;vAlign&quot; with the proper type (13) 
</span><span class="cx"> PASS HTMLTableCellElement interface: document.createElement(&quot;td&quot;) must inherit property &quot;bgColor&quot; with the proper type (14) 
</span><del>-FAIL HTMLTableCellElement must be primary interface of document.createElement(&quot;th&quot;) assert_equals: document.createElement(&quot;th&quot;)'s prototype is not HTMLTableCellElement.prototype expected object &quot;[object HTMLTableCellElementPrototype]&quot; but got object &quot;[object HTMLTableHeaderCellElementPrototype]&quot;
-FAIL Stringification of document.createElement(&quot;th&quot;) assert_equals: class string of document.createElement(&quot;th&quot;) expected &quot;[object HTMLTableCellElement]&quot; but got &quot;[object HTMLTableHeaderCellElement]&quot;
</del><ins>+PASS HTMLTableCellElement must be primary interface of document.createElement(&quot;th&quot;) 
+PASS Stringification of document.createElement(&quot;th&quot;) 
</ins><span class="cx"> PASS HTMLTableCellElement interface: document.createElement(&quot;th&quot;) must inherit property &quot;colSpan&quot; with the proper type (0) 
</span><span class="cx"> PASS HTMLTableCellElement interface: document.createElement(&quot;th&quot;) must inherit property &quot;rowSpan&quot; with the proper type (1) 
</span><span class="cx"> PASS HTMLTableCellElement interface: document.createElement(&quot;th&quot;) must inherit property &quot;headers&quot; with the proper type (2) 
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestshtmlsemanticsinterfacesexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/interfaces-expected.txt (202936 => 202937)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/interfaces-expected.txt        2016-07-07 22:15:04 UTC (rev 202936)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/interfaces-expected.txt        2016-07-07 22:36:42 UTC (rev 202937)
</span><span class="lines">@@ -260,14 +260,14 @@
</span><span class="cx"> PASS Interfaces for TABLE 
</span><span class="cx"> PASS Interfaces for tbody 
</span><span class="cx"> PASS Interfaces for TBODY 
</span><del>-FAIL Interfaces for td assert_equals: Element td should have HTMLTableCellElement as its primary interface. expected &quot;[object HTMLTableCellElement]&quot; but got &quot;[object HTMLTableDataCellElement]&quot;
-FAIL Interfaces for TD assert_equals: Element TD should have HTMLTableCellElement as its primary interface. expected &quot;[object HTMLTableCellElement]&quot; but got &quot;[object HTMLTableDataCellElement]&quot;
</del><ins>+PASS Interfaces for td 
+PASS Interfaces for TD 
</ins><span class="cx"> PASS Interfaces for textarea 
</span><span class="cx"> PASS Interfaces for TEXTAREA 
</span><span class="cx"> PASS Interfaces for tfoot 
</span><span class="cx"> PASS Interfaces for TFOOT 
</span><del>-FAIL Interfaces for th assert_equals: Element th should have HTMLTableCellElement as its primary interface. expected &quot;[object HTMLTableCellElement]&quot; but got &quot;[object HTMLTableHeaderCellElement]&quot;
-FAIL Interfaces for TH assert_equals: Element TH should have HTMLTableCellElement as its primary interface. expected &quot;[object HTMLTableCellElement]&quot; but got &quot;[object HTMLTableHeaderCellElement]&quot;
</del><ins>+PASS Interfaces for th 
+PASS Interfaces for TH 
</ins><span class="cx"> PASS Interfaces for thead 
</span><span class="cx"> PASS Interfaces for THEAD 
</span><span class="cx"> PASS Interfaces for time 
</span></span></pre></div>
<a id="trunkLayoutTestsplatformiossimulatorimportedw3cwebplatformtestshtmlsemanticsinterfacesexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/ios-simulator/imported/w3c/web-platform-tests/html/semantics/interfaces-expected.txt (202936 => 202937)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/ios-simulator/imported/w3c/web-platform-tests/html/semantics/interfaces-expected.txt        2016-07-07 22:15:04 UTC (rev 202936)
+++ trunk/LayoutTests/platform/ios-simulator/imported/w3c/web-platform-tests/html/semantics/interfaces-expected.txt        2016-07-07 22:36:42 UTC (rev 202937)
</span><span class="lines">@@ -260,14 +260,14 @@
</span><span class="cx"> PASS Interfaces for TABLE 
</span><span class="cx"> PASS Interfaces for tbody 
</span><span class="cx"> PASS Interfaces for TBODY 
</span><del>-FAIL Interfaces for td assert_equals: Element td should have HTMLTableCellElement as its primary interface. expected &quot;[object HTMLTableCellElement]&quot; but got &quot;[object HTMLTableDataCellElement]&quot;
-FAIL Interfaces for TD assert_equals: Element TD should have HTMLTableCellElement as its primary interface. expected &quot;[object HTMLTableCellElement]&quot; but got &quot;[object HTMLTableDataCellElement]&quot;
</del><ins>+PASS Interfaces for td 
+PASS Interfaces for TD 
</ins><span class="cx"> PASS Interfaces for textarea 
</span><span class="cx"> PASS Interfaces for TEXTAREA 
</span><span class="cx"> PASS Interfaces for tfoot 
</span><span class="cx"> PASS Interfaces for TFOOT 
</span><del>-FAIL Interfaces for th assert_equals: Element th should have HTMLTableCellElement as its primary interface. expected &quot;[object HTMLTableCellElement]&quot; but got &quot;[object HTMLTableHeaderCellElement]&quot;
-FAIL Interfaces for TH assert_equals: Element TH should have HTMLTableCellElement as its primary interface. expected &quot;[object HTMLTableCellElement]&quot; but got &quot;[object HTMLTableHeaderCellElement]&quot;
</del><ins>+PASS Interfaces for th 
+PASS Interfaces for TH 
</ins><span class="cx"> PASS Interfaces for thead 
</span><span class="cx"> PASS Interfaces for THEAD 
</span><span class="cx"> PASS Interfaces for time 
</span></span></pre></div>
<a id="trunkLayoutTestsplatformmacjsdomglobalconstructorsattributesexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/mac/js/dom/global-constructors-attributes-expected.txt (202936 => 202937)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/mac/js/dom/global-constructors-attributes-expected.txt        2016-07-07 22:15:04 UTC (rev 202936)
+++ trunk/LayoutTests/platform/mac/js/dom/global-constructors-attributes-expected.txt        2016-07-07 22:36:42 UTC (rev 202937)
</span><span class="lines">@@ -788,21 +788,11 @@
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'HTMLTableColElement').hasOwnProperty('set') is false
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'HTMLTableColElement').enumerable is false
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'HTMLTableColElement').configurable is true
</span><del>-PASS Object.getOwnPropertyDescriptor(global, 'HTMLTableDataCellElement').value is HTMLTableDataCellElement
-PASS Object.getOwnPropertyDescriptor(global, 'HTMLTableDataCellElement').hasOwnProperty('get') is false
-PASS Object.getOwnPropertyDescriptor(global, 'HTMLTableDataCellElement').hasOwnProperty('set') is false
-PASS Object.getOwnPropertyDescriptor(global, 'HTMLTableDataCellElement').enumerable is false
-PASS Object.getOwnPropertyDescriptor(global, 'HTMLTableDataCellElement').configurable is true
</del><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'HTMLTableElement').value is HTMLTableElement
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'HTMLTableElement').hasOwnProperty('get') is false
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'HTMLTableElement').hasOwnProperty('set') is false
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'HTMLTableElement').enumerable is false
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'HTMLTableElement').configurable is true
</span><del>-PASS Object.getOwnPropertyDescriptor(global, 'HTMLTableHeaderCellElement').value is HTMLTableHeaderCellElement
-PASS Object.getOwnPropertyDescriptor(global, 'HTMLTableHeaderCellElement').hasOwnProperty('get') is false
-PASS Object.getOwnPropertyDescriptor(global, 'HTMLTableHeaderCellElement').hasOwnProperty('set') is false
-PASS Object.getOwnPropertyDescriptor(global, 'HTMLTableHeaderCellElement').enumerable is false
-PASS Object.getOwnPropertyDescriptor(global, 'HTMLTableHeaderCellElement').configurable is true
</del><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'HTMLTableRowElement').value is HTMLTableRowElement
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'HTMLTableRowElement').hasOwnProperty('get') is false
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'HTMLTableRowElement').hasOwnProperty('set') is false
</span></span></pre></div>
<a id="trunkLayoutTestsplatformmacyosemitejsdomglobalconstructorsattributesexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/mac-yosemite/js/dom/global-constructors-attributes-expected.txt (202936 => 202937)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/mac-yosemite/js/dom/global-constructors-attributes-expected.txt        2016-07-07 22:15:04 UTC (rev 202936)
+++ trunk/LayoutTests/platform/mac-yosemite/js/dom/global-constructors-attributes-expected.txt        2016-07-07 22:36:42 UTC (rev 202937)
</span><span class="lines">@@ -788,21 +788,11 @@
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'HTMLTableColElement').hasOwnProperty('set') is false
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'HTMLTableColElement').enumerable is false
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'HTMLTableColElement').configurable is true
</span><del>-PASS Object.getOwnPropertyDescriptor(global, 'HTMLTableDataCellElement').value is HTMLTableDataCellElement
-PASS Object.getOwnPropertyDescriptor(global, 'HTMLTableDataCellElement').hasOwnProperty('get') is false
-PASS Object.getOwnPropertyDescriptor(global, 'HTMLTableDataCellElement').hasOwnProperty('set') is false
-PASS Object.getOwnPropertyDescriptor(global, 'HTMLTableDataCellElement').enumerable is false
-PASS Object.getOwnPropertyDescriptor(global, 'HTMLTableDataCellElement').configurable is true
</del><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'HTMLTableElement').value is HTMLTableElement
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'HTMLTableElement').hasOwnProperty('get') is false
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'HTMLTableElement').hasOwnProperty('set') is false
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'HTMLTableElement').enumerable is false
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'HTMLTableElement').configurable is true
</span><del>-PASS Object.getOwnPropertyDescriptor(global, 'HTMLTableHeaderCellElement').value is HTMLTableHeaderCellElement
-PASS Object.getOwnPropertyDescriptor(global, 'HTMLTableHeaderCellElement').hasOwnProperty('get') is false
-PASS Object.getOwnPropertyDescriptor(global, 'HTMLTableHeaderCellElement').hasOwnProperty('set') is false
-PASS Object.getOwnPropertyDescriptor(global, 'HTMLTableHeaderCellElement').enumerable is false
-PASS Object.getOwnPropertyDescriptor(global, 'HTMLTableHeaderCellElement').configurable is true
</del><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'HTMLTableRowElement').value is HTMLTableRowElement
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'HTMLTableRowElement').hasOwnProperty('get') is false
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'HTMLTableRowElement').hasOwnProperty('set') is false
</span></span></pre></div>
<a id="trunkLayoutTestsplatformwinjsdomglobalconstructorsattributesexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/win/js/dom/global-constructors-attributes-expected.txt (202936 => 202937)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/win/js/dom/global-constructors-attributes-expected.txt        2016-07-07 22:15:04 UTC (rev 202936)
+++ trunk/LayoutTests/platform/win/js/dom/global-constructors-attributes-expected.txt        2016-07-07 22:36:42 UTC (rev 202937)
</span><span class="lines">@@ -638,21 +638,11 @@
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'HTMLTableColElement').hasOwnProperty('set') is false
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'HTMLTableColElement').enumerable is false
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'HTMLTableColElement').configurable is true
</span><del>-PASS Object.getOwnPropertyDescriptor(global, 'HTMLTableDataCellElement').value is HTMLTableDataCellElement
-PASS Object.getOwnPropertyDescriptor(global, 'HTMLTableDataCellElement').hasOwnProperty('get') is false
-PASS Object.getOwnPropertyDescriptor(global, 'HTMLTableDataCellElement').hasOwnProperty('set') is false
-PASS Object.getOwnPropertyDescriptor(global, 'HTMLTableDataCellElement').enumerable is false
-PASS Object.getOwnPropertyDescriptor(global, 'HTMLTableDataCellElement').configurable is true
</del><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'HTMLTableElement').value is HTMLTableElement
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'HTMLTableElement').hasOwnProperty('get') is false
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'HTMLTableElement').hasOwnProperty('set') is false
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'HTMLTableElement').enumerable is false
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'HTMLTableElement').configurable is true
</span><del>-PASS Object.getOwnPropertyDescriptor(global, 'HTMLTableHeaderCellElement').value is HTMLTableHeaderCellElement
-PASS Object.getOwnPropertyDescriptor(global, 'HTMLTableHeaderCellElement').hasOwnProperty('get') is false
-PASS Object.getOwnPropertyDescriptor(global, 'HTMLTableHeaderCellElement').hasOwnProperty('set') is false
-PASS Object.getOwnPropertyDescriptor(global, 'HTMLTableHeaderCellElement').enumerable is false
-PASS Object.getOwnPropertyDescriptor(global, 'HTMLTableHeaderCellElement').configurable is true
</del><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'HTMLTableRowElement').value is HTMLTableRowElement
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'HTMLTableRowElement').hasOwnProperty('get') is false
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'HTMLTableRowElement').hasOwnProperty('set') is false
</span></span></pre></div>
<a id="trunkSourceWebCoreCMakeListstxt"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/CMakeLists.txt (202936 => 202937)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/CMakeLists.txt        2016-07-07 22:15:04 UTC (rev 202936)
+++ trunk/Source/WebCore/CMakeLists.txt        2016-07-07 22:36:42 UTC (rev 202937)
</span><span class="lines">@@ -506,9 +506,7 @@
</span><span class="cx">     html/HTMLTableCaptionElement.idl
</span><span class="cx">     html/HTMLTableCellElement.idl
</span><span class="cx">     html/HTMLTableColElement.idl
</span><del>-    html/HTMLTableDataCellElement.idl
</del><span class="cx">     html/HTMLTableElement.idl
</span><del>-    html/HTMLTableHeaderCellElement.idl
</del><span class="cx">     html/HTMLTableRowElement.idl
</span><span class="cx">     html/HTMLTableSectionElement.idl
</span><span class="cx">     html/HTMLTemplateElement.idl
</span><span class="lines">@@ -1719,7 +1717,6 @@
</span><span class="cx">     html/HTMLTableCellElement.cpp
</span><span class="cx">     html/HTMLTableColElement.cpp
</span><span class="cx">     html/HTMLTableElement.cpp
</span><del>-    html/HTMLTableHeaderCellElement.cpp
</del><span class="cx">     html/HTMLTablePartElement.cpp
</span><span class="cx">     html/HTMLTableRowElement.cpp
</span><span class="cx">     html/HTMLTableRowsCollection.cpp
</span></span></pre></div>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (202936 => 202937)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2016-07-07 22:15:04 UTC (rev 202936)
+++ trunk/Source/WebCore/ChangeLog        2016-07-07 22:36:42 UTC (rev 202937)
</span><span class="lines">@@ -1,3 +1,51 @@
</span><ins>+2016-07-07  Chris Dumez  &lt;cdumez@apple.com&gt;
+
+        td / th should be exposed as HTMLTableCellElement objects
+        https://bugs.webkit.org/show_bug.cgi?id=159518
+        &lt;rdar://problem/27225436&gt;
+
+        Reviewed by Ryosuke Niwa.
+
+        td / th should be exposed as HTMLTableCellElement objects:
+        - https://html.spec.whatwg.org/multipage/tables.html#the-td-element
+        - https://html.spec.whatwg.org/multipage/tables.html#the-th-element
+
+        We were using HTMLTableDataCellElement / HTMLTableHeaderCellElement
+        sub-types.
+
+        Firefox and Chrome match the current specification.
+
+        We actually introduced these types recently via Bug 148859 to align
+        with an older version of the HTML specification. However, it seems the
+        specification has been updated to match Firefox / Chrome in the mean
+        time.
+
+        Since we have not shipped those subtypes yet, the compatibility risk is
+        low.
+
+        No new tests, rebaselined existing tests.
+
+        * CMakeLists.txt:
+        * DerivedSources.cpp:
+        * DerivedSources.make:
+        * WebCore.xcodeproj/project.pbxproj:
+        * html/HTMLElementsAllInOne.cpp:
+        * html/HTMLTableCellElement.cpp:
+        (WebCore::HTMLTableCellElement::create):
+        (WebCore::HTMLTableCellElement::scope):
+        (WebCore::HTMLTableCellElement::setScope):
+        (WebCore::HTMLTableCellElement::setRowSpanForBindings): Deleted.
+        * html/HTMLTableCellElement.h:
+        * html/HTMLTableCellElement.idl:
+        * html/HTMLTableDataCellElement.h: Removed.
+        * html/HTMLTableDataCellElement.idl: Removed.
+        * html/HTMLTableHeaderCellElement.cpp: Removed.
+        * html/HTMLTableHeaderCellElement.h: Removed.
+        * html/HTMLTableHeaderCellElement.idl: Removed.
+        * html/HTMLTableRowElement.cpp:
+        (WebCore::HTMLTableRowElement::insertCell):
+        * html/HTMLTagNames.in:
+
</ins><span class="cx"> 2016-07-07  Brady Eidson  &lt;beidson@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Modern IDB: When IDBDatabase objects are garbage collected, they don't close their server connection.
</span></span></pre></div>
<a id="trunkSourceWebCoreDerivedSourcescpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/DerivedSources.cpp (202936 => 202937)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/DerivedSources.cpp        2016-07-07 22:15:04 UTC (rev 202936)
+++ trunk/Source/WebCore/DerivedSources.cpp        2016-07-07 22:36:42 UTC (rev 202937)
</span><span class="lines">@@ -283,9 +283,7 @@
</span><span class="cx"> #include &quot;JSHTMLTableCaptionElement.cpp&quot;
</span><span class="cx"> #include &quot;JSHTMLTableCellElement.cpp&quot;
</span><span class="cx"> #include &quot;JSHTMLTableColElement.cpp&quot;
</span><del>-#include &quot;JSHTMLTableDataCellElement.cpp&quot;
</del><span class="cx"> #include &quot;JSHTMLTableElement.cpp&quot;
</span><del>-#include &quot;JSHTMLTableHeaderCellElement.cpp&quot;
</del><span class="cx"> #include &quot;JSHTMLTableRowElement.cpp&quot;
</span><span class="cx"> #include &quot;JSHTMLTableSectionElement.cpp&quot;
</span><span class="cx"> #include &quot;JSHTMLTemplateElement.cpp&quot;
</span></span></pre></div>
<a id="trunkSourceWebCoreDerivedSourcesmake"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/DerivedSources.make (202936 => 202937)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/DerivedSources.make        2016-07-07 22:15:04 UTC (rev 202936)
+++ trunk/Source/WebCore/DerivedSources.make        2016-07-07 22:36:42 UTC (rev 202937)
</span><span class="lines">@@ -426,9 +426,7 @@
</span><span class="cx">     $(WebCore)/html/HTMLTableCaptionElement.idl \
</span><span class="cx">     $(WebCore)/html/HTMLTableCellElement.idl \
</span><span class="cx">     $(WebCore)/html/HTMLTableColElement.idl \
</span><del>-    $(WebCore)/html/HTMLTableDataCellElement.idl \
</del><span class="cx">     $(WebCore)/html/HTMLTableElement.idl \
</span><del>-    $(WebCore)/html/HTMLTableHeaderCellElement.idl \
</del><span class="cx">     $(WebCore)/html/HTMLTableRowElement.idl \
</span><span class="cx">     $(WebCore)/html/HTMLTableSectionElement.idl \
</span><span class="cx">     $(WebCore)/html/HTMLTemplateElement.idl \
</span></span></pre></div>
<a id="trunkSourceWebCoreWebCorexcodeprojprojectpbxproj"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj (202936 => 202937)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj        2016-07-07 22:15:04 UTC (rev 202936)
+++ trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj        2016-07-07 22:36:42 UTC (rev 202937)
</span><span class="lines">@@ -1794,7 +1794,6 @@
</span><span class="cx">                 46C83EFE1A9BBE2900A79A41 /* GeoNotifier.h in Headers */ = {isa = PBXBuildFile; fileRef = 46C83EFC1A9BBE2900A79A41 /* GeoNotifier.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 46DB7D571B20FE46005651B2 /* VNodeTrackerCocoa.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 46DB7D561B20FE3C005651B2 /* VNodeTrackerCocoa.cpp */; };
</span><span class="cx">                 46DBB6501AB8C96F00D9A813 /* PowerObserverMac.h in Headers */ = {isa = PBXBuildFile; fileRef = 46DBB64E1AB8C96F00D9A813 /* PowerObserverMac.h */; };
</span><del>-                46DCFDC01C768A150025B868 /* HTMLTableHeaderCellElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 46DCFDBF1C768A150025B868 /* HTMLTableHeaderCellElement.cpp */; };
</del><span class="cx">                 46EBEA021B7D4D6500BE4941 /* CollectionTraversal.h in Headers */ = {isa = PBXBuildFile; fileRef = 46EBEA011B7D4D5D00BE4941 /* CollectionTraversal.h */; };
</span><span class="cx">                 46F3E3F91B2109000087ED13 /* VNodeTracker.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 46DB7D581B20FE58005651B2 /* VNodeTracker.cpp */; };
</span><span class="cx">                 46F3E3FA1B2109100087ED13 /* VNodeTracker.h in Headers */ = {isa = PBXBuildFile; fileRef = 46DB7D591B20FE58005651B2 /* VNodeTracker.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="lines">@@ -2937,13 +2936,7 @@
</span><span class="cx">                 835D363719FF6193004C93AB /* StyleBuilderCustom.h in Headers */ = {isa = PBXBuildFile; fileRef = 835D363619FF6193004C93AB /* StyleBuilderCustom.h */; };
</span><span class="cx">                 8367587E1C56E99B008A1087 /* JSHTMLDataElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 834B86A91C56E93E00F3F0E3 /* JSHTMLDataElement.cpp */; };
</span><span class="cx">                 8367587F1C56E99B008A1087 /* JSHTMLDataElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 834B86A81C56E93E00F3F0E3 /* JSHTMLDataElement.h */; };
</span><del>-                836BAD211BD1CA670037356A /* HTMLTableHeaderCellElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 836BAD1F1BD1CA670037356A /* HTMLTableHeaderCellElement.h */; };
-                836BAD221BD1CA670037356A /* HTMLTableDataCellElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 836BAD201BD1CA670037356A /* HTMLTableDataCellElement.h */; };
</del><span class="cx">                 836C14431CDEAFD80073493F /* JSXPathNSResolverCustom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 836C14421CDEAFCA0073493F /* JSXPathNSResolverCustom.cpp */; };
</span><del>-                836CB1F61BD1E41800AF1591 /* JSHTMLTableHeaderCellElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 836CB1F21BD1E41800AF1591 /* JSHTMLTableHeaderCellElement.h */; };
-                836CB1F71BD1E41800AF1591 /* JSHTMLTableHeaderCellElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 836CB1F31BD1E41800AF1591 /* JSHTMLTableHeaderCellElement.cpp */; };
-                836CB1F81BD1E41800AF1591 /* JSHTMLTableDataCellElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 836CB1F41BD1E41800AF1591 /* JSHTMLTableDataCellElement.h */; };
-                836CB1F91BD1E41800AF1591 /* JSHTMLTableDataCellElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 836CB1F51BD1E41800AF1591 /* JSHTMLTableDataCellElement.cpp */; };
</del><span class="cx">                 836DAA061CEAB80D00A2B707 /* RenderDescendantIterator.h in Headers */ = {isa = PBXBuildFile; fileRef = 836DAA051CEAB7CD00A2B707 /* RenderDescendantIterator.h */; };
</span><span class="cx">                 836FBCEA178C113200B21A15 /* SVGAnimatedTypeAnimator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 836FBCE9178C113200B21A15 /* SVGAnimatedTypeAnimator.cpp */; };
</span><span class="cx">                 836FBCEC178C117F00B21A15 /* SVGAnimatedProperty.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 836FBCEB178C117F00B21A15 /* SVGAnimatedProperty.cpp */; };
</span><span class="lines">@@ -9418,7 +9411,6 @@
</span><span class="cx">                 46DB7D581B20FE58005651B2 /* VNodeTracker.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = VNodeTracker.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 46DB7D591B20FE58005651B2 /* VNodeTracker.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VNodeTracker.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 46DBB64E1AB8C96F00D9A813 /* PowerObserverMac.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PowerObserverMac.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><del>-                46DCFDBF1C768A150025B868 /* HTMLTableHeaderCellElement.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = HTMLTableHeaderCellElement.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</del><span class="cx">                 46EBEA011B7D4D5D00BE4941 /* CollectionTraversal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CollectionTraversal.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 46F2768E1B85297F005C2556 /* JSDOMNamedFlowCollectionCustom.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSDOMNamedFlowCollectionCustom.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 490707E41219C04300D90E51 /* ANGLEWebKitBridge.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ANGLEWebKitBridge.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="lines">@@ -10690,13 +10682,7 @@
</span><span class="cx">                 835D363619FF6193004C93AB /* StyleBuilderCustom.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StyleBuilderCustom.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 835F8B261D2D90BA00E408EC /* Slotable.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = Slotable.idl; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 8369E58F1AFDD0300087DF68 /* NonDocumentTypeChildNode.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = NonDocumentTypeChildNode.idl; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><del>-                836BAD1F1BD1CA670037356A /* HTMLTableHeaderCellElement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HTMLTableHeaderCellElement.h; sourceTree = &quot;&lt;group&gt;&quot;; };
-                836BAD201BD1CA670037356A /* HTMLTableDataCellElement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HTMLTableDataCellElement.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</del><span class="cx">                 836C14421CDEAFCA0073493F /* JSXPathNSResolverCustom.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSXPathNSResolverCustom.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><del>-                836CB1F21BD1E41800AF1591 /* JSHTMLTableHeaderCellElement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSHTMLTableHeaderCellElement.h; sourceTree = &quot;&lt;group&gt;&quot;; };
-                836CB1F31BD1E41800AF1591 /* JSHTMLTableHeaderCellElement.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSHTMLTableHeaderCellElement.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
-                836CB1F41BD1E41800AF1591 /* JSHTMLTableDataCellElement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSHTMLTableDataCellElement.h; sourceTree = &quot;&lt;group&gt;&quot;; };
-                836CB1F51BD1E41800AF1591 /* JSHTMLTableDataCellElement.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSHTMLTableDataCellElement.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</del><span class="cx">                 836DAA051CEAB7CD00A2B707 /* RenderDescendantIterator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RenderDescendantIterator.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 836FBCE9178C113200B21A15 /* SVGAnimatedTypeAnimator.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SVGAnimatedTypeAnimator.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 836FBCEB178C117F00B21A15 /* SVGAnimatedProperty.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SVGAnimatedProperty.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="lines">@@ -10741,8 +10727,6 @@
</span><span class="cx">                 83F1206A1B8C103600D75F63 /* JSNodeFilterCustom.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSNodeFilterCustom.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 83F570AD1C53268E007FD6CB /* JSXMLDocument.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSXMLDocument.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 83F570AE1C53268E007FD6CB /* JSXMLDocument.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSXMLDocument.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><del>-                83FE5F1F1BD1C55E0038BEEC /* HTMLTableHeaderCellElement.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = HTMLTableHeaderCellElement.idl; sourceTree = &quot;&lt;group&gt;&quot;; };
-                83FE5F201BD1C55E0038BEEC /* HTMLTableDataCellElement.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = HTMLTableDataCellElement.idl; sourceTree = &quot;&lt;group&gt;&quot;; };
</del><span class="cx">                 8419D2A4120D92D000141F8F /* SVGPathByteStream.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SVGPathByteStream.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 8419D2A5120D92D000141F8F /* SVGPathByteStreamBuilder.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SVGPathByteStreamBuilder.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 8419D2A6120D92D000141F8F /* SVGPathByteStreamBuilder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SVGPathByteStreamBuilder.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="lines">@@ -19600,14 +19584,9 @@
</span><span class="cx">                                 A871DB1B0A150BD600B12A68 /* HTMLTableColElement.cpp */,
</span><span class="cx">                                 A871DB210A150BD600B12A68 /* HTMLTableColElement.h */,
</span><span class="cx">                                 855542590AA48B1E00BA89F2 /* HTMLTableColElement.idl */,
</span><del>-                                836BAD201BD1CA670037356A /* HTMLTableDataCellElement.h */,
-                                83FE5F201BD1C55E0038BEEC /* HTMLTableDataCellElement.idl */,
</del><span class="cx">                                 A871DB1A0A150BD600B12A68 /* HTMLTableElement.cpp */,
</span><span class="cx">                                 A871DB190A150BD600B12A68 /* HTMLTableElement.h */,
</span><span class="cx">                                 8555425A0AA48B1E00BA89F2 /* HTMLTableElement.idl */,
</span><del>-                                46DCFDBF1C768A150025B868 /* HTMLTableHeaderCellElement.cpp */,
-                                836BAD1F1BD1CA670037356A /* HTMLTableHeaderCellElement.h */,
-                                83FE5F1F1BD1C55E0038BEEC /* HTMLTableHeaderCellElement.idl */,
</del><span class="cx">                                 A871DB1F0A150BD600B12A68 /* HTMLTablePartElement.cpp */,
</span><span class="cx">                                 A871DB1E0A150BD600B12A68 /* HTMLTablePartElement.h */,
</span><span class="cx">                                 A871DB220A150BD600B12A68 /* HTMLTableRowElement.cpp */,
</span><span class="lines">@@ -20546,12 +20525,8 @@
</span><span class="cx">                                 BC06EDE20BFD6D0D00856E9D /* JSHTMLTableCellElement.h */,
</span><span class="cx">                                 BC06ED990BFD660600856E9D /* JSHTMLTableColElement.cpp */,
</span><span class="cx">                                 BC06ED9A0BFD660600856E9D /* JSHTMLTableColElement.h */,
</span><del>-                                836CB1F51BD1E41800AF1591 /* JSHTMLTableDataCellElement.cpp */,
-                                836CB1F41BD1E41800AF1591 /* JSHTMLTableDataCellElement.h */,
</del><span class="cx">                                 BC06EE020BFD71AA00856E9D /* JSHTMLTableElement.cpp */,
</span><span class="cx">                                 BC06EE030BFD71AA00856E9D /* JSHTMLTableElement.h */,
</span><del>-                                836CB1F31BD1E41800AF1591 /* JSHTMLTableHeaderCellElement.cpp */,
-                                836CB1F21BD1E41800AF1591 /* JSHTMLTableHeaderCellElement.h */,
</del><span class="cx">                                 BC06ED9B0BFD660600856E9D /* JSHTMLTableRowElement.cpp */,
</span><span class="cx">                                 BC06ED9C0BFD660600856E9D /* JSHTMLTableRowElement.h */,
</span><span class="cx">                                 BC06ED040BFD5BAE00856E9D /* JSHTMLTableSectionElement.cpp */,
</span><span class="lines">@@ -26587,9 +26562,7 @@
</span><span class="cx">                                 A871DB2B0A150BD600B12A68 /* HTMLTableCaptionElement.h in Headers */,
</span><span class="cx">                                 A871DB2A0A150BD600B12A68 /* HTMLTableCellElement.h in Headers */,
</span><span class="cx">                                 A871DB2F0A150BD600B12A68 /* HTMLTableColElement.h in Headers */,
</span><del>-                                836BAD221BD1CA670037356A /* HTMLTableDataCellElement.h in Headers */,
</del><span class="cx">                                 A871DB270A150BD600B12A68 /* HTMLTableElement.h in Headers */,
</span><del>-                                836BAD211BD1CA670037356A /* HTMLTableHeaderCellElement.h in Headers */,
</del><span class="cx">                                 A871DB2C0A150BD600B12A68 /* HTMLTablePartElement.h in Headers */,
</span><span class="cx">                                 A871DB310A150BD600B12A68 /* HTMLTableRowElement.h in Headers */,
</span><span class="cx">                                 93442C9E0D2B335C00338FF9 /* HTMLTableRowsCollection.h in Headers */,
</span><span class="lines">@@ -26987,9 +26960,7 @@
</span><span class="cx">                                 BCA169A30BFD55B40019CA76 /* JSHTMLTableCaptionElement.h in Headers */,
</span><span class="cx">                                 BC06EDE40BFD6D0D00856E9D /* JSHTMLTableCellElement.h in Headers */,
</span><span class="cx">                                 BC06ED9E0BFD660600856E9D /* JSHTMLTableColElement.h in Headers */,
</span><del>-                                836CB1F81BD1E41800AF1591 /* JSHTMLTableDataCellElement.h in Headers */,
</del><span class="cx">                                 BC06EE050BFD71AA00856E9D /* JSHTMLTableElement.h in Headers */,
</span><del>-                                836CB1F61BD1E41800AF1591 /* JSHTMLTableHeaderCellElement.h in Headers */,
</del><span class="cx">                                 BC06EDA00BFD660600856E9D /* JSHTMLTableRowElement.h in Headers */,
</span><span class="cx">                                 BC06ED070BFD5BAE00856E9D /* JSHTMLTableSectionElement.h in Headers */,
</span><span class="cx">                                 D6489D26166FFCF1007C031B /* JSHTMLTemplateElement.h in Headers */,
</span><span class="lines">@@ -30321,7 +30292,6 @@
</span><span class="cx">                                 A871DB2E0A150BD600B12A68 /* HTMLTableCellElement.cpp in Sources */,
</span><span class="cx">                                 A871DB290A150BD600B12A68 /* HTMLTableColElement.cpp in Sources */,
</span><span class="cx">                                 A871DB280A150BD600B12A68 /* HTMLTableElement.cpp in Sources */,
</span><del>-                                46DCFDC01C768A150025B868 /* HTMLTableHeaderCellElement.cpp in Sources */,
</del><span class="cx">                                 A871DB2D0A150BD600B12A68 /* HTMLTablePartElement.cpp in Sources */,
</span><span class="cx">                                 A871DB300A150BD600B12A68 /* HTMLTableRowElement.cpp in Sources */,
</span><span class="cx">                                 93442CA00D2B336000338FF9 /* HTMLTableRowsCollection.cpp in Sources */,
</span><span class="lines">@@ -30754,9 +30724,7 @@
</span><span class="cx">                                 BCA169A20BFD55B40019CA76 /* JSHTMLTableCaptionElement.cpp in Sources */,
</span><span class="cx">                                 BC06EDE30BFD6D0D00856E9D /* JSHTMLTableCellElement.cpp in Sources */,
</span><span class="cx">                                 BC06ED9D0BFD660600856E9D /* JSHTMLTableColElement.cpp in Sources */,
</span><del>-                                836CB1F91BD1E41800AF1591 /* JSHTMLTableDataCellElement.cpp in Sources */,
</del><span class="cx">                                 BC06EE040BFD71AA00856E9D /* JSHTMLTableElement.cpp in Sources */,
</span><del>-                                836CB1F71BD1E41800AF1591 /* JSHTMLTableHeaderCellElement.cpp in Sources */,
</del><span class="cx">                                 BC06ED9F0BFD660600856E9D /* JSHTMLTableRowElement.cpp in Sources */,
</span><span class="cx">                                 BC06ED060BFD5BAE00856E9D /* JSHTMLTableSectionElement.cpp in Sources */,
</span><span class="cx">                                 D6489D25166FFCF1007C031B /* JSHTMLTemplateElement.cpp in Sources */,
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLElementsAllInOnecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLElementsAllInOne.cpp (202936 => 202937)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLElementsAllInOne.cpp        2016-07-07 22:15:04 UTC (rev 202936)
+++ trunk/Source/WebCore/html/HTMLElementsAllInOne.cpp        2016-07-07 22:36:42 UTC (rev 202937)
</span><span class="lines">@@ -102,7 +102,6 @@
</span><span class="cx"> #include &quot;HTMLTableCellElement.cpp&quot;
</span><span class="cx"> #include &quot;HTMLTableColElement.cpp&quot;
</span><span class="cx"> #include &quot;HTMLTableElement.cpp&quot;
</span><del>-#include &quot;HTMLTableHeaderCellElement.cpp&quot;
</del><span class="cx"> #include &quot;HTMLTablePartElement.cpp&quot;
</span><span class="cx"> #include &quot;HTMLTableRowElement.cpp&quot;
</span><span class="cx"> #include &quot;HTMLTableSectionElement.cpp&quot;
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLTableCellElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLTableCellElement.cpp (202936 => 202937)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLTableCellElement.cpp        2016-07-07 22:15:04 UTC (rev 202936)
+++ trunk/Source/WebCore/html/HTMLTableCellElement.cpp        2016-07-07 22:36:42 UTC (rev 202937)
</span><span class="lines">@@ -36,6 +36,11 @@
</span><span class="cx"> 
</span><span class="cx"> using namespace HTMLNames;
</span><span class="cx"> 
</span><ins>+Ref&lt;HTMLTableCellElement&gt; HTMLTableCellElement::create(const QualifiedName&amp; tagName, Document&amp; document)
+{
+    return adoptRef(*new HTMLTableCellElement(tagName, document));
+}
+
</ins><span class="cx"> HTMLTableCellElement::HTMLTableCellElement(const QualifiedName&amp; tagName, Document&amp; document)
</span><span class="cx">     : HTMLTablePartElement(tagName, document)
</span><span class="cx"> {
</span><span class="lines">@@ -154,11 +159,36 @@
</span><span class="cx">     setAttributeWithoutSynchronization(rowspanAttr, AtomicString::number(limitToOnlyHTMLNonNegative(n, 1)));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-String HTMLTableCellElement::scope() const
</del><ins>+const AtomicString&amp; HTMLTableCellElement::scope() const
</ins><span class="cx"> {
</span><del>-    return fastGetAttribute(scopeAttr);
</del><ins>+    // https://html.spec.whatwg.org/multipage/tables.html#attr-th-scope
+    static NeverDestroyed&lt;const AtomicString&gt; row(&quot;row&quot;, AtomicString::ConstructFromLiteral);
+    static NeverDestroyed&lt;const AtomicString&gt; col(&quot;col&quot;, AtomicString::ConstructFromLiteral);
+    static NeverDestroyed&lt;const AtomicString&gt; rowgroup(&quot;rowgroup&quot;, AtomicString::ConstructFromLiteral);
+    static NeverDestroyed&lt;const AtomicString&gt; colgroup(&quot;colgroup&quot;, AtomicString::ConstructFromLiteral);
+
+    const AtomicString&amp; value = fastGetAttribute(HTMLNames::scopeAttr);
+
+    // Only conforming for th elements.
+    if (!hasTagName(thTag))
+        return value;
+
+    if (equalIgnoringASCIICase(value, row))
+        return row;
+    if (equalIgnoringASCIICase(value, col))
+        return col;
+    if (equalIgnoringASCIICase(value, rowgroup))
+        return rowgroup;
+    if (equalIgnoringASCIICase(value, colgroup))
+        return colgroup;
+    return emptyAtom;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><ins>+void HTMLTableCellElement::setScope(const AtomicString&amp; scope)
+{
+    setAttributeWithoutSynchronization(scopeAttr, scope);
+}
+
</ins><span class="cx"> void HTMLTableCellElement::addSubresourceAttributeURLs(ListHashSet&lt;URL&gt;&amp; urls) const
</span><span class="cx"> {
</span><span class="cx">     HTMLTablePartElement::addSubresourceAttributeURLs(urls);
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLTableCellElementh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLTableCellElement.h (202936 => 202937)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLTableCellElement.h        2016-07-07 22:15:04 UTC (rev 202936)
+++ trunk/Source/WebCore/html/HTMLTableCellElement.h        2016-07-07 22:36:42 UTC (rev 202937)
</span><span class="lines">@@ -30,8 +30,10 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-class HTMLTableCellElement : public HTMLTablePartElement {
</del><ins>+class HTMLTableCellElement final : public HTMLTablePartElement {
</ins><span class="cx"> public:
</span><ins>+    static Ref&lt;HTMLTableCellElement&gt; create(const QualifiedName&amp;, Document&amp;);
+
</ins><span class="cx">     int cellIndex() const;
</span><span class="cx">     unsigned colSpan() const;
</span><span class="cx">     unsigned colSpanForBindings() const;
</span><span class="lines">@@ -45,11 +47,12 @@
</span><span class="cx">     String abbr() const;
</span><span class="cx">     String axis() const;
</span><span class="cx">     String headers() const;
</span><del>-    String scope() const;
</del><ins>+    const AtomicString&amp; scope() const;
+    void setScope(const AtomicString&amp;);
</ins><span class="cx"> 
</span><span class="cx">     WEBCORE_EXPORT HTMLTableCellElement* cellAbove() const;
</span><span class="cx"> 
</span><del>-protected:
</del><ins>+private:
</ins><span class="cx">     HTMLTableCellElement(const QualifiedName&amp;, Document&amp;);
</span><span class="cx"> 
</span><span class="cx">     void parseAttribute(const QualifiedName&amp;, const AtomicString&amp;) override;
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLTableCellElementidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLTableCellElement.idl (202936 => 202937)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLTableCellElement.idl        2016-07-07 22:15:04 UTC (rev 202936)
+++ trunk/Source/WebCore/html/HTMLTableCellElement.idl        2016-07-07 22:36:42 UTC (rev 202937)
</span><span class="lines">@@ -43,9 +43,7 @@
</span><span class="cx">     [Reflect] attribute DOMString vAlign;
</span><span class="cx">     [Reflect] attribute DOMString width;
</span><span class="cx"> 
</span><del>-#if defined(LANGUAGE_OBJECTIVE_C) &amp;&amp; LANGUAGE_OBJECTIVE_C || defined(LANGUAGE_GOBJECT) &amp;&amp; LANGUAGE_GOBJECT
</del><span class="cx">     [Reflect] attribute DOMString abbr;
</span><del>-    [Reflect] attribute DOMString scope;
-#endif
</del><ins>+    attribute DOMString scope;
</ins><span class="cx"> };
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLTableDataCellElementh"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebCore/html/HTMLTableDataCellElement.h (202936 => 202937)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLTableDataCellElement.h        2016-07-07 22:15:04 UTC (rev 202936)
+++ trunk/Source/WebCore/html/HTMLTableDataCellElement.h        2016-07-07 22:36:42 UTC (rev 202937)
</span><span class="lines">@@ -1,54 +0,0 @@
</span><del>-/*
- * Copyright (C) 2015 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
- * THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef HTMLTableDataCellElement_h
-#define HTMLTableDataCellElement_h
-
-#include &quot;HTMLNames.h&quot;
-#include &quot;HTMLTableCellElement.h&quot;
-
-namespace WebCore {
-
-class HTMLTableDataCellElement final : public HTMLTableCellElement {
-public:
-    static Ref&lt;HTMLTableDataCellElement&gt; create(Document&amp; document)
-    {
-        return adoptRef(*new HTMLTableDataCellElement(HTMLNames::tdTag, document));
-    }
-
-    static Ref&lt;HTMLTableDataCellElement&gt; create(const QualifiedName&amp; tagName, Document&amp; document)
-    {
-        ASSERT(tagName == HTMLNames::tdTag);
-        return adoptRef(*new HTMLTableDataCellElement(tagName, document));
-    }
-
-private:
-    using HTMLTableCellElement::HTMLTableCellElement;
-};
-
-}
-
-#endif // HTMLTableDataCellElement_h
-
</del></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLTableDataCellElementidl"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebCore/html/HTMLTableDataCellElement.idl (202936 => 202937)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLTableDataCellElement.idl        2016-07-07 22:15:04 UTC (rev 202936)
+++ trunk/Source/WebCore/html/HTMLTableDataCellElement.idl        2016-07-07 22:36:42 UTC (rev 202937)
</span><span class="lines">@@ -1,30 +0,0 @@
</span><del>-/*
- * Copyright (C) 2015 Apple, Inc. All Rights Reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE INC. OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
- * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-interface HTMLTableDataCellElement : HTMLTableCellElement {
-    // Legacy attributes that were kept for backward compatibility.
-    [Reflect] attribute DOMString abbr;
-    [Reflect] attribute DOMString scope;
-};
</del></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLTableHeaderCellElementcpp"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebCore/html/HTMLTableHeaderCellElement.cpp (202936 => 202937)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLTableHeaderCellElement.cpp        2016-07-07 22:15:04 UTC (rev 202936)
+++ trunk/Source/WebCore/html/HTMLTableHeaderCellElement.cpp        2016-07-07 22:36:42 UTC (rev 202937)
</span><span class="lines">@@ -1,59 +0,0 @@
</span><del>-/*
- * Copyright (C) 2016 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
- * THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include &quot;config.h&quot;
-#include &quot;HTMLTableHeaderCellElement.h&quot;
-
-#include &quot;HTMLNames.h&quot;
-#include &lt;wtf/text/AtomicString.h&gt;
-
-namespace WebCore {
-
-const AtomicString&amp; HTMLTableHeaderCellElement::scope() const
-{
-    // https://html.spec.whatwg.org/multipage/tables.html#attr-th-scope
-    static NeverDestroyed&lt;const AtomicString&gt; row(&quot;row&quot;, AtomicString::ConstructFromLiteral);
-    static NeverDestroyed&lt;const AtomicString&gt; col(&quot;col&quot;, AtomicString::ConstructFromLiteral);
-    static NeverDestroyed&lt;const AtomicString&gt; rowgroup(&quot;rowgroup&quot;, AtomicString::ConstructFromLiteral);
-    static NeverDestroyed&lt;const AtomicString&gt; colgroup(&quot;colgroup&quot;, AtomicString::ConstructFromLiteral);
-
-    const AtomicString&amp; value = fastGetAttribute(HTMLNames::scopeAttr);
-    if (equalIgnoringASCIICase(value, row))
-        return row;
-    if (equalIgnoringASCIICase(value, col))
-        return col;
-    if (equalIgnoringASCIICase(value, rowgroup))
-        return rowgroup;
-    if (equalIgnoringASCIICase(value, colgroup))
-        return colgroup;
-    return emptyAtom;
-}
-
-void HTMLTableHeaderCellElement::setScope(const AtomicString&amp; scope)
-{
-    setAttributeWithoutSynchronization(HTMLNames::scopeAttr, scope);
-}
-
-} // namespace WebCore
</del></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLTableHeaderCellElementh"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebCore/html/HTMLTableHeaderCellElement.h (202936 => 202937)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLTableHeaderCellElement.h        2016-07-07 22:15:04 UTC (rev 202936)
+++ trunk/Source/WebCore/html/HTMLTableHeaderCellElement.h        2016-07-07 22:36:42 UTC (rev 202937)
</span><span class="lines">@@ -1,57 +0,0 @@
</span><del>-/*
- * Copyright (C) 2015 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
- * THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef HTMLTableHeaderCellElement_h
-#define HTMLTableHeaderCellElement_h
-
-#include &quot;HTMLNames.h&quot;
-#include &quot;HTMLTableCellElement.h&quot;
-
-namespace WebCore {
-
-class HTMLTableHeaderCellElement final : public HTMLTableCellElement {
-public:
-    static Ref&lt;HTMLTableHeaderCellElement&gt; create(Document&amp; document)
-    {
-        return adoptRef(*new HTMLTableHeaderCellElement(HTMLNames::thTag, document));
-    }
-
-    static Ref&lt;HTMLTableHeaderCellElement&gt; create(const QualifiedName&amp; tagName, Document&amp; document)
-    {
-        ASSERT(tagName == HTMLNames::thTag);
-        return adoptRef(*new HTMLTableHeaderCellElement(tagName, document));
-    }
-
-    const AtomicString&amp; scope() const;
-    void setScope(const AtomicString&amp;);
-
-private:
-    using HTMLTableCellElement::HTMLTableCellElement;
-};
-
-}
-
-#endif // HTMLTableHeaderCellElement_h
-
</del></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLTableHeaderCellElementidl"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebCore/html/HTMLTableHeaderCellElement.idl (202936 => 202937)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLTableHeaderCellElement.idl        2016-07-07 22:15:04 UTC (rev 202936)
+++ trunk/Source/WebCore/html/HTMLTableHeaderCellElement.idl        2016-07-07 22:36:42 UTC (rev 202937)
</span><span class="lines">@@ -1,29 +0,0 @@
</span><del>-/*
- * Copyright (C) 2015 Apple, Inc. All Rights Reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE INC. OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
- * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-interface HTMLTableHeaderCellElement : HTMLTableCellElement {
-    [Reflect] attribute DOMString abbr;
-    attribute DOMString scope;
-};
</del></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLTableRowElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLTableRowElement.cpp (202936 => 202937)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLTableRowElement.cpp        2016-07-07 22:15:04 UTC (rev 202936)
+++ trunk/Source/WebCore/html/HTMLTableRowElement.cpp        2016-07-07 22:36:42 UTC (rev 202937)
</span><span class="lines">@@ -28,7 +28,7 @@
</span><span class="cx"> #include &quot;ExceptionCode.h&quot;
</span><span class="cx"> #include &quot;GenericCachedHTMLCollection.h&quot;
</span><span class="cx"> #include &quot;HTMLNames.h&quot;
</span><del>-#include &quot;HTMLTableDataCellElement.h&quot;
</del><ins>+#include &quot;HTMLTableCellElement.h&quot;
</ins><span class="cx"> #include &quot;HTMLTableElement.h&quot;
</span><span class="cx"> #include &quot;HTMLTableSectionElement.h&quot;
</span><span class="cx"> #include &quot;NodeList.h&quot;
</span><span class="lines">@@ -112,7 +112,7 @@
</span><span class="cx">         return nullptr;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    auto cell = HTMLTableDataCellElement::create(document());
</del><ins>+    auto cell = HTMLTableCellElement::create(tdTag, document());
</ins><span class="cx">     if (index &lt; 0 || index &gt;= numCells)
</span><span class="cx">         appendChild(cell, ec);
</span><span class="cx">     else {
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLTagNamesin"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLTagNames.in (202936 => 202937)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLTagNames.in        2016-07-07 22:15:04 UTC (rev 202936)
+++ trunk/Source/WebCore/html/HTMLTagNames.in        2016-07-07 22:36:42 UTC (rev 202937)
</span><span class="lines">@@ -125,11 +125,11 @@
</span><span class="cx"> sup interfaceName=HTMLElement
</span><span class="cx"> table
</span><span class="cx"> tbody interfaceName=HTMLTableSectionElement
</span><del>-td interfaceName=HTMLTableDataCellElement
</del><ins>+td interfaceName=HTMLTableCellElement
</ins><span class="cx"> template
</span><span class="cx"> textarea interfaceName=HTMLTextAreaElement, constructorNeedsFormElement
</span><span class="cx"> tfoot interfaceName=HTMLTableSectionElement
</span><del>-th interfaceName=HTMLTableHeaderCellElement
</del><ins>+th interfaceName=HTMLTableCellElement
</ins><span class="cx"> thead interfaceName=HTMLTableSectionElement
</span><span class="cx"> time
</span><span class="cx"> title
</span></span></pre>
</div>
</div>

</body>
</html>