<!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>[199298] trunk/Source/WebCore</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/199298">199298</a></dd>
<dt>Author</dt> <dd>cdumez@apple.com</dd>
<dt>Date</dt> <dd>2016-04-11 11:49:13 -0700 (Mon, 11 Apr 2016)</dd>
</dl>
<h3>Log Message</h3>
<pre>Merge AttributedDOMTokenList into DOMTokenList
https://bugs.webkit.org/show_bug.cgi?id=156468
Reviewed by Ryosuke Niwa.
Merge AttributedDOMTokenList into DOMTokenList to simplify the code.
DOMTokenList is not constructible and AttributedDOMTokenList is its
only constructible subclass after <a href="http://trac.webkit.org/projects/webkit/changeset/196123">r196123</a>.
* CMakeLists.txt:
* WebCore.xcodeproj/project.pbxproj:
* dom/Element.cpp:
(WebCore::Element::classList):
* dom/ElementRareData.h:
(WebCore::ElementRareData::classList):
(WebCore::ElementRareData::setClassList):
* html/AttributeDOMTokenList.cpp: Removed.
* html/AttributeDOMTokenList.h: Removed.
* html/DOMTokenList.cpp:
(WebCore::DOMTokenList::DOMTokenList):
(WebCore::DOMTokenList::attributeValueChanged):
(WebCore::DOMTokenList::updateAfterTokenChange):
* html/DOMTokenList.h:
(WebCore::DOMTokenList::ref):
(WebCore::DOMTokenList::deref):
(WebCore::DOMTokenList::element):
(WebCore::DOMTokenList::~DOMTokenList): Deleted.
(WebCore::DOMTokenList::updateAfterTokenChange): Deleted.
* html/HTMLAnchorElement.cpp:
(WebCore::HTMLAnchorElement::relList):
* html/HTMLAnchorElement.h:
* html/HTMLIFrameElement.cpp:
(WebCore::HTMLIFrameElement::sandbox):
* html/HTMLIFrameElement.h:
* html/HTMLLinkElement.cpp:
(WebCore::HTMLLinkElement::sizes):
(WebCore::HTMLLinkElement::relList):
* html/HTMLLinkElement.h:
* html/HTMLOutputElement.cpp:
(WebCore::HTMLOutputElement::htmlFor):
* html/HTMLOutputElement.h:</pre>
<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceWebCoreCMakeListstxt">trunk/Source/WebCore/CMakeLists.txt</a></li>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCoreWebCorexcodeprojprojectpbxproj">trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj</a></li>
<li><a href="#trunkSourceWebCoredomElementcpp">trunk/Source/WebCore/dom/Element.cpp</a></li>
<li><a href="#trunkSourceWebCoredomElementRareDatah">trunk/Source/WebCore/dom/ElementRareData.h</a></li>
<li><a href="#trunkSourceWebCorehtmlDOMTokenListcpp">trunk/Source/WebCore/html/DOMTokenList.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlDOMTokenListh">trunk/Source/WebCore/html/DOMTokenList.h</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLAnchorElementcpp">trunk/Source/WebCore/html/HTMLAnchorElement.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLAnchorElementh">trunk/Source/WebCore/html/HTMLAnchorElement.h</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLIFrameElementcpp">trunk/Source/WebCore/html/HTMLIFrameElement.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLIFrameElementh">trunk/Source/WebCore/html/HTMLIFrameElement.h</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLLinkElementcpp">trunk/Source/WebCore/html/HTMLLinkElement.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLLinkElementh">trunk/Source/WebCore/html/HTMLLinkElement.h</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLOutputElementcpp">trunk/Source/WebCore/html/HTMLOutputElement.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLOutputElementh">trunk/Source/WebCore/html/HTMLOutputElement.h</a></li>
</ul>
<h3>Removed Paths</h3>
<ul>
<li><a href="#trunkSourceWebCorehtmlAttributeDOMTokenListcpp">trunk/Source/WebCore/html/AttributeDOMTokenList.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlAttributeDOMTokenListh">trunk/Source/WebCore/html/AttributeDOMTokenList.h</a></li>
</ul>
</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceWebCoreCMakeListstxt"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/CMakeLists.txt (199297 => 199298)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/CMakeLists.txt        2016-04-11 18:20:59 UTC (rev 199297)
+++ trunk/Source/WebCore/CMakeLists.txt        2016-04-11 18:49:13 UTC (rev 199298)
</span><span class="lines">@@ -1609,7 +1609,6 @@
</span><span class="cx"> history/HistoryItem.cpp
</span><span class="cx"> history/PageCache.cpp
</span><span class="cx">
</span><del>- html/AttributeDOMTokenList.cpp
</del><span class="cx"> html/Autofill.cpp
</span><span class="cx"> html/BaseButtonInputType.cpp
</span><span class="cx"> html/BaseCheckableInputType.cpp
</span></span></pre></div>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (199297 => 199298)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2016-04-11 18:20:59 UTC (rev 199297)
+++ trunk/Source/WebCore/ChangeLog        2016-04-11 18:49:13 UTC (rev 199298)
</span><span class="lines">@@ -1,5 +1,49 @@
</span><span class="cx"> 2016-04-11 Chris Dumez <cdumez@apple.com>
</span><span class="cx">
</span><ins>+ Merge AttributedDOMTokenList into DOMTokenList
+ https://bugs.webkit.org/show_bug.cgi?id=156468
+
+ Reviewed by Ryosuke Niwa.
+
+ Merge AttributedDOMTokenList into DOMTokenList to simplify the code.
+ DOMTokenList is not constructible and AttributedDOMTokenList is its
+ only constructible subclass after r196123.
+
+ * CMakeLists.txt:
+ * WebCore.xcodeproj/project.pbxproj:
+ * dom/Element.cpp:
+ (WebCore::Element::classList):
+ * dom/ElementRareData.h:
+ (WebCore::ElementRareData::classList):
+ (WebCore::ElementRareData::setClassList):
+ * html/AttributeDOMTokenList.cpp: Removed.
+ * html/AttributeDOMTokenList.h: Removed.
+ * html/DOMTokenList.cpp:
+ (WebCore::DOMTokenList::DOMTokenList):
+ (WebCore::DOMTokenList::attributeValueChanged):
+ (WebCore::DOMTokenList::updateAfterTokenChange):
+ * html/DOMTokenList.h:
+ (WebCore::DOMTokenList::ref):
+ (WebCore::DOMTokenList::deref):
+ (WebCore::DOMTokenList::element):
+ (WebCore::DOMTokenList::~DOMTokenList): Deleted.
+ (WebCore::DOMTokenList::updateAfterTokenChange): Deleted.
+ * html/HTMLAnchorElement.cpp:
+ (WebCore::HTMLAnchorElement::relList):
+ * html/HTMLAnchorElement.h:
+ * html/HTMLIFrameElement.cpp:
+ (WebCore::HTMLIFrameElement::sandbox):
+ * html/HTMLIFrameElement.h:
+ * html/HTMLLinkElement.cpp:
+ (WebCore::HTMLLinkElement::sizes):
+ (WebCore::HTMLLinkElement::relList):
+ * html/HTMLLinkElement.h:
+ * html/HTMLOutputElement.cpp:
+ (WebCore::HTMLOutputElement::htmlFor):
+ * html/HTMLOutputElement.h:
+
+2016-04-11 Chris Dumez <cdumez@apple.com>
+
</ins><span class="cx"> DOMTokenList.contains() should not throw
</span><span class="cx"> https://bugs.webkit.org/show_bug.cgi?id=156453
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCoreWebCorexcodeprojprojectpbxproj"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj (199297 => 199298)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj        2016-04-11 18:20:59 UTC (rev 199297)
+++ trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj        2016-04-11 18:49:13 UTC (rev 199298)
</span><span class="lines">@@ -1728,8 +1728,6 @@
</span><span class="cx">                 45BAC2B01360BBAB005DA258 /* IconURL.h in Headers */ = {isa = PBXBuildFile; fileRef = 45BAC2AF1360BBAB005DA258 /* IconURL.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 45FEA5CF156DDE8C00654101 /* Decimal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 45FEA5CD156DDE8C00654101 /* Decimal.cpp */; };
</span><span class="cx">                 45FEA5D0156DDE8C00654101 /* Decimal.h in Headers */ = {isa = PBXBuildFile; fileRef = 45FEA5CE156DDE8C00654101 /* Decimal.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><del>-                46233EEE1BA0F187000EBEBB /* AttributeDOMTokenList.h in Headers */ = {isa = PBXBuildFile; fileRef = 46233EED1BA0F17A000EBEBB /* AttributeDOMTokenList.h */; };
-                46233EEF1BA0F18B000EBEBB /* AttributeDOMTokenList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 46233EEC1BA0F17A000EBEBB /* AttributeDOMTokenList.cpp */; };
</del><span class="cx">                 4634592C1AC2271000ECB71C /* PowerObserverMac.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4634592B1AC2271000ECB71C /* PowerObserverMac.cpp */; };
</span><span class="cx">                 463EB6221B8789E00096ED51 /* TagCollection.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 463EB6201B8789CB0096ED51 /* TagCollection.cpp */; };
</span><span class="cx">                 463EB6231B8789E00096ED51 /* TagCollection.h in Headers */ = {isa = PBXBuildFile; fileRef = 463EB6211B8789CB0096ED51 /* TagCollection.h */; };
</span><span class="lines">@@ -9249,8 +9247,6 @@
</span><span class="cx">                 45BAC2AF1360BBAB005DA258 /* IconURL.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IconURL.h; sourceTree = "<group>"; };
</span><span class="cx">                 45FEA5CD156DDE8C00654101 /* Decimal.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Decimal.cpp; sourceTree = "<group>"; };
</span><span class="cx">                 45FEA5CE156DDE8C00654101 /* Decimal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Decimal.h; sourceTree = "<group>"; };
</span><del>-                46233EEC1BA0F17A000EBEBB /* AttributeDOMTokenList.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = AttributeDOMTokenList.cpp; path = ../AttributeDOMTokenList.cpp; sourceTree = "<group>"; };
-                46233EED1BA0F17A000EBEBB /* AttributeDOMTokenList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AttributeDOMTokenList.h; path = ../AttributeDOMTokenList.h; sourceTree = "<group>"; };
</del><span class="cx">                 4634592B1AC2271000ECB71C /* PowerObserverMac.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PowerObserverMac.cpp; sourceTree = "<group>"; };
</span><span class="cx">                 463EB6201B8789CB0096ED51 /* TagCollection.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TagCollection.cpp; sourceTree = "<group>"; };
</span><span class="cx">                 463EB6211B8789CB0096ED51 /* TagCollection.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TagCollection.h; sourceTree = "<group>"; };
</span><span class="lines">@@ -21164,8 +21160,6 @@
</span><span class="cx">                 B1AD4E7713A12A7200846B27 /* track */ = {
</span><span class="cx">                         isa = PBXGroup;
</span><span class="cx">                         children = (
</span><del>-                                46233EEC1BA0F17A000EBEBB /* AttributeDOMTokenList.cpp */,
-                                46233EED1BA0F17A000EBEBB /* AttributeDOMTokenList.h */,
</del><span class="cx">                                 BE88E0CC1715D2A200658D98 /* AudioTrack.cpp */,
</span><span class="cx">                                 BE88E0CD1715D2A200658D98 /* AudioTrack.h */,
</span><span class="cx">                                 BE88E0CE1715D2A200658D98 /* AudioTrack.idl */,
</span><span class="lines">@@ -25024,7 +25018,6 @@
</span><span class="cx">                                 A8C4A80D09D563270003AC8D /* Attr.h in Headers */,
</span><span class="cx">                                 A8C4A80B09D563270003AC8D /* Attribute.h in Headers */,
</span><span class="cx">                                 E4A814DA1C70E10D00BF85AC /* AttributeChangeInvalidation.h in Headers */,
</span><del>-                                46233EEE1BA0F187000EBEBB /* AttributeDOMTokenList.h in Headers */,
</del><span class="cx">                                 FD31607A12B026F700C1A359 /* AudioArray.h in Headers */,
</span><span class="cx">                                 FD629EA3154B47160006D026 /* AudioBasicInspectorNode.h in Headers */,
</span><span class="cx">                                 FD315FF712B0267600C1A359 /* AudioBasicProcessorNode.h in Headers */,
</span><span class="lines">@@ -28992,7 +28985,6 @@
</span><span class="cx">                                 0FFD4D6018651FA300512F6E /* AsyncScrollingCoordinator.cpp in Sources */,
</span><span class="cx">                                 A8C4A80E09D563270003AC8D /* Attr.cpp in Sources */,
</span><span class="cx">                                 E4A814D81C70E10500BF85AC /* AttributeChangeInvalidation.cpp in Sources */,
</span><del>-                                46233EEF1BA0F18B000EBEBB /* AttributeDOMTokenList.cpp in Sources */,
</del><span class="cx">                                 FD629EA4154B47160006D026 /* AudioBasicInspectorNode.cpp in Sources */,
</span><span class="cx">                                 FD315FF612B0267600C1A359 /* AudioBasicProcessorNode.cpp in Sources */,
</span><span class="cx">                                 FD315FF812B0267600C1A359 /* AudioBuffer.cpp in Sources */,
</span></span></pre></div>
<a id="trunkSourceWebCoredomElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/Element.cpp (199297 => 199298)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/Element.cpp        2016-04-11 18:20:59 UTC (rev 199297)
+++ trunk/Source/WebCore/dom/Element.cpp        2016-04-11 18:49:13 UTC (rev 199298)
</span><span class="lines">@@ -2770,7 +2770,7 @@
</span><span class="cx"> {
</span><span class="cx"> ElementRareData& data = ensureElementRareData();
</span><span class="cx"> if (!data.classList())
</span><del>- data.setClassList(std::make_unique<AttributeDOMTokenList>(*this, HTMLNames::classAttr));
</del><ins>+ data.setClassList(std::make_unique<DOMTokenList>(*this, HTMLNames::classAttr));
</ins><span class="cx"> return *data.classList();
</span><span class="cx"> }
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCoredomElementRareDatah"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/ElementRareData.h (199297 => 199298)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/ElementRareData.h        2016-04-11 18:20:59 UTC (rev 199297)
+++ trunk/Source/WebCore/dom/ElementRareData.h        2016-04-11 18:49:13 UTC (rev 199298)
</span><span class="lines">@@ -22,7 +22,7 @@
</span><span class="cx"> #ifndef ElementRareData_h
</span><span class="cx"> #define ElementRareData_h
</span><span class="cx">
</span><del>-#include "AttributeDOMTokenList.h"
</del><ins>+#include "DOMTokenList.h"
</ins><span class="cx"> #include "DatasetDOMStringMap.h"
</span><span class="cx"> #include "NamedNodeMap.h"
</span><span class="cx"> #include "NodeRareData.h"
</span><span class="lines">@@ -92,8 +92,8 @@
</span><span class="cx"> RenderStyle* computedStyle() const { return m_computedStyle.get(); }
</span><span class="cx"> void setComputedStyle(Ref<RenderStyle>&& computedStyle) { m_computedStyle = WTFMove(computedStyle); }
</span><span class="cx">
</span><del>- AttributeDOMTokenList* classList() const { return m_classList.get(); }
- void setClassList(std::unique_ptr<AttributeDOMTokenList> classList) { m_classList = WTFMove(classList); }
</del><ins>+ DOMTokenList* classList() const { return m_classList.get(); }
+ void setClassList(std::unique_ptr<DOMTokenList> classList) { m_classList = WTFMove(classList); }
</ins><span class="cx">
</span><span class="cx"> DatasetDOMStringMap* dataset() const { return m_dataset.get(); }
</span><span class="cx"> void setDataset(std::unique_ptr<DatasetDOMStringMap> dataset) { m_dataset = WTFMove(dataset); }
</span><span class="lines">@@ -138,7 +138,7 @@
</span><span class="cx"> RefPtr<RenderStyle> m_computedStyle;
</span><span class="cx">
</span><span class="cx"> std::unique_ptr<DatasetDOMStringMap> m_dataset;
</span><del>- std::unique_ptr<AttributeDOMTokenList> m_classList;
</del><ins>+ std::unique_ptr<DOMTokenList> m_classList;
</ins><span class="cx"> RefPtr<ShadowRoot> m_shadowRoot;
</span><span class="cx"> std::unique_ptr<NamedNodeMap> m_attributeMap;
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlAttributeDOMTokenListcpp"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebCore/html/AttributeDOMTokenList.cpp (199297 => 199298)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/AttributeDOMTokenList.cpp        2016-04-11 18:20:59 UTC (rev 199297)
+++ trunk/Source/WebCore/html/AttributeDOMTokenList.cpp        2016-04-11 18:49:13 UTC (rev 199298)
</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.
- */
-
-#include "config.h"
-#include "AttributeDOMTokenList.h"
-
-#include <wtf/TemporaryChange.h>
-
-namespace WebCore {
-
-AttributeDOMTokenList::AttributeDOMTokenList(Element& element, const QualifiedName& attributeName)
- : m_element(element)
- , m_attributeName(attributeName)
-{
- setValueInternal(m_element.getAttribute(m_attributeName));
-}
-
-void AttributeDOMTokenList::attributeValueChanged(const AtomicString& newValue)
-{
- // Do not reset the DOMTokenList value if the attribute value was changed by us.
- if (m_isUpdatingAttributeValue)
- return;
-
- setValueInternal(newValue);
-}
-
-void AttributeDOMTokenList::updateAfterTokenChange()
-{
- DOMTokenList::updateAfterTokenChange();
-
- TemporaryChange<bool> inAttributeUpdate(m_isUpdatingAttributeValue, true);
- m_element.setAttribute(m_attributeName, value());
-}
-
-} // namespace WebCore
</del></span></pre></div>
<a id="trunkSourceWebCorehtmlAttributeDOMTokenListh"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebCore/html/AttributeDOMTokenList.h (199297 => 199298)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/AttributeDOMTokenList.h        2016-04-11 18:20:59 UTC (rev 199297)
+++ trunk/Source/WebCore/html/AttributeDOMTokenList.h        2016-04-11 18:49:13 UTC (rev 199298)
</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 AttributeDOMTokenList_h
-#define AttributeDOMTokenList_h
-
-#include "DOMTokenList.h"
-#include "Element.h"
-
-namespace WebCore {
-
-class AttributeDOMTokenList final : public DOMTokenList {
- WTF_MAKE_FAST_ALLOCATED;
-public:
- AttributeDOMTokenList(Element&, const QualifiedName& attributeName);
- void attributeValueChanged(const AtomicString&);
-
-private:
- void ref() override { m_element.ref(); }
- void deref() override { m_element.deref(); }
-
- Element* element() const override { return &m_element; }
- void updateAfterTokenChange() override;
-
- Element& m_element;
- const WebCore::QualifiedName& m_attributeName;
- bool m_isUpdatingAttributeValue { false };
-};
-
-} // namespace WebCore
-
-#endif // AttributeDOMTokenList_h
</del></span></pre></div>
<a id="trunkSourceWebCorehtmlDOMTokenListcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/DOMTokenList.cpp (199297 => 199298)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/DOMTokenList.cpp        2016-04-11 18:20:59 UTC (rev 199297)
+++ trunk/Source/WebCore/html/DOMTokenList.cpp        2016-04-11 18:49:13 UTC (rev 199298)
</span><span class="lines">@@ -30,11 +30,19 @@
</span><span class="cx"> #include "HTMLParserIdioms.h"
</span><span class="cx"> #include "SpaceSplitString.h"
</span><span class="cx"> #include <wtf/HashSet.h>
</span><ins>+#include <wtf/TemporaryChange.h>
</ins><span class="cx"> #include <wtf/text/AtomicStringHash.h>
</span><span class="cx"> #include <wtf/text/StringBuilder.h>
</span><span class="cx">
</span><span class="cx"> namespace WebCore {
</span><span class="cx">
</span><ins>+DOMTokenList::DOMTokenList(Element& element, const QualifiedName& attributeName)
+ : m_element(element)
+ , m_attributeName(attributeName)
+{
+ setValueInternal(m_element.getAttribute(m_attributeName));
+}
+
</ins><span class="cx"> bool DOMTokenList::validateToken(const String& token, ExceptionCode& ec)
</span><span class="cx"> {
</span><span class="cx"> if (token.isEmpty()) {
</span><span class="lines">@@ -190,4 +198,21 @@
</span><span class="cx"> m_cachedValue = nullAtom;
</span><span class="cx"> }
</span><span class="cx">
</span><ins>+void DOMTokenList::attributeValueChanged(const AtomicString& newValue)
+{
+ // Do not reset the DOMTokenList value if the attribute value was changed by us.
+ if (m_isUpdatingAttributeValue)
+ return;
+
+ setValueInternal(newValue);
+}
+
+void DOMTokenList::updateAfterTokenChange()
+{
+ m_cachedValue = nullAtom;
+
+ TemporaryChange<bool> inAttributeUpdate(m_isUpdatingAttributeValue, true);
+ m_element.setAttribute(m_attributeName, value());
+}
+
</ins><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlDOMTokenListh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/DOMTokenList.h (199297 => 199298)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/DOMTokenList.h        2016-04-11 18:20:59 UTC (rev 199297)
+++ trunk/Source/WebCore/html/DOMTokenList.h        2016-04-11 18:49:13 UTC (rev 199298)
</span><span class="lines">@@ -26,23 +26,23 @@
</span><span class="cx"> #ifndef DOMTokenList_h
</span><span class="cx"> #define DOMTokenList_h
</span><span class="cx">
</span><ins>+#include <Element.h>
</ins><span class="cx"> #include <wtf/Optional.h>
</span><span class="cx"> #include <wtf/Vector.h>
</span><span class="cx"> #include <wtf/text/AtomicString.h>
</span><span class="cx">
</span><span class="cx"> namespace WebCore {
</span><span class="cx">
</span><del>-class Element;
-
</del><span class="cx"> typedef int ExceptionCode;
</span><span class="cx">
</span><span class="cx"> class DOMTokenList {
</span><span class="cx"> WTF_MAKE_NONCOPYABLE(DOMTokenList); WTF_MAKE_FAST_ALLOCATED;
</span><span class="cx"> public:
</span><del>- virtual ~DOMTokenList() { }
</del><ins>+ DOMTokenList(Element&, const QualifiedName& attributeName);
+ void attributeValueChanged(const AtomicString&);
</ins><span class="cx">
</span><del>- virtual void ref() = 0;
- virtual void deref() = 0;
</del><ins>+ void ref() { m_element.ref(); }
+ void deref() { m_element.deref(); }
</ins><span class="cx">
</span><span class="cx"> unsigned length() const;
</span><span class="cx"> const AtomicString& item(unsigned index) const;
</span><span class="lines">@@ -56,23 +56,23 @@
</span><span class="cx">
</span><span class="cx"> const AtomicString& toString() const { return value(); }
</span><span class="cx">
</span><del>- virtual Element* element() const { return nullptr; }
</del><ins>+ Element& element() const { return m_element; }
</ins><span class="cx">
</span><span class="cx"> void setValue(const String&);
</span><span class="cx"> const AtomicString& value() const;
</span><span class="cx">
</span><del>-protected:
- DOMTokenList() = default;
</del><ins>+private:
</ins><span class="cx"> void setValueInternal(const String&);
</span><ins>+ void updateAfterTokenChange();
</ins><span class="cx">
</span><del>- virtual void updateAfterTokenChange() { m_cachedValue = nullAtom; }
-
-private:
</del><span class="cx"> static bool validateToken(const String&, ExceptionCode&);
</span><span class="cx"> static bool validateTokens(const String* tokens, size_t length, ExceptionCode&);
</span><span class="cx"> void addInternal(const String* tokens, size_t length, ExceptionCode&);
</span><span class="cx"> void removeInternal(const String* tokens, size_t length, ExceptionCode&);
</span><span class="cx">
</span><ins>+ Element& m_element;
+ const WebCore::QualifiedName& m_attributeName;
+ bool m_isUpdatingAttributeValue { false };
</ins><span class="cx"> Vector<AtomicString> m_tokens;
</span><span class="cx"> mutable AtomicString m_cachedValue;
</span><span class="cx"> };
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLAnchorElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLAnchorElement.cpp (199297 => 199298)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLAnchorElement.cpp        2016-04-11 18:20:59 UTC (rev 199297)
+++ trunk/Source/WebCore/html/HTMLAnchorElement.cpp        2016-04-11 18:49:13 UTC (rev 199298)
</span><span class="lines">@@ -24,7 +24,7 @@
</span><span class="cx"> #include "config.h"
</span><span class="cx"> #include "HTMLAnchorElement.h"
</span><span class="cx">
</span><del>-#include "AttributeDOMTokenList.h"
</del><ins>+#include "DOMTokenList.h"
</ins><span class="cx"> #include "ElementIterator.h"
</span><span class="cx"> #include "EventHandler.h"
</span><span class="cx"> #include "EventNames.h"
</span><span class="lines">@@ -303,7 +303,7 @@
</span><span class="cx"> DOMTokenList& HTMLAnchorElement::relList()
</span><span class="cx"> {
</span><span class="cx"> if (!m_relList)
</span><del>- m_relList = std::make_unique<AttributeDOMTokenList>(*this, HTMLNames::relAttr);
</del><ins>+ m_relList = std::make_unique<DOMTokenList>(*this, HTMLNames::relAttr);
</ins><span class="cx"> return *m_relList;
</span><span class="cx"> }
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLAnchorElementh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLAnchorElement.h (199297 => 199298)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLAnchorElement.h        2016-04-11 18:20:59 UTC (rev 199297)
+++ trunk/Source/WebCore/html/HTMLAnchorElement.h        2016-04-11 18:49:13 UTC (rev 199298)
</span><span class="lines">@@ -30,7 +30,7 @@
</span><span class="cx">
</span><span class="cx"> namespace WebCore {
</span><span class="cx">
</span><del>-class AttributeDOMTokenList;
</del><ins>+class DOMTokenList;
</ins><span class="cx">
</span><span class="cx"> // Link relation bitmask values.
</span><span class="cx"> // FIXME: Uncomment as the various link relations are implemented.
</span><span class="lines">@@ -151,7 +151,7 @@
</span><span class="cx"> uint32_t m_linkRelations : 30;
</span><span class="cx"> mutable LinkHash m_cachedVisitedLinkHash;
</span><span class="cx">
</span><del>- std::unique_ptr<AttributeDOMTokenList> m_relList;
</del><ins>+ std::unique_ptr<DOMTokenList> m_relList;
</ins><span class="cx"> };
</span><span class="cx">
</span><span class="cx"> inline LinkHash HTMLAnchorElement::visitedLinkHash() const
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLIFrameElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLIFrameElement.cpp (199297 => 199298)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLIFrameElement.cpp        2016-04-11 18:20:59 UTC (rev 199297)
+++ trunk/Source/WebCore/html/HTMLIFrameElement.cpp        2016-04-11 18:49:13 UTC (rev 199298)
</span><span class="lines">@@ -25,8 +25,8 @@
</span><span class="cx"> #include "config.h"
</span><span class="cx"> #include "HTMLIFrameElement.h"
</span><span class="cx">
</span><del>-#include "AttributeDOMTokenList.h"
</del><span class="cx"> #include "CSSPropertyNames.h"
</span><ins>+#include "DOMTokenList.h"
</ins><span class="cx"> #include "Frame.h"
</span><span class="cx"> #include "HTMLDocument.h"
</span><span class="cx"> #include "HTMLNames.h"
</span><span class="lines">@@ -51,7 +51,7 @@
</span><span class="cx"> DOMTokenList& HTMLIFrameElement::sandbox()
</span><span class="cx"> {
</span><span class="cx"> if (!m_sandbox)
</span><del>- m_sandbox = std::make_unique<AttributeDOMTokenList>(*this, sandboxAttr);
</del><ins>+ m_sandbox = std::make_unique<DOMTokenList>(*this, sandboxAttr);
</ins><span class="cx"> return *m_sandbox;
</span><span class="cx"> }
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLIFrameElementh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLIFrameElement.h (199297 => 199298)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLIFrameElement.h        2016-04-11 18:20:59 UTC (rev 199297)
+++ trunk/Source/WebCore/html/HTMLIFrameElement.h        2016-04-11 18:49:13 UTC (rev 199298)
</span><span class="lines">@@ -28,7 +28,7 @@
</span><span class="cx">
</span><span class="cx"> namespace WebCore {
</span><span class="cx">
</span><del>-class AttributeDOMTokenList;
</del><ins>+class DOMTokenList;
</ins><span class="cx">
</span><span class="cx"> class HTMLIFrameElement final : public HTMLFrameElementBase {
</span><span class="cx"> public:
</span><span class="lines">@@ -50,7 +50,7 @@
</span><span class="cx"> bool rendererIsNeeded(const RenderStyle&) override;
</span><span class="cx"> RenderPtr<RenderElement> createElementRenderer(Ref<RenderStyle>&&, const RenderTreePosition&) override;
</span><span class="cx">
</span><del>- std::unique_ptr<AttributeDOMTokenList> m_sandbox;
</del><ins>+ std::unique_ptr<DOMTokenList> m_sandbox;
</ins><span class="cx"> };
</span><span class="cx">
</span><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLLinkElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLLinkElement.cpp (199297 => 199298)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLLinkElement.cpp        2016-04-11 18:20:59 UTC (rev 199297)
+++ trunk/Source/WebCore/html/HTMLLinkElement.cpp        2016-04-11 18:49:13 UTC (rev 199298)
</span><span class="lines">@@ -26,13 +26,13 @@
</span><span class="cx"> #include "HTMLLinkElement.h"
</span><span class="cx">
</span><span class="cx"> #include "Attribute.h"
</span><del>-#include "AttributeDOMTokenList.h"
</del><span class="cx"> #include "AuthorStyleSheets.h"
</span><span class="cx"> #include "CachedCSSStyleSheet.h"
</span><span class="cx"> #include "CachedResource.h"
</span><span class="cx"> #include "CachedResourceLoader.h"
</span><span class="cx"> #include "CachedResourceRequest.h"
</span><span class="cx"> #include "ContentSecurityPolicy.h"
</span><ins>+#include "DOMTokenList.h"
</ins><span class="cx"> #include "Document.h"
</span><span class="cx"> #include "Event.h"
</span><span class="cx"> #include "EventSender.h"
</span><span class="lines">@@ -378,7 +378,7 @@
</span><span class="cx"> DOMTokenList& HTMLLinkElement::sizes()
</span><span class="cx"> {
</span><span class="cx"> if (!m_sizes)
</span><del>- m_sizes = std::make_unique<AttributeDOMTokenList>(*this, sizesAttr);
</del><ins>+ m_sizes = std::make_unique<DOMTokenList>(*this, sizesAttr);
</ins><span class="cx"> return *m_sizes;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -418,7 +418,7 @@
</span><span class="cx"> DOMTokenList& HTMLLinkElement::relList()
</span><span class="cx"> {
</span><span class="cx"> if (!m_relList)
</span><del>- m_relList = std::make_unique<AttributeDOMTokenList>(*this, HTMLNames::relAttr);
</del><ins>+ m_relList = std::make_unique<DOMTokenList>(*this, HTMLNames::relAttr);
</ins><span class="cx"> return *m_relList;
</span><span class="cx"> }
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLLinkElementh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLLinkElement.h (199297 => 199298)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLLinkElement.h        2016-04-11 18:20:59 UTC (rev 199297)
+++ trunk/Source/WebCore/html/HTMLLinkElement.h        2016-04-11 18:49:13 UTC (rev 199298)
</span><span class="lines">@@ -24,10 +24,10 @@
</span><span class="cx"> #ifndef HTMLLinkElement_h
</span><span class="cx"> #define HTMLLinkElement_h
</span><span class="cx">
</span><del>-#include "AttributeDOMTokenList.h"
</del><span class="cx"> #include "CSSStyleSheet.h"
</span><span class="cx"> #include "CachedStyleSheetClient.h"
</span><span class="cx"> #include "CachedResourceHandle.h"
</span><ins>+#include "DOMTokenList.h"
</ins><span class="cx"> #include "HTMLElement.h"
</span><span class="cx"> #include "LinkLoader.h"
</span><span class="cx"> #include "LinkLoaderClient.h"
</span><span class="lines">@@ -35,7 +35,7 @@
</span><span class="cx">
</span><span class="cx"> namespace WebCore {
</span><span class="cx">
</span><del>-class AttributeDOMTokenList;
</del><ins>+class DOMTokenList;
</ins><span class="cx"> class HTMLLinkElement;
</span><span class="cx"> class URL;
</span><span class="cx">
</span><span class="lines">@@ -128,7 +128,7 @@
</span><span class="cx">
</span><span class="cx"> String m_type;
</span><span class="cx"> String m_media;
</span><del>- std::unique_ptr<AttributeDOMTokenList> m_sizes;
</del><ins>+ std::unique_ptr<DOMTokenList> m_sizes;
</ins><span class="cx"> DisabledState m_disabledState;
</span><span class="cx"> LinkRelAttribute m_relAttribute;
</span><span class="cx"> bool m_loading;
</span><span class="lines">@@ -139,7 +139,7 @@
</span><span class="cx">
</span><span class="cx"> PendingSheetType m_pendingSheetType;
</span><span class="cx">
</span><del>- std::unique_ptr<AttributeDOMTokenList> m_relList;
</del><ins>+ std::unique_ptr<DOMTokenList> m_relList;
</ins><span class="cx"> };
</span><span class="cx">
</span><span class="cx"> } //namespace
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLOutputElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLOutputElement.cpp (199297 => 199298)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLOutputElement.cpp        2016-04-11 18:20:59 UTC (rev 199297)
+++ trunk/Source/WebCore/html/HTMLOutputElement.cpp        2016-04-11 18:49:13 UTC (rev 199298)
</span><span class="lines">@@ -130,7 +130,7 @@
</span><span class="cx"> DOMTokenList& HTMLOutputElement::htmlFor()
</span><span class="cx"> {
</span><span class="cx"> if (!m_tokens)
</span><del>- m_tokens = std::make_unique<AttributeDOMTokenList>(*this, forAttr);
</del><ins>+ m_tokens = std::make_unique<DOMTokenList>(*this, forAttr);
</ins><span class="cx"> return *m_tokens;
</span><span class="cx"> }
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLOutputElementh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLOutputElement.h (199297 => 199298)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLOutputElement.h        2016-04-11 18:20:59 UTC (rev 199297)
+++ trunk/Source/WebCore/html/HTMLOutputElement.h        2016-04-11 18:49:13 UTC (rev 199298)
</span><span class="lines">@@ -31,7 +31,7 @@
</span><span class="cx"> #ifndef HTMLOutputElement_h
</span><span class="cx"> #define HTMLOutputElement_h
</span><span class="cx">
</span><del>-#include "AttributeDOMTokenList.h"
</del><ins>+#include "DOMTokenList.h"
</ins><span class="cx"> #include "HTMLFormControlElement.h"
</span><span class="cx">
</span><span class="cx"> namespace WebCore {
</span><span class="lines">@@ -65,7 +65,7 @@
</span><span class="cx"> bool m_isDefaultValueMode;
</span><span class="cx"> bool m_isSetTextContentInProgress;
</span><span class="cx"> String m_defaultValue;
</span><del>- std::unique_ptr<AttributeDOMTokenList> m_tokens;
</del><ins>+ std::unique_ptr<DOMTokenList> m_tokens;
</ins><span class="cx"> };
</span><span class="cx">
</span><span class="cx"> } // namespace
</span></span></pre>
</div>
</div>
</body>
</html>