<!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>[164822] 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/164822">164822</a></dd>
<dt>Author</dt> <dd>akling@apple.com</dd>
<dt>Date</dt> <dd>2014-02-27 12:24:03 -0800 (Thu, 27 Feb 2014)</dd>
</dl>

<h3>Log Message</h3>
<pre>Remove FeatureObserver.
&lt;https://webkit.org/b/129439&gt;

This code was only used by the Chromium port and nobody else is
making use of it.

Reviewed by Anders Carlsson.

* CMakeLists.txt:
* GNUmakefile.list.am:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
* dom/EventTarget.cpp:
(WebCore::EventTarget::fireEventListeners):
* dom/EventTarget.h:
* html/ColorInputType.cpp:
* html/ColorInputType.h:
* html/DateInputType.cpp:
* html/DateInputType.h:
* html/DateTimeInputType.cpp:
* html/DateTimeInputType.h:
* html/DateTimeLocalInputType.cpp:
* html/DateTimeLocalInputType.h:
* html/EmailInputType.cpp:
* html/EmailInputType.h:
* html/HTMLDataListElement.cpp:
(WebCore::HTMLDataListElement::create):
* html/HTMLFormControlElement.cpp:
(WebCore::HTMLFormControlElement::parseAttribute):
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::parseAttribute):
* html/HTMLTextFormControlElement.cpp:
(WebCore::HTMLTextFormControlElement::parseAttribute):
* html/InputType.cpp:
* html/InputType.h:
* html/MonthInputType.cpp:
* html/MonthInputType.h:
* html/NumberInputType.cpp:
* html/NumberInputType.h:
* html/RangeInputType.cpp:
* html/RangeInputType.h:
* html/SearchInputType.cpp:
* html/SearchInputType.h:
* html/TelephoneInputType.cpp:
* html/TelephoneInputType.h:
* html/TextInputType.cpp:
* html/TextInputType.h:
* html/TimeInputType.cpp:
* html/TimeInputType.h:
* html/URLInputType.cpp:
* html/URLInputType.h:
* html/WeekInputType.cpp:
* html/WeekInputType.h:
* loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::responseReceived):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::shouldInterruptLoadForXFrameOptions):
(WebCore::FrameLoader::dispatchDidCommitLoad):
* page/ContentSecurityPolicy.cpp:
(WebCore::ContentSecurityPolicy::didReceiveHeader):
* page/EventHandler.cpp:
(WebCore::EventHandler::selectCursor):
* page/FeatureObserver.cpp: Removed.
* page/FeatureObserver.h: Removed.
* page/Page.h:
* rendering/RenderDeprecatedFlexibleBox.cpp:
(WebCore::RenderDeprecatedFlexibleBox::RenderDeprecatedFlexibleBox):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::calculateClipRects):
* workers/SharedWorker.cpp:
(WebCore::SharedWorker::create):
* workers/Worker.cpp:
(WebCore::Worker::create):</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="#trunkSourceWebCoreGNUmakefilelistam">trunk/Source/WebCore/GNUmakefile.list.am</a></li>
<li><a href="#trunkSourceWebCoreWebCorevcxprojWebCorevcxproj">trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj</a></li>
<li><a href="#trunkSourceWebCoreWebCorevcxprojWebCorevcxprojfilters">trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj.filters</a></li>
<li><a href="#trunkSourceWebCoreWebCorexcodeprojprojectpbxproj">trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj</a></li>
<li><a href="#trunkSourceWebCoredomEventTargetcpp">trunk/Source/WebCore/dom/EventTarget.cpp</a></li>
<li><a href="#trunkSourceWebCoredomEventTargeth">trunk/Source/WebCore/dom/EventTarget.h</a></li>
<li><a href="#trunkSourceWebCorehtmlColorInputTypecpp">trunk/Source/WebCore/html/ColorInputType.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlColorInputTypeh">trunk/Source/WebCore/html/ColorInputType.h</a></li>
<li><a href="#trunkSourceWebCorehtmlDateInputTypecpp">trunk/Source/WebCore/html/DateInputType.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlDateInputTypeh">trunk/Source/WebCore/html/DateInputType.h</a></li>
<li><a href="#trunkSourceWebCorehtmlDateTimeInputTypecpp">trunk/Source/WebCore/html/DateTimeInputType.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlDateTimeInputTypeh">trunk/Source/WebCore/html/DateTimeInputType.h</a></li>
<li><a href="#trunkSourceWebCorehtmlDateTimeLocalInputTypecpp">trunk/Source/WebCore/html/DateTimeLocalInputType.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlDateTimeLocalInputTypeh">trunk/Source/WebCore/html/DateTimeLocalInputType.h</a></li>
<li><a href="#trunkSourceWebCorehtmlEmailInputTypecpp">trunk/Source/WebCore/html/EmailInputType.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlEmailInputTypeh">trunk/Source/WebCore/html/EmailInputType.h</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLDataListElementcpp">trunk/Source/WebCore/html/HTMLDataListElement.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLFormControlElementcpp">trunk/Source/WebCore/html/HTMLFormControlElement.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLInputElementcpp">trunk/Source/WebCore/html/HTMLInputElement.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLTextFormControlElementcpp">trunk/Source/WebCore/html/HTMLTextFormControlElement.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlInputTypecpp">trunk/Source/WebCore/html/InputType.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlInputTypeh">trunk/Source/WebCore/html/InputType.h</a></li>
<li><a href="#trunkSourceWebCorehtmlMonthInputTypecpp">trunk/Source/WebCore/html/MonthInputType.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlMonthInputTypeh">trunk/Source/WebCore/html/MonthInputType.h</a></li>
<li><a href="#trunkSourceWebCorehtmlNumberInputTypecpp">trunk/Source/WebCore/html/NumberInputType.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlNumberInputTypeh">trunk/Source/WebCore/html/NumberInputType.h</a></li>
<li><a href="#trunkSourceWebCorehtmlRangeInputTypecpp">trunk/Source/WebCore/html/RangeInputType.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlRangeInputTypeh">trunk/Source/WebCore/html/RangeInputType.h</a></li>
<li><a href="#trunkSourceWebCorehtmlSearchInputTypecpp">trunk/Source/WebCore/html/SearchInputType.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlSearchInputTypeh">trunk/Source/WebCore/html/SearchInputType.h</a></li>
<li><a href="#trunkSourceWebCorehtmlTelephoneInputTypecpp">trunk/Source/WebCore/html/TelephoneInputType.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlTelephoneInputTypeh">trunk/Source/WebCore/html/TelephoneInputType.h</a></li>
<li><a href="#trunkSourceWebCorehtmlTextInputTypecpp">trunk/Source/WebCore/html/TextInputType.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlTextInputTypeh">trunk/Source/WebCore/html/TextInputType.h</a></li>
<li><a href="#trunkSourceWebCorehtmlTimeInputTypecpp">trunk/Source/WebCore/html/TimeInputType.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlTimeInputTypeh">trunk/Source/WebCore/html/TimeInputType.h</a></li>
<li><a href="#trunkSourceWebCorehtmlURLInputTypecpp">trunk/Source/WebCore/html/URLInputType.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlURLInputTypeh">trunk/Source/WebCore/html/URLInputType.h</a></li>
<li><a href="#trunkSourceWebCorehtmlWeekInputTypecpp">trunk/Source/WebCore/html/WeekInputType.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlWeekInputTypeh">trunk/Source/WebCore/html/WeekInputType.h</a></li>
<li><a href="#trunkSourceWebCoreloaderDocumentLoadercpp">trunk/Source/WebCore/loader/DocumentLoader.cpp</a></li>
<li><a href="#trunkSourceWebCoreloaderFrameLoadercpp">trunk/Source/WebCore/loader/FrameLoader.cpp</a></li>
<li><a href="#trunkSourceWebCorepageContentSecurityPolicycpp">trunk/Source/WebCore/page/ContentSecurityPolicy.cpp</a></li>
<li><a href="#trunkSourceWebCorepageEventHandlercpp">trunk/Source/WebCore/page/EventHandler.cpp</a></li>
<li><a href="#trunkSourceWebCorepagePageh">trunk/Source/WebCore/page/Page.h</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderDeprecatedFlexibleBoxcpp">trunk/Source/WebCore/rendering/RenderDeprecatedFlexibleBox.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderLayercpp">trunk/Source/WebCore/rendering/RenderLayer.cpp</a></li>
<li><a href="#trunkSourceWebCoreworkersSharedWorkercpp">trunk/Source/WebCore/workers/SharedWorker.cpp</a></li>
<li><a href="#trunkSourceWebCoreworkersWorkercpp">trunk/Source/WebCore/workers/Worker.cpp</a></li>
</ul>

<h3>Removed Paths</h3>
<ul>
<li><a href="#trunkSourceWebCorepageFeatureObservercpp">trunk/Source/WebCore/page/FeatureObserver.cpp</a></li>
<li><a href="#trunkSourceWebCorepageFeatureObserverh">trunk/Source/WebCore/page/FeatureObserver.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 (164821 => 164822)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/CMakeLists.txt        2014-02-27 20:16:40 UTC (rev 164821)
+++ trunk/Source/WebCore/CMakeLists.txt        2014-02-27 20:24:03 UTC (rev 164822)
</span><span class="lines">@@ -1704,7 +1704,6 @@
</span><span class="cx">     page/DragController.cpp
</span><span class="cx">     page/EventHandler.cpp
</span><span class="cx">     page/EventSource.cpp
</span><del>-    page/FeatureObserver.cpp
</del><span class="cx">     page/FocusController.cpp
</span><span class="cx">     page/Frame.cpp
</span><span class="cx">     page/FrameDestructionObserver.cpp
</span></span></pre></div>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (164821 => 164822)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2014-02-27 20:16:40 UTC (rev 164821)
+++ trunk/Source/WebCore/ChangeLog        2014-02-27 20:24:03 UTC (rev 164822)
</span><span class="lines">@@ -1,3 +1,80 @@
</span><ins>+2014-02-27  Andreas Kling  &lt;akling@apple.com&gt;
+
+        Remove FeatureObserver.
+        &lt;https://webkit.org/b/129439&gt;
+
+        This code was only used by the Chromium port and nobody else is
+        making use of it.
+
+        Reviewed by Anders Carlsson.
+
+        * CMakeLists.txt:
+        * GNUmakefile.list.am:
+        * WebCore.vcxproj/WebCore.vcxproj:
+        * WebCore.vcxproj/WebCore.vcxproj.filters:
+        * WebCore.xcodeproj/project.pbxproj:
+        * dom/EventTarget.cpp:
+        (WebCore::EventTarget::fireEventListeners):
+        * dom/EventTarget.h:
+        * html/ColorInputType.cpp:
+        * html/ColorInputType.h:
+        * html/DateInputType.cpp:
+        * html/DateInputType.h:
+        * html/DateTimeInputType.cpp:
+        * html/DateTimeInputType.h:
+        * html/DateTimeLocalInputType.cpp:
+        * html/DateTimeLocalInputType.h:
+        * html/EmailInputType.cpp:
+        * html/EmailInputType.h:
+        * html/HTMLDataListElement.cpp:
+        (WebCore::HTMLDataListElement::create):
+        * html/HTMLFormControlElement.cpp:
+        (WebCore::HTMLFormControlElement::parseAttribute):
+        * html/HTMLInputElement.cpp:
+        (WebCore::HTMLInputElement::parseAttribute):
+        * html/HTMLTextFormControlElement.cpp:
+        (WebCore::HTMLTextFormControlElement::parseAttribute):
+        * html/InputType.cpp:
+        * html/InputType.h:
+        * html/MonthInputType.cpp:
+        * html/MonthInputType.h:
+        * html/NumberInputType.cpp:
+        * html/NumberInputType.h:
+        * html/RangeInputType.cpp:
+        * html/RangeInputType.h:
+        * html/SearchInputType.cpp:
+        * html/SearchInputType.h:
+        * html/TelephoneInputType.cpp:
+        * html/TelephoneInputType.h:
+        * html/TextInputType.cpp:
+        * html/TextInputType.h:
+        * html/TimeInputType.cpp:
+        * html/TimeInputType.h:
+        * html/URLInputType.cpp:
+        * html/URLInputType.h:
+        * html/WeekInputType.cpp:
+        * html/WeekInputType.h:
+        * loader/DocumentLoader.cpp:
+        (WebCore::DocumentLoader::responseReceived):
+        * loader/FrameLoader.cpp:
+        (WebCore::FrameLoader::shouldInterruptLoadForXFrameOptions):
+        (WebCore::FrameLoader::dispatchDidCommitLoad):
+        * page/ContentSecurityPolicy.cpp:
+        (WebCore::ContentSecurityPolicy::didReceiveHeader):
+        * page/EventHandler.cpp:
+        (WebCore::EventHandler::selectCursor):
+        * page/FeatureObserver.cpp: Removed.
+        * page/FeatureObserver.h: Removed.
+        * page/Page.h:
+        * rendering/RenderDeprecatedFlexibleBox.cpp:
+        (WebCore::RenderDeprecatedFlexibleBox::RenderDeprecatedFlexibleBox):
+        * rendering/RenderLayer.cpp:
+        (WebCore::RenderLayer::calculateClipRects):
+        * workers/SharedWorker.cpp:
+        (WebCore::SharedWorker::create):
+        * workers/Worker.cpp:
+        (WebCore::Worker::create):
+
</ins><span class="cx"> 2014-02-27  Chris Fleizach  &lt;cfleizach@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         speechSynthesis.speak of a zero length utterance kills future speech
</span></span></pre></div>
<a id="trunkSourceWebCoreGNUmakefilelistam"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/GNUmakefile.list.am (164821 => 164822)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/GNUmakefile.list.am        2014-02-27 20:16:40 UTC (rev 164821)
+++ trunk/Source/WebCore/GNUmakefile.list.am        2014-02-27 20:24:03 UTC (rev 164822)
</span><span class="lines">@@ -4081,8 +4081,6 @@
</span><span class="cx">         Source/WebCore/page/EventHandler.h \
</span><span class="cx">         Source/WebCore/page/EventSource.cpp \
</span><span class="cx">         Source/WebCore/page/EventSource.h \
</span><del>-        Source/WebCore/page/FeatureObserver.cpp \
-        Source/WebCore/page/FeatureObserver.h \
</del><span class="cx">         Source/WebCore/page/FocusController.cpp \
</span><span class="cx">         Source/WebCore/page/FocusController.h \
</span><span class="cx">         Source/WebCore/page/FocusDirection.h \
</span></span></pre></div>
<a id="trunkSourceWebCoreWebCorevcxprojWebCorevcxproj"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj (164821 => 164822)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj        2014-02-27 20:16:40 UTC (rev 164821)
+++ trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj        2014-02-27 20:24:03 UTC (rev 164822)
</span><span class="lines">@@ -6996,7 +6996,6 @@
</span><span class="cx">     &lt;ClCompile Include=&quot;..\page\EventHandler.cpp&quot; /&gt;
</span><span class="cx">     &lt;ClCompile Include=&quot;..\page\win\EventHandlerWin.cpp&quot; /&gt;
</span><span class="cx">     &lt;ClCompile Include=&quot;..\page\EventSource.cpp&quot; /&gt;
</span><del>-    &lt;ClCompile Include=&quot;..\page\FeatureObserver.cpp&quot; /&gt;
</del><span class="cx">     &lt;ClCompile Include=&quot;..\page\FocusController.cpp&quot; /&gt;
</span><span class="cx">     &lt;ClCompile Include=&quot;..\page\Frame.cpp&quot; /&gt;
</span><span class="cx">     &lt;ClCompile Include=&quot;..\page\FrameDestructionObserver.cpp&quot; /&gt;
</span><span class="lines">@@ -18670,7 +18669,6 @@
</span><span class="cx">     &lt;ClInclude Include=&quot;..\page\DragState.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;..\page\EventHandler.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;..\page\EventSource.h&quot; /&gt;
</span><del>-    &lt;ClInclude Include=&quot;..\page\FeatureObserver.h&quot; /&gt;
</del><span class="cx">     &lt;ClInclude Include=&quot;..\page\FocusController.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;..\page\FocusDirection.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;..\page\Frame.h&quot; /&gt;
</span></span></pre></div>
<a id="trunkSourceWebCoreWebCorevcxprojWebCorevcxprojfilters"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj.filters (164821 => 164822)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj.filters        2014-02-27 20:16:40 UTC (rev 164821)
+++ trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj.filters        2014-02-27 20:24:03 UTC (rev 164822)
</span><span class="lines">@@ -723,9 +723,6 @@
</span><span class="cx">     &lt;ClCompile Include=&quot;..\page\EventSource.cpp&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;page&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClCompile&gt;
</span><del>-    &lt;ClCompile Include=&quot;..\page\FeatureObserver.cpp&quot;&gt;
-      &lt;Filter&gt;page&lt;/Filter&gt;
-    &lt;/ClCompile&gt;
</del><span class="cx">     &lt;ClCompile Include=&quot;..\page\FocusController.cpp&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;page&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClCompile&gt;
</span><span class="lines">@@ -7529,9 +7526,6 @@
</span><span class="cx">     &lt;ClInclude Include=&quot;..\page\EventSource.h&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;page&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClInclude&gt;
</span><del>-    &lt;ClInclude Include=&quot;..\page\FeatureObserver.h&quot;&gt;
-      &lt;Filter&gt;page&lt;/Filter&gt;
-    &lt;/ClInclude&gt;
</del><span class="cx">     &lt;ClInclude Include=&quot;..\page\FocusController.h&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;page&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClInclude&gt;
</span></span></pre></div>
<a id="trunkSourceWebCoreWebCorexcodeprojprojectpbxproj"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj (164821 => 164822)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj        2014-02-27 20:16:40 UTC (rev 164821)
+++ trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj        2014-02-27 20:24:03 UTC (rev 164822)
</span><span class="lines">@@ -3475,8 +3475,6 @@
</span><span class="cx">                 97C078501165D5BE003A32EF /* SuffixTree.h in Headers */ = {isa = PBXBuildFile; fileRef = 97C0784F1165D5BE003A32EF /* SuffixTree.h */; };
</span><span class="cx">                 97C471DB12F925BD0086354B /* ContentSecurityPolicy.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 97C471D912F925BC0086354B /* ContentSecurityPolicy.cpp */; };
</span><span class="cx">                 97C471DC12F925BD0086354B /* ContentSecurityPolicy.h in Headers */ = {isa = PBXBuildFile; fileRef = 97C471DA12F925BD0086354B /* ContentSecurityPolicy.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><del>-                97C740141603F7A10011FF2D /* FeatureObserver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 97C740121603F7A10011FF2D /* FeatureObserver.cpp */; };
-                97C740151603F7A10011FF2D /* FeatureObserver.h in Headers */ = {isa = PBXBuildFile; fileRef = 97C740131603F7A10011FF2D /* FeatureObserver.h */; settings = {ATTRIBUTES = (Private, ); }; };
</del><span class="cx">                 97D2AD0314B823A60093DF32 /* DOMWindowProperty.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 97D2AD0114B823A60093DF32 /* DOMWindowProperty.cpp */; };
</span><span class="cx">                 97D2AD0414B823A60093DF32 /* DOMWindowProperty.h in Headers */ = {isa = PBXBuildFile; fileRef = 97D2AD0214B823A60093DF32 /* DOMWindowProperty.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 97DCE20110807C750057D394 /* HistoryController.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 97DCE1FF10807C750057D394 /* HistoryController.cpp */; };
</span><span class="lines">@@ -10433,8 +10431,6 @@
</span><span class="cx">                 97C1F552122855CB00EDE617 /* AtomicHTMLToken.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AtomicHTMLToken.h; path = parser/AtomicHTMLToken.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 97C471D912F925BC0086354B /* ContentSecurityPolicy.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ContentSecurityPolicy.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 97C471DA12F925BD0086354B /* ContentSecurityPolicy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ContentSecurityPolicy.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><del>-                97C740121603F7A10011FF2D /* FeatureObserver.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = FeatureObserver.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
-                97C740131603F7A10011FF2D /* FeatureObserver.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FeatureObserver.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</del><span class="cx">                 97D2AD0114B823A60093DF32 /* DOMWindowProperty.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DOMWindowProperty.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 97D2AD0214B823A60093DF32 /* DOMWindowProperty.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DOMWindowProperty.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 97DCE1FF10807C750057D394 /* HistoryController.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = HistoryController.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="lines">@@ -16090,8 +16086,6 @@
</span><span class="cx">                                 E0FEF371B27C53EAC1C1FBEE /* EventSource.cpp */,
</span><span class="cx">                                 E0FEF371B17C53EAC1C1FBEE /* EventSource.h */,
</span><span class="cx">                                 E0FEF371B07C53EAC1C1FBEE /* EventSource.idl */,
</span><del>-                                97C740121603F7A10011FF2D /* FeatureObserver.cpp */,
-                                97C740131603F7A10011FF2D /* FeatureObserver.h */,
</del><span class="cx">                                 14993BE30B2F2B1C0050497F /* FocusController.cpp */,
</span><span class="cx">                                 14993BE40B2F2B1C0050497F /* FocusController.h */,
</span><span class="cx">                                 062287830B4DB322000C34DF /* FocusDirection.h */,
</span><span class="lines">@@ -23530,7 +23524,6 @@
</span><span class="cx">                                 6E67D2A71280E8A4008758F7 /* Extensions3DOpenGL.h in Headers */,
</span><span class="cx">                                 44DAB5B215A623580097C1E4 /* Extensions3DOpenGLCommon.h in Headers */,
</span><span class="cx">                                 7728694F14F8882500F484DC /* EXTTextureFilterAnisotropic.h in Headers */,
</span><del>-                                97C740151603F7A10011FF2D /* FeatureObserver.h in Headers */,
</del><span class="cx">                                 A75E8B890E1DE2D6007F2481 /* FEBlend.h in Headers */,
</span><span class="cx">                                 A75E8B8B0E1DE2D6007F2481 /* FEColorMatrix.h in Headers */,
</span><span class="cx">                                 A75E8B8D0E1DE2D6007F2481 /* FEComponentTransfer.h in Headers */,
</span><span class="lines">@@ -26935,7 +26928,6 @@
</span><span class="cx">                                 6E67D2A61280E8A4008758F7 /* Extensions3DOpenGL.cpp in Sources */,
</span><span class="cx">                                 44DAB5B115A623580097C1E4 /* Extensions3DOpenGLCommon.cpp in Sources */,
</span><span class="cx">                                 7728694E14F8882500F484DC /* EXTTextureFilterAnisotropic.cpp in Sources */,
</span><del>-                                97C740141603F7A10011FF2D /* FeatureObserver.cpp in Sources */,
</del><span class="cx">                                 A75E8B880E1DE2D6007F2481 /* FEBlend.cpp in Sources */,
</span><span class="cx">                                 A75E8B8A0E1DE2D6007F2481 /* FEColorMatrix.cpp in Sources */,
</span><span class="cx">                                 A75E8B8C0E1DE2D6007F2481 /* FEComponentTransfer.cpp in Sources */,
</span></span></pre></div>
<a id="trunkSourceWebCoredomEventTargetcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/EventTarget.cpp (164821 => 164822)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/EventTarget.cpp        2014-02-27 20:16:40 UTC (rev 164821)
+++ trunk/Source/WebCore/dom/EventTarget.cpp        2014-02-27 20:24:03 UTC (rev 164822)
</span><span class="lines">@@ -177,41 +177,6 @@
</span><span class="cx">     return emptyAtom;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline bool shouldObserveLegacyType(const AtomicString&amp; legacyTypeName, bool hasLegacyTypeListeners, bool hasNewTypeListeners, FeatureObserver::Feature&amp; feature)
-{
-    if (legacyTypeName == eventNames().webkitTransitionEndEvent) {
-        if (hasLegacyTypeListeners) {
-            if (hasNewTypeListeners)
-                feature = FeatureObserver::PrefixedAndUnprefixedTransitionEndEvent;
-            else
-                feature = FeatureObserver::PrefixedTransitionEndEvent;
-        } else {
-            ASSERT(hasNewTypeListeners);
-            feature = FeatureObserver::UnprefixedTransitionEndEvent;
-        }
-        return true;
-    }
-    return false;
-}
-
-void EventTarget::setupLegacyTypeObserverIfNeeded(const AtomicString&amp; legacyTypeName, bool hasLegacyTypeListeners, bool hasNewTypeListeners)
-{
-    ASSERT(!legacyTypeName.isEmpty());
-    ASSERT(hasLegacyTypeListeners || hasNewTypeListeners);
-
-    ScriptExecutionContext* context = scriptExecutionContext();
-    if (!context || !context-&gt;isDocument())
-        return;
-
-    Document* document = toDocument(context);
-    if (!document-&gt;domWindow())
-        return;
-
-    FeatureObserver::Feature feature;
-    if (shouldObserveLegacyType(legacyTypeName, hasLegacyTypeListeners, hasNewTypeListeners, feature))
-        FeatureObserver::observe(document-&gt;domWindow(), feature);
-}
-
</del><span class="cx"> bool EventTarget::fireEventListeners(Event* event)
</span><span class="cx"> {
</span><span class="cx">     ASSERT(!NoEventDispatchAssertion::isEventDispatchForbidden());
</span><span class="lines">@@ -237,9 +202,6 @@
</span><span class="cx">         event-&gt;setType(typeName);
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    if (!legacyTypeName.isEmpty() &amp;&amp; (legacyListenersVector || listenersVector))
-        setupLegacyTypeObserverIfNeeded(legacyTypeName, !!legacyListenersVector, !!listenersVector);
-
</del><span class="cx">     return !event-&gt;defaultPrevented();
</span><span class="cx"> }
</span><span class="cx">         
</span></span></pre></div>
<a id="trunkSourceWebCoredomEventTargeth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/EventTarget.h (164821 => 164822)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/EventTarget.h        2014-02-27 20:16:40 UTC (rev 164821)
+++ trunk/Source/WebCore/dom/EventTarget.h        2014-02-27 20:24:03 UTC (rev 164822)
</span><span class="lines">@@ -155,7 +155,6 @@
</span><span class="cx">         virtual void derefEventTarget() = 0;
</span><span class="cx">         
</span><span class="cx">         void fireEventListeners(Event*, EventTargetData*, EventListenerVector&amp;);
</span><del>-        void setupLegacyTypeObserverIfNeeded(const AtomicString&amp; legacyTypeName, bool hasLegacyTypeListeners, bool hasNewTypeListeners);
</del><span class="cx"> 
</span><span class="cx">         friend class EventListenerIterator;
</span><span class="cx">     };
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlColorInputTypecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/ColorInputType.cpp (164821 => 164822)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/ColorInputType.cpp        2014-02-27 20:16:40 UTC (rev 164821)
+++ trunk/Source/WebCore/html/ColorInputType.cpp        2014-02-27 20:24:03 UTC (rev 164822)
</span><span class="lines">@@ -69,11 +69,6 @@
</span><span class="cx">     endColorChooser();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void ColorInputType::attach()
-{
-    observeFeatureIfVisible(FeatureObserver::InputTypeColor);
-}
-
</del><span class="cx"> bool ColorInputType::isColorControl() const
</span><span class="cx"> {
</span><span class="cx">     return true;
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlColorInputTypeh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/ColorInputType.h (164821 => 164822)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/ColorInputType.h        2014-02-27 20:16:40 UTC (rev 164821)
+++ trunk/Source/WebCore/html/ColorInputType.h        2014-02-27 20:24:03 UTC (rev 164822)
</span><span class="lines">@@ -51,7 +51,6 @@
</span><span class="cx">     virtual Vector&lt;Color&gt; suggestions() const override;
</span><span class="cx"> 
</span><span class="cx"> private:
</span><del>-    virtual void attach() override;
</del><span class="cx">     virtual bool isColorControl() const override;
</span><span class="cx">     virtual const AtomicString&amp; formControlType() const override;
</span><span class="cx">     virtual bool supportsRequired() const override;
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlDateInputTypecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/DateInputType.cpp (164821 => 164822)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/DateInputType.cpp        2014-02-27 20:16:40 UTC (rev 164821)
+++ trunk/Source/WebCore/html/DateInputType.cpp        2014-02-27 20:24:03 UTC (rev 164822)
</span><span class="lines">@@ -49,11 +49,6 @@
</span><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void DateInputType::attach()
-{
-    observeFeatureIfVisible(FeatureObserver::InputTypeDate);
-}
-
</del><span class="cx"> const AtomicString&amp; DateInputType::formControlType() const
</span><span class="cx"> {
</span><span class="cx">     return InputTypeNames::date();
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlDateInputTypeh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/DateInputType.h (164821 => 164822)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/DateInputType.h        2014-02-27 20:16:40 UTC (rev 164821)
+++ trunk/Source/WebCore/html/DateInputType.h        2014-02-27 20:24:03 UTC (rev 164822)
</span><span class="lines">@@ -41,7 +41,6 @@
</span><span class="cx">     explicit DateInputType(HTMLInputElement&amp;);
</span><span class="cx"> 
</span><span class="cx"> private:
</span><del>-    virtual void attach() override;
</del><span class="cx">     virtual const AtomicString&amp; formControlType() const override;
</span><span class="cx">     virtual DateComponents::Type dateType() const override;
</span><span class="cx">     virtual StepRange createStepRange(AnyStepHandling) const override;
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlDateTimeInputTypecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/DateTimeInputType.cpp (164821 => 164822)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/DateTimeInputType.cpp        2014-02-27 20:16:40 UTC (rev 164821)
+++ trunk/Source/WebCore/html/DateTimeInputType.cpp        2014-02-27 20:24:03 UTC (rev 164822)
</span><span class="lines">@@ -45,11 +45,6 @@
</span><span class="cx"> static const int dateTimeDefaultStepBase = 0;
</span><span class="cx"> static const int dateTimeStepScaleFactor = 1000;
</span><span class="cx"> 
</span><del>-void DateTimeInputType::attach()
-{
-    observeFeatureIfVisible(FeatureObserver::InputTypeDateTime);
-}
-
</del><span class="cx"> const AtomicString&amp; DateTimeInputType::formControlType() const
</span><span class="cx"> {
</span><span class="cx">     return InputTypeNames::datetime();
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlDateTimeInputTypeh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/DateTimeInputType.h (164821 => 164822)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/DateTimeInputType.h        2014-02-27 20:16:40 UTC (rev 164821)
+++ trunk/Source/WebCore/html/DateTimeInputType.h        2014-02-27 20:24:03 UTC (rev 164822)
</span><span class="lines">@@ -42,7 +42,6 @@
</span><span class="cx">     explicit DateTimeInputType(HTMLInputElement&amp; element) : BaseDateTimeInputType(element) { }
</span><span class="cx"> 
</span><span class="cx"> private:
</span><del>-    virtual void attach() override;
</del><span class="cx">     virtual const AtomicString&amp; formControlType() const override;
</span><span class="cx">     virtual DateComponents::Type dateType() const override;
</span><span class="cx">     virtual StepRange createStepRange(AnyStepHandling) const override;
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlDateTimeLocalInputTypecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/DateTimeLocalInputType.cpp (164821 => 164822)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/DateTimeLocalInputType.cpp        2014-02-27 20:16:40 UTC (rev 164821)
+++ trunk/Source/WebCore/html/DateTimeLocalInputType.cpp        2014-02-27 20:24:03 UTC (rev 164822)
</span><span class="lines">@@ -44,11 +44,6 @@
</span><span class="cx"> static const int dateTimeLocalDefaultStepBase = 0;
</span><span class="cx"> static const int dateTimeLocalStepScaleFactor = 1000;
</span><span class="cx"> 
</span><del>-void DateTimeLocalInputType::attach()
-{
-    observeFeatureIfVisible(FeatureObserver::InputTypeDateTimeLocal);
-}
-
</del><span class="cx"> const AtomicString&amp; DateTimeLocalInputType::formControlType() const
</span><span class="cx"> {
</span><span class="cx">     return InputTypeNames::datetimelocal();
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlDateTimeLocalInputTypeh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/DateTimeLocalInputType.h (164821 => 164822)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/DateTimeLocalInputType.h        2014-02-27 20:16:40 UTC (rev 164821)
+++ trunk/Source/WebCore/html/DateTimeLocalInputType.h        2014-02-27 20:24:03 UTC (rev 164822)
</span><span class="lines">@@ -41,7 +41,6 @@
</span><span class="cx">     explicit DateTimeLocalInputType(HTMLInputElement&amp; element) : BaseChooserOnlyDateAndTimeInputType(element) { }
</span><span class="cx"> 
</span><span class="cx"> private:
</span><del>-    virtual void attach() override;
</del><span class="cx">     virtual const AtomicString&amp; formControlType() const override;
</span><span class="cx">     virtual DateComponents::Type dateType() const override;
</span><span class="cx">     virtual double valueAsDate() const override;
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlEmailInputTypecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/EmailInputType.cpp (164821 => 164822)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/EmailInputType.cpp        2014-02-27 20:16:40 UTC (rev 164821)
+++ trunk/Source/WebCore/html/EmailInputType.cpp        2014-02-27 20:24:03 UTC (rev 164822)
</span><span class="lines">@@ -52,12 +52,6 @@
</span><span class="cx">     return !matchOffset &amp;&amp; matchLength == addressLength;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void EmailInputType::attach()
-{
-    TextFieldInputType::attach();
-    observeFeatureIfVisible(FeatureObserver::InputTypeEmail);
-}
-
</del><span class="cx"> const AtomicString&amp; EmailInputType::formControlType() const
</span><span class="cx"> {
</span><span class="cx">     return InputTypeNames::email();
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlEmailInputTypeh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/EmailInputType.h (164821 => 164822)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/EmailInputType.h        2014-02-27 20:16:40 UTC (rev 164821)
+++ trunk/Source/WebCore/html/EmailInputType.h        2014-02-27 20:24:03 UTC (rev 164822)
</span><span class="lines">@@ -40,7 +40,6 @@
</span><span class="cx">     explicit EmailInputType(HTMLInputElement&amp; element) : BaseTextInputType(element) { }
</span><span class="cx"> 
</span><span class="cx"> private:
</span><del>-    virtual void attach() override;
</del><span class="cx">     virtual const AtomicString&amp; formControlType() const override;
</span><span class="cx">     virtual bool typeMismatchFor(const String&amp;) const override;
</span><span class="cx">     virtual bool typeMismatch() const override;
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLDataListElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLDataListElement.cpp (164821 => 164822)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLDataListElement.cpp        2014-02-27 20:16:40 UTC (rev 164821)
+++ trunk/Source/WebCore/html/HTMLDataListElement.cpp        2014-02-27 20:24:03 UTC (rev 164822)
</span><span class="lines">@@ -33,7 +33,6 @@
</span><span class="cx"> #if ENABLE(DATALIST_ELEMENT)
</span><span class="cx"> #include &quot;HTMLDataListElement.h&quot;
</span><span class="cx"> 
</span><del>-#include &quot;FeatureObserver.h&quot;
</del><span class="cx"> #include &quot;HTMLNames.h&quot;
</span><span class="cx"> #include &quot;IdTargetObserverRegistry.h&quot;
</span><span class="cx"> 
</span><span class="lines">@@ -46,7 +45,6 @@
</span><span class="cx"> 
</span><span class="cx"> PassRefPtr&lt;HTMLDataListElement&gt; HTMLDataListElement::create(const QualifiedName&amp; tagName, Document&amp; document)
</span><span class="cx"> {
</span><del>-    FeatureObserver::observe(&amp;document, FeatureObserver::DataListElement);
</del><span class="cx">     return adoptRef(new HTMLDataListElement(tagName, document));
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLFormControlElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLFormControlElement.cpp (164821 => 164822)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLFormControlElement.cpp        2014-02-27 20:16:40 UTC (rev 164821)
+++ trunk/Source/WebCore/html/HTMLFormControlElement.cpp        2014-02-27 20:24:03 UTC (rev 164822)
</span><span class="lines">@@ -29,7 +29,6 @@
</span><span class="cx"> #include &quot;Event.h&quot;
</span><span class="cx"> #include &quot;EventHandler.h&quot;
</span><span class="cx"> #include &quot;EventNames.h&quot;
</span><del>-#include &quot;FeatureObserver.h&quot;
</del><span class="cx"> #include &quot;Frame.h&quot;
</span><span class="cx"> #include &quot;HTMLFieldSetElement.h&quot;
</span><span class="cx"> #include &quot;HTMLFormElement.h&quot;
</span><span class="lines">@@ -124,10 +123,9 @@
</span><span class="cx"> 
</span><span class="cx"> void HTMLFormControlElement::parseAttribute(const QualifiedName&amp; name, const AtomicString&amp; value)
</span><span class="cx"> {
</span><del>-    if (name == formAttr) {
</del><ins>+    if (name == formAttr)
</ins><span class="cx">         formAttributeChanged();
</span><del>-        FeatureObserver::observe(&amp;document(), FeatureObserver::FormAttribute);
-    } else if (name == disabledAttr) {
</del><ins>+    else if (name == disabledAttr) {
</ins><span class="cx">         bool oldDisabled = m_disabled;
</span><span class="cx">         m_disabled = !value.isNull();
</span><span class="cx">         if (oldDisabled != m_disabled)
</span><span class="lines">@@ -142,10 +140,6 @@
</span><span class="cx">         m_isRequired = !value.isNull();
</span><span class="cx">         if (wasRequired != m_isRequired)
</span><span class="cx">             requiredAttributeChanged();
</span><del>-        FeatureObserver::observe(&amp;document(), FeatureObserver::RequiredAttribute);
-    } else if (name == autofocusAttr) {
-        HTMLElement::parseAttribute(name, value);
-        FeatureObserver::observe(&amp;document(), FeatureObserver::AutoFocusAttribute);
</del><span class="cx">     } else
</span><span class="cx">         HTMLElement::parseAttribute(name, value);
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLInputElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLInputElement.cpp (164821 => 164822)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLInputElement.cpp        2014-02-27 20:16:40 UTC (rev 164821)
+++ trunk/Source/WebCore/html/HTMLInputElement.cpp        2014-02-27 20:24:03 UTC (rev 164822)
</span><span class="lines">@@ -688,34 +688,26 @@
</span><span class="cx">             setNeedsStyleRecalc(ReconstructRenderTree);
</span><span class="cx">         else
</span><span class="cx">             setNeedsStyleRecalc();
</span><del>-        FeatureObserver::observe(&amp;document(), FeatureObserver::ResultsAttribute);
</del><span class="cx">     } else if (name == autosaveAttr) {
</span><span class="cx">         setNeedsStyleRecalc();
</span><del>-        FeatureObserver::observe(&amp;document(), FeatureObserver::AutoSaveAttribute);
</del><span class="cx">     } else if (name == incrementalAttr) {
</span><span class="cx">         setNeedsStyleRecalc();
</span><del>-        FeatureObserver::observe(&amp;document(), FeatureObserver::IncrementalAttribute);
</del><span class="cx">     } else if (name == minAttr) {
</span><span class="cx">         m_inputType-&gt;minOrMaxAttributeChanged();
</span><span class="cx">         setNeedsValidityCheck();
</span><del>-        FeatureObserver::observe(&amp;document(), FeatureObserver::MinAttribute);
</del><span class="cx">     } else if (name == maxAttr) {
</span><span class="cx">         m_inputType-&gt;minOrMaxAttributeChanged();
</span><span class="cx">         setNeedsValidityCheck();
</span><del>-        FeatureObserver::observe(&amp;document(), FeatureObserver::MaxAttribute);
</del><span class="cx">     } else if (name == multipleAttr) {
</span><span class="cx">         m_inputType-&gt;multipleAttributeChanged();
</span><span class="cx">         setNeedsValidityCheck();
</span><span class="cx">     } else if (name == stepAttr) {
</span><span class="cx">         m_inputType-&gt;stepAttributeChanged();
</span><span class="cx">         setNeedsValidityCheck();
</span><del>-        FeatureObserver::observe(&amp;document(), FeatureObserver::StepAttribute);
</del><span class="cx">     } else if (name == patternAttr) {
</span><span class="cx">         setNeedsValidityCheck();
</span><del>-        FeatureObserver::observe(&amp;document(), FeatureObserver::PatternAttribute);
</del><span class="cx">     } else if (name == precisionAttr) {
</span><span class="cx">         setNeedsValidityCheck();
</span><del>-        FeatureObserver::observe(&amp;document(), FeatureObserver::PrecisionAttribute);
</del><span class="cx">     } else if (name == disabledAttr) {
</span><span class="cx">         HTMLTextFormControlElement::parseAttribute(name, value);
</span><span class="cx">         m_inputType-&gt;disabledAttributeChanged();
</span><span class="lines">@@ -730,7 +722,6 @@
</span><span class="cx">             resetListAttributeTargetObserver();
</span><span class="cx">             listAttributeTargetChanged();
</span><span class="cx">         }
</span><del>-        FeatureObserver::observe(&amp;document(), FeatureObserver::ListAttribute);
</del><span class="cx">     }
</span><span class="cx"> #endif
</span><span class="cx"> #if ENABLE(INPUT_SPEECH)
</span><span class="lines">@@ -745,7 +736,6 @@
</span><span class="cx">         setNeedsStyleRecalc(ReconstructRenderTree);
</span><span class="cx"> 
</span><span class="cx">         setFormControlValueMatchesRenderer(false);
</span><del>-        FeatureObserver::observe(&amp;document(), FeatureObserver::PrefixedSpeechAttribute);
</del><span class="cx">     } else if (name == onwebkitspeechchangeAttr)
</span><span class="cx">         setAttributeEventListener(eventNames().webkitspeechchangeEvent, name, value);
</span><span class="cx"> #endif
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLTextFormControlElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLTextFormControlElement.cpp (164821 => 164822)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLTextFormControlElement.cpp        2014-02-27 20:16:40 UTC (rev 164821)
+++ trunk/Source/WebCore/html/HTMLTextFormControlElement.cpp        2014-02-27 20:24:03 UTC (rev 164822)
</span><span class="lines">@@ -31,7 +31,6 @@
</span><span class="cx"> #include &quot;Document.h&quot;
</span><span class="cx"> #include &quot;Event.h&quot;
</span><span class="cx"> #include &quot;EventNames.h&quot;
</span><del>-#include &quot;FeatureObserver.h&quot;
</del><span class="cx"> #include &quot;Frame.h&quot;
</span><span class="cx"> #include &quot;FrameSelection.h&quot;
</span><span class="cx"> #include &quot;HTMLBRElement.h&quot;
</span><span class="lines">@@ -486,10 +485,9 @@
</span><span class="cx"> 
</span><span class="cx"> void HTMLTextFormControlElement::parseAttribute(const QualifiedName&amp; name, const AtomicString&amp; value)
</span><span class="cx"> {
</span><del>-    if (name == placeholderAttr) {
</del><ins>+    if (name == placeholderAttr)
</ins><span class="cx">         updatePlaceholderVisibility(true);
</span><del>-        FeatureObserver::observe(&amp;document(), FeatureObserver::PlaceholderAttribute);
-    } else
</del><ins>+    else
</ins><span class="cx">         HTMLFormControlElementWithState::parseAttribute(name, value);
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlInputTypecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/InputType.cpp (164821 => 164822)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/InputType.cpp        2014-02-27 20:16:40 UTC (rev 164821)
+++ trunk/Source/WebCore/html/InputType.cpp        2014-02-27 20:24:03 UTC (rev 164822)
</span><span class="lines">@@ -1150,12 +1150,4 @@
</span><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InputType::observeFeatureIfVisible(FeatureObserver::Feature feature) const
-{
-    if (RenderStyle* style = element().renderStyle()) {
-        if (style-&gt;visibility() != HIDDEN)
-            FeatureObserver::observe(&amp;element().document(), feature);
-    }
-}
-
</del><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlInputTypeh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/InputType.h (164821 => 164822)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/InputType.h        2014-02-27 20:16:40 UTC (rev 164821)
+++ trunk/Source/WebCore/html/InputType.h        2014-02-27 20:24:03 UTC (rev 164822)
</span><span class="lines">@@ -33,7 +33,6 @@
</span><span class="cx"> #ifndef InputType_h
</span><span class="cx"> #define InputType_h
</span><span class="cx"> 
</span><del>-#include &quot;FeatureObserver.h&quot;
</del><span class="cx"> #include &quot;HTMLTextFormControlElement.h&quot;
</span><span class="cx"> #include &quot;RenderPtr.h&quot;
</span><span class="cx"> #include &quot;StepRange.h&quot;
</span><span class="lines">@@ -325,7 +324,6 @@
</span><span class="cx">     HTMLInputElement&amp; element() const { return m_element; }
</span><span class="cx">     Chrome* chrome() const;
</span><span class="cx">     Decimal parseToNumberOrNaN(const String&amp;) const;
</span><del>-    void observeFeatureIfVisible(FeatureObserver::Feature) const;
</del><span class="cx"> 
</span><span class="cx"> private:
</span><span class="cx">     // Helper for stepUp()/stepDown(). Adds step value * count to the current value.
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlMonthInputTypecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/MonthInputType.cpp (164821 => 164822)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/MonthInputType.cpp        2014-02-27 20:16:40 UTC (rev 164821)
+++ trunk/Source/WebCore/html/MonthInputType.cpp        2014-02-27 20:24:03 UTC (rev 164822)
</span><span class="lines">@@ -47,11 +47,6 @@
</span><span class="cx"> static const int monthDefaultStepBase = 0;
</span><span class="cx"> static const int monthStepScaleFactor = 1;
</span><span class="cx"> 
</span><del>-void MonthInputType::attach()
-{
-    observeFeatureIfVisible(FeatureObserver::InputTypeMonth);
-}
-
</del><span class="cx"> const AtomicString&amp; MonthInputType::formControlType() const
</span><span class="cx"> {
</span><span class="cx">     return InputTypeNames::month();
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlMonthInputTypeh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/MonthInputType.h (164821 => 164822)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/MonthInputType.h        2014-02-27 20:16:40 UTC (rev 164821)
+++ trunk/Source/WebCore/html/MonthInputType.h        2014-02-27 20:24:03 UTC (rev 164822)
</span><span class="lines">@@ -41,7 +41,6 @@
</span><span class="cx">     explicit MonthInputType(HTMLInputElement&amp; element) : BaseChooserOnlyDateAndTimeInputType(element) { }
</span><span class="cx"> 
</span><span class="cx"> private:
</span><del>-    virtual void attach() override;
</del><span class="cx">     virtual const AtomicString&amp; formControlType() const override;
</span><span class="cx">     virtual DateComponents::Type dateType() const override;
</span><span class="cx">     virtual double valueAsDate() const override;
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlNumberInputTypecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/NumberInputType.cpp (164821 => 164822)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/NumberInputType.cpp        2014-02-27 20:16:40 UTC (rev 164821)
+++ trunk/Source/WebCore/html/NumberInputType.cpp        2014-02-27 20:24:03 UTC (rev 164822)
</span><span class="lines">@@ -92,12 +92,6 @@
</span><span class="cx">     return RealNumberRenderSize(sizeOfSign + sizeOfZero , numberOfZeroAfterDecimalPoint + sizeOfDigits);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void NumberInputType::attach()
-{
-    TextFieldInputType::attach();
-    observeFeatureIfVisible(FeatureObserver::InputTypeNumber);
-}
-
</del><span class="cx"> const AtomicString&amp; NumberInputType::formControlType() const
</span><span class="cx"> {
</span><span class="cx">     return InputTypeNames::number();
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlNumberInputTypeh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/NumberInputType.h (164821 => 164822)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/NumberInputType.h        2014-02-27 20:16:40 UTC (rev 164821)
+++ trunk/Source/WebCore/html/NumberInputType.h        2014-02-27 20:24:03 UTC (rev 164822)
</span><span class="lines">@@ -40,7 +40,6 @@
</span><span class="cx">     explicit NumberInputType(HTMLInputElement&amp; element) : TextFieldInputType(element) { }
</span><span class="cx"> 
</span><span class="cx"> private:
</span><del>-    virtual void attach() override;
</del><span class="cx">     virtual const AtomicString&amp; formControlType() const override;
</span><span class="cx">     virtual void setValue(const String&amp;, bool valueChanged, TextFieldEventBehavior) override;
</span><span class="cx">     virtual double valueAsDouble() const override;
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlRangeInputTypecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/RangeInputType.cpp (164821 => 164822)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/RangeInputType.cpp        2014-02-27 20:16:40 UTC (rev 164821)
+++ trunk/Source/WebCore/html/RangeInputType.cpp        2014-02-27 20:24:03 UTC (rev 164822)
</span><span class="lines">@@ -81,11 +81,6 @@
</span><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void RangeInputType::attach()
-{
-    observeFeatureIfVisible(FeatureObserver::InputTypeRange);
-}
-
</del><span class="cx"> bool RangeInputType::isRangeControl() const
</span><span class="cx"> {
</span><span class="cx">     return true;
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlRangeInputTypeh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/RangeInputType.h (164821 => 164822)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/RangeInputType.h        2014-02-27 20:16:40 UTC (rev 164821)
+++ trunk/Source/WebCore/html/RangeInputType.h        2014-02-27 20:24:03 UTC (rev 164822)
</span><span class="lines">@@ -42,7 +42,6 @@
</span><span class="cx">     explicit RangeInputType(HTMLInputElement&amp;);
</span><span class="cx"> 
</span><span class="cx"> private:
</span><del>-    virtual void attach() override;
</del><span class="cx">     virtual bool isRangeControl() const override;
</span><span class="cx">     virtual const AtomicString&amp; formControlType() const override;
</span><span class="cx">     virtual double valueAsDouble() const override;
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlSearchInputTypecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/SearchInputType.cpp (164821 => 164822)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/SearchInputType.cpp        2014-02-27 20:16:40 UTC (rev 164821)
+++ trunk/Source/WebCore/html/SearchInputType.cpp        2014-02-27 20:24:03 UTC (rev 164822)
</span><span class="lines">@@ -51,12 +51,6 @@
</span><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void SearchInputType::attach()
-{
-    TextFieldInputType::attach();
-    observeFeatureIfVisible(FeatureObserver::InputTypeSearch);
-}
-
</del><span class="cx"> void SearchInputType::addSearchResult()
</span><span class="cx"> {
</span><span class="cx"> #if !PLATFORM(IOS)
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlSearchInputTypeh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/SearchInputType.h (164821 => 164822)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/SearchInputType.h        2014-02-27 20:16:40 UTC (rev 164821)
+++ trunk/Source/WebCore/html/SearchInputType.h        2014-02-27 20:24:03 UTC (rev 164822)
</span><span class="lines">@@ -46,7 +46,6 @@
</span><span class="cx">     void stopSearchEventTimer();
</span><span class="cx"> 
</span><span class="cx"> private:
</span><del>-    virtual void attach() override;
</del><span class="cx">     virtual void addSearchResult() override;
</span><span class="cx">     virtual RenderPtr&lt;RenderElement&gt; createInputRenderer(PassRef&lt;RenderStyle&gt;) override;
</span><span class="cx">     virtual const AtomicString&amp; formControlType() const override;
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlTelephoneInputTypecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/TelephoneInputType.cpp (164821 => 164822)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/TelephoneInputType.cpp        2014-02-27 20:16:40 UTC (rev 164821)
+++ trunk/Source/WebCore/html/TelephoneInputType.cpp        2014-02-27 20:24:03 UTC (rev 164822)
</span><span class="lines">@@ -36,12 +36,6 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-void TelephoneInputType::attach()
-{
-    TextFieldInputType::attach();
-    observeFeatureIfVisible(FeatureObserver::InputTypeTel);
-}
-
</del><span class="cx"> const AtomicString&amp; TelephoneInputType::formControlType() const
</span><span class="cx"> {
</span><span class="cx">     return InputTypeNames::telephone();
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlTelephoneInputTypeh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/TelephoneInputType.h (164821 => 164822)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/TelephoneInputType.h        2014-02-27 20:16:40 UTC (rev 164821)
+++ trunk/Source/WebCore/html/TelephoneInputType.h        2014-02-27 20:24:03 UTC (rev 164822)
</span><span class="lines">@@ -40,7 +40,6 @@
</span><span class="cx">     explicit TelephoneInputType(HTMLInputElement&amp; element) : BaseTextInputType(element) { }
</span><span class="cx"> 
</span><span class="cx"> private:
</span><del>-    virtual void attach() override;
</del><span class="cx">     virtual const AtomicString&amp; formControlType() const override;
</span><span class="cx">     virtual bool shouldRespectSpeechAttribute() override;
</span><span class="cx">     virtual bool isTelephoneField() const override;
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlTextInputTypecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/TextInputType.cpp (164821 => 164822)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/TextInputType.cpp        2014-02-27 20:16:40 UTC (rev 164821)
+++ trunk/Source/WebCore/html/TextInputType.cpp        2014-02-27 20:24:03 UTC (rev 164822)
</span><span class="lines">@@ -39,16 +39,6 @@
</span><span class="cx"> 
</span><span class="cx"> using namespace HTMLNames;
</span><span class="cx"> 
</span><del>-void TextInputType::attach()
-{
-    TextFieldInputType::attach();
-    const AtomicString&amp; type = element().fastGetAttribute(typeAttr);
-    if (equalIgnoringCase(type, InputTypeNames::datetime()))
-        observeFeatureIfVisible(FeatureObserver::InputTypeDateTimeFallback);
-    else if (equalIgnoringCase(type, InputTypeNames::week()))
-        observeFeatureIfVisible(FeatureObserver::InputTypeWeekFallback);
-}
-
</del><span class="cx"> const AtomicString&amp; TextInputType::formControlType() const
</span><span class="cx"> {
</span><span class="cx">     return InputTypeNames::text();
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlTextInputTypeh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/TextInputType.h (164821 => 164822)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/TextInputType.h        2014-02-27 20:16:40 UTC (rev 164821)
+++ trunk/Source/WebCore/html/TextInputType.h        2014-02-27 20:24:03 UTC (rev 164822)
</span><span class="lines">@@ -40,7 +40,6 @@
</span><span class="cx">     explicit TextInputType(HTMLInputElement&amp; element) : BaseTextInputType(element) { }
</span><span class="cx"> 
</span><span class="cx"> private:
</span><del>-    virtual void attach() override;
</del><span class="cx">     virtual const AtomicString&amp; formControlType() const override;
</span><span class="cx">     virtual bool shouldRespectSpeechAttribute() override;
</span><span class="cx"> };
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlTimeInputTypecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/TimeInputType.cpp (164821 => 164822)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/TimeInputType.cpp        2014-02-27 20:16:40 UTC (rev 164821)
+++ trunk/Source/WebCore/html/TimeInputType.cpp        2014-02-27 20:24:03 UTC (rev 164822)
</span><span class="lines">@@ -52,11 +52,6 @@
</span><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void TimeInputType::attach()
-{
-    observeFeatureIfVisible(FeatureObserver::InputTypeTime);
-}
-
</del><span class="cx"> const AtomicString&amp; TimeInputType::formControlType() const
</span><span class="cx"> {
</span><span class="cx">     return InputTypeNames::time();
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlTimeInputTypeh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/TimeInputType.h (164821 => 164822)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/TimeInputType.h        2014-02-27 20:16:40 UTC (rev 164821)
+++ trunk/Source/WebCore/html/TimeInputType.h        2014-02-27 20:24:03 UTC (rev 164822)
</span><span class="lines">@@ -41,7 +41,6 @@
</span><span class="cx">     explicit TimeInputType(HTMLInputElement&amp;);
</span><span class="cx"> 
</span><span class="cx"> private:
</span><del>-    virtual void attach() override;
</del><span class="cx">     virtual const AtomicString&amp; formControlType() const override;
</span><span class="cx">     virtual DateComponents::Type dateType() const override;
</span><span class="cx">     virtual Decimal defaultValueForStepUp() const override;
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlURLInputTypecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/URLInputType.cpp (164821 => 164822)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/URLInputType.cpp        2014-02-27 20:16:40 UTC (rev 164821)
+++ trunk/Source/WebCore/html/URLInputType.cpp        2014-02-27 20:24:03 UTC (rev 164822)
</span><span class="lines">@@ -38,12 +38,6 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-void URLInputType::attach()
-{
-    TextFieldInputType::attach();
-    observeFeatureIfVisible(FeatureObserver::InputTypeURL);
-}
-
</del><span class="cx"> const AtomicString&amp; URLInputType::formControlType() const
</span><span class="cx"> {
</span><span class="cx">     return InputTypeNames::url();
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlURLInputTypeh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/URLInputType.h (164821 => 164822)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/URLInputType.h        2014-02-27 20:16:40 UTC (rev 164821)
+++ trunk/Source/WebCore/html/URLInputType.h        2014-02-27 20:24:03 UTC (rev 164822)
</span><span class="lines">@@ -40,7 +40,6 @@
</span><span class="cx">     explicit URLInputType(HTMLInputElement&amp; element) : BaseTextInputType(element) { }
</span><span class="cx"> 
</span><span class="cx"> private:
</span><del>-    virtual void attach() override;
</del><span class="cx">     virtual const AtomicString&amp; formControlType() const override;
</span><span class="cx">     virtual bool typeMismatchFor(const String&amp;) const override;
</span><span class="cx">     virtual bool typeMismatch() const override;
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlWeekInputTypecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/WeekInputType.cpp (164821 => 164822)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/WeekInputType.cpp        2014-02-27 20:16:40 UTC (rev 164821)
+++ trunk/Source/WebCore/html/WeekInputType.cpp        2014-02-27 20:24:03 UTC (rev 164822)
</span><span class="lines">@@ -44,11 +44,6 @@
</span><span class="cx"> static const int weekDefaultStep = 1;
</span><span class="cx"> static const int weekStepScaleFactor = 604800000;
</span><span class="cx"> 
</span><del>-void WeekInputType::attach()
-{
-    observeFeatureIfVisible(FeatureObserver::InputTypeWeek);
-}
-
</del><span class="cx"> const AtomicString&amp; WeekInputType::formControlType() const
</span><span class="cx"> {
</span><span class="cx">     return InputTypeNames::week();
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlWeekInputTypeh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/WeekInputType.h (164821 => 164822)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/WeekInputType.h        2014-02-27 20:16:40 UTC (rev 164821)
+++ trunk/Source/WebCore/html/WeekInputType.h        2014-02-27 20:24:03 UTC (rev 164822)
</span><span class="lines">@@ -41,7 +41,6 @@
</span><span class="cx">     explicit WeekInputType(HTMLInputElement&amp; element) : BaseChooserOnlyDateAndTimeInputType(element) { }
</span><span class="cx"> 
</span><span class="cx"> private:
</span><del>-    virtual void attach() override;
</del><span class="cx">     virtual const AtomicString&amp; formControlType() const override;
</span><span class="cx">     virtual DateComponents::Type dateType() const override;
</span><span class="cx">     virtual StepRange createStepRange(AnyStepHandling) const override;
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderDocumentLoadercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/DocumentLoader.cpp (164821 => 164822)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/DocumentLoader.cpp        2014-02-27 20:16:40 UTC (rev 164821)
+++ trunk/Source/WebCore/loader/DocumentLoader.cpp        2014-02-27 20:24:03 UTC (rev 164822)
</span><span class="lines">@@ -635,10 +635,8 @@
</span><span class="cx">     if (m_isLoadingMultipartContent) {
</span><span class="cx">         setupForReplace();
</span><span class="cx">         m_mainResource-&gt;clear();
</span><del>-    } else if (response.isMultipart()) {
-        FeatureObserver::observe(m_frame-&gt;document(), FeatureObserver::MultipartMainResource);
</del><ins>+    } else if (response.isMultipart())
</ins><span class="cx">         m_isLoadingMultipartContent = true;
</span><del>-    }
</del><span class="cx"> 
</span><span class="cx">     m_response = response;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderFrameLoadercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/FrameLoader.cpp (164821 => 164822)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/FrameLoader.cpp        2014-02-27 20:16:40 UTC (rev 164821)
+++ trunk/Source/WebCore/loader/FrameLoader.cpp        2014-02-27 20:24:03 UTC (rev 164822)
</span><span class="lines">@@ -3036,8 +3036,6 @@
</span><span class="cx"> 
</span><span class="cx"> bool FrameLoader::shouldInterruptLoadForXFrameOptions(const String&amp; content, const URL&amp; url, unsigned long requestIdentifier)
</span><span class="cx"> {
</span><del>-    FeatureObserver::observe(m_frame.document(), FeatureObserver::XFrameOptions);
-
</del><span class="cx">     Frame&amp; topFrame = m_frame.tree().top();
</span><span class="cx">     if (&amp;m_frame == &amp;topFrame)
</span><span class="cx">         return false;
</span><span class="lines">@@ -3046,15 +3044,12 @@
</span><span class="cx"> 
</span><span class="cx">     switch (disposition) {
</span><span class="cx">     case XFrameOptionsSameOrigin: {
</span><del>-        FeatureObserver::observe(m_frame.document(), FeatureObserver::XFrameOptionsSameOrigin);
</del><span class="cx">         RefPtr&lt;SecurityOrigin&gt; origin = SecurityOrigin::create(url);
</span><span class="cx">         if (!origin-&gt;isSameSchemeHostPort(topFrame.document()-&gt;securityOrigin()))
</span><span class="cx">             return true;
</span><span class="cx">         for (Frame* frame = m_frame.tree().parent(); frame; frame = frame-&gt;tree().parent()) {
</span><del>-            if (!origin-&gt;isSameSchemeHostPort(frame-&gt;document()-&gt;securityOrigin())) {
-                FeatureObserver::observe(m_frame.document(), FeatureObserver::XFrameOptionsSameOriginWithBadAncestorChain);
</del><ins>+            if (!origin-&gt;isSameSchemeHostPort(frame-&gt;document()-&gt;securityOrigin()))
</ins><span class="cx">                 break;
</span><del>-            }
</del><span class="cx">         }
</span><span class="cx">         return false;
</span><span class="cx">     }
</span><span class="lines">@@ -3362,12 +3357,10 @@
</span><span class="cx"> 
</span><span class="cx">     InspectorInstrumentation::didCommitLoad(&amp;m_frame, m_documentLoader.get());
</span><span class="cx"> 
</span><del>-    if (m_frame.isMainFrame()) {
-        m_frame.page()-&gt;featureObserver()-&gt;didCommitLoad();
</del><span class="cx"> #if ENABLE(REMOTE_INSPECTOR)
</span><ins>+    if (m_frame.isMainFrame())
</ins><span class="cx">         m_frame.page()-&gt;remoteInspectorInformationDidChange();
</span><span class="cx"> #endif
</span><del>-    }
</del><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void FrameLoader::tellClientAboutPastMemoryCacheLoads()
</span></span></pre></div>
<a id="trunkSourceWebCorepageContentSecurityPolicycpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/ContentSecurityPolicy.cpp (164821 => 164822)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/ContentSecurityPolicy.cpp        2014-02-27 20:16:40 UTC (rev 164821)
+++ trunk/Source/WebCore/page/ContentSecurityPolicy.cpp        2014-02-27 20:24:03 UTC (rev 164822)
</span><span class="lines">@@ -30,7 +30,6 @@
</span><span class="cx"> #include &quot;Console.h&quot;
</span><span class="cx"> #include &quot;DOMStringList.h&quot;
</span><span class="cx"> #include &quot;Document.h&quot;
</span><del>-#include &quot;FeatureObserver.h&quot;
</del><span class="cx"> #include &quot;FormData.h&quot;
</span><span class="cx"> #include &quot;FormDataList.h&quot;
</span><span class="cx"> #include &quot;Frame.h&quot;
</span><span class="lines">@@ -155,22 +154,6 @@
</span><span class="cx">     );
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-FeatureObserver::Feature getFeatureObserverType(ContentSecurityPolicy::HeaderType type)
-{
-    switch (type) {
-    case ContentSecurityPolicy::PrefixedEnforce:
-        return FeatureObserver::PrefixedContentSecurityPolicy;
-    case ContentSecurityPolicy::Enforce:
-        return FeatureObserver::ContentSecurityPolicy;
-    case ContentSecurityPolicy::PrefixedReport:
-        return FeatureObserver::PrefixedContentSecurityPolicyReportOnly;
-    case ContentSecurityPolicy::Report:
-        return FeatureObserver::ContentSecurityPolicyReportOnly;
-    }
-    ASSERT_NOT_REACHED();
-    return FeatureObserver::NumberOfFeatures;
-}
-
</del><span class="cx"> const ScriptCallFrame&amp; getFirstNonNativeFrame(PassRefPtr&lt;ScriptCallStack&gt; stack)
</span><span class="cx"> {
</span><span class="cx">     int frameNumber = 0;
</span><span class="lines">@@ -1467,12 +1450,6 @@
</span><span class="cx"> 
</span><span class="cx"> void ContentSecurityPolicy::didReceiveHeader(const String&amp; header, HeaderType type)
</span><span class="cx"> {
</span><del>-    if (m_scriptExecutionContext-&gt;isDocument()) {
-        Document* document = toDocument(m_scriptExecutionContext);
-        if (document-&gt;domWindow())
-            FeatureObserver::observe(document-&gt;domWindow(), getFeatureObserverType(type));
-    }
-
</del><span class="cx">     // RFC2616, section 4.2 specifies that headers appearing multiple times can
</span><span class="cx">     // be combined with a comma. Walk the header string, and parse each comma
</span><span class="cx">     // separated chunk as a separate header.
</span></span></pre></div>
<a id="trunkSourceWebCorepageEventHandlercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/EventHandler.cpp (164821 => 164822)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/EventHandler.cpp        2014-02-27 20:16:40 UTC (rev 164821)
+++ trunk/Source/WebCore/page/EventHandler.cpp        2014-02-27 20:24:03 UTC (rev 164822)
</span><span class="lines">@@ -1316,10 +1316,9 @@
</span><span class="cx">     const Cursor&amp; iBeam = horizontalText ? iBeamCursor() : verticalTextCursor();
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(CURSOR_VISIBILITY)
</span><del>-    if (style &amp;&amp; style-&gt;cursorVisibility() == CursorVisibilityAutoHide) {
-        FeatureObserver::observe(m_frame.document(), FeatureObserver::CursorVisibility);
</del><ins>+    if (style &amp;&amp; style-&gt;cursorVisibility() == CursorVisibilityAutoHide)
</ins><span class="cx">         startAutoHideCursorTimer();
</span><del>-    } else
</del><ins>+    else
</ins><span class="cx">         cancelAutoHideCursorTimer();
</span><span class="cx"> #endif
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorepageFeatureObservercpp"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebCore/page/FeatureObserver.cpp (164821 => 164822)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/FeatureObserver.cpp        2014-02-27 20:16:40 UTC (rev 164821)
+++ trunk/Source/WebCore/page/FeatureObserver.cpp        2014-02-27 20:24:03 UTC (rev 164822)
</span><span class="lines">@@ -1,78 +0,0 @@
</span><del>-/*
- * Copyright (C) 2012 Google, 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 GOOGLE 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 COMPUTER, 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.
- */
-
-#include &quot;config.h&quot;
-#include &quot;FeatureObserver.h&quot;
-
-#include &quot;DOMWindow.h&quot;
-#include &quot;Document.h&quot;
-#include &quot;HistogramSupport.h&quot;
-#include &quot;Page.h&quot;
-
-namespace WebCore {
-
-FeatureObserver::FeatureObserver()
-{
-}
-
-FeatureObserver::~FeatureObserver()
-{
-    updateMeasurements();
-}
-
-void FeatureObserver::updateMeasurements()
-{
-    if (!m_featureBits)
-        return;
-
-    // Clearing feature bits is timing sensitive. Ports other than chromium do not use HistogramSupport,
-    // and pull the results on certain navigation events instead.
-    m_featureBits-&gt;clearAll();
-}
-
-void FeatureObserver::didCommitLoad()
-{
-    updateMeasurements();
-}
-
-void FeatureObserver::observe(Document* document, Feature feature)
-{
-    if (!document)
-        return;
-
-    Page* page = document-&gt;page();
-    if (!page)
-        return;
-
-    page-&gt;featureObserver()-&gt;didObserve(feature);
-}
-
-void FeatureObserver::observe(DOMWindow* domWindow, Feature feature)
-{
-    ASSERT(domWindow);
-    observe(domWindow-&gt;document(), feature);
-}
-
-} // namespace WebCore
</del></span></pre></div>
<a id="trunkSourceWebCorepageFeatureObserverh"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebCore/page/FeatureObserver.h (164821 => 164822)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/FeatureObserver.h        2014-02-27 20:16:40 UTC (rev 164821)
+++ trunk/Source/WebCore/page/FeatureObserver.h        2014-02-27 20:24:03 UTC (rev 164822)
</span><span class="lines">@@ -1,139 +0,0 @@
</span><del>-/*
- * Copyright (C) 2012 Google, 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 GOOGLE 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 COMPUTER, 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.
- */
-
-#ifndef FeatureObserver_h
-#define FeatureObserver_h
-
-#include &lt;wtf/BitVector.h&gt;
-#include &lt;wtf/Noncopyable.h&gt;
-#include &lt;wtf/OwnPtr.h&gt;
-#include &lt;wtf/PassOwnPtr.h&gt;
-
-namespace WebCore {
-
-class DOMWindow;
-class Document;
-
-class FeatureObserver {
-    WTF_MAKE_NONCOPYABLE(FeatureObserver);
-public:
-    FeatureObserver();
-    ~FeatureObserver();
-
-    enum Feature {
-        PageDestruction,
-        LegacyNotifications,
-        MultipartMainResource,
-        PrefixedIndexedDB,
-        WorkerStart,
-        SharedWorkerStart,
-        LegacyWebAudio,
-        WebAudioStart,
-        PrefixedContentSecurityPolicy,
-        UnprefixedIndexedDB,
-        OpenWebDatabase,
-        UnusedSlot01, // We used this slot for LegacyHTMLNotifications.
-        LegacyTextNotifications,
-        UnprefixedRequestAnimationFrame,
-        PrefixedRequestAnimationFrame,
-        ContentSecurityPolicy,
-        ContentSecurityPolicyReportOnly,
-        PrefixedContentSecurityPolicyReportOnly,
-        PrefixedTransitionEndEvent,
-        UnprefixedTransitionEndEvent,
-        PrefixedAndUnprefixedTransitionEndEvent,
-        AutoFocusAttribute,
-        AutoSaveAttribute,
-        DataListElement,
-        FormAttribute,
-        IncrementalAttribute,
-        InputTypeColor,
-        InputTypeDate,
-        InputTypeDateTime,
-        InputTypeDateTimeFallback,
-        InputTypeDateTimeLocal,
-        InputTypeEmail,
-        InputTypeMonth,
-        InputTypeNumber,
-        InputTypeRange,
-        InputTypeSearch,
-        InputTypeTel,
-        InputTypeTime,
-        InputTypeURL,
-        InputTypeWeek,
-        InputTypeWeekFallback,
-        ListAttribute,
-        MaxAttribute,
-        MinAttribute,
-        PatternAttribute,
-        PlaceholderAttribute,
-        PrecisionAttribute,
-        PrefixedDirectoryAttribute,
-        PrefixedSpeechAttribute,
-        RequiredAttribute,
-        ResultsAttribute,
-        StepAttribute,
-        PageVisits,
-        HTMLMarqueeElement,
-        CSSOverflowMarquee,
-        Reflection,
-        CursorVisibility,
-        StorageInfo,
-        XFrameOptions,
-        XFrameOptionsSameOrigin,
-        XFrameOptionsSameOriginWithBadAncestorChain,
-        DeprecatedFlexboxWebContent,
-        DeprecatedFlexboxChrome,
-        DeprecatedFlexboxChromeExtension,
-        // Add new features above this line. Don't change assigned numbers of each items.
-        NumberOfFeatures, // This enum value must be last.
-    };
-
-    static void observe(Document*, Feature);
-    static void observe(DOMWindow*, Feature);
-    void didCommitLoad();
-
-    const BitVector* accumulatedFeatureBits() const { return m_featureBits.get(); }
-
-private:
-    void didObserve(Feature feature)
-    {
-        ASSERT(feature != PageDestruction); // PageDestruction is reserved as a scaling factor.
-        ASSERT(feature &lt; NumberOfFeatures);
-        if (!m_featureBits) {
-            m_featureBits = adoptPtr(new BitVector(NumberOfFeatures));
-            m_featureBits-&gt;clearAll();
-        }
-        m_featureBits-&gt;quickSet(feature);
-    }
-
-    void updateMeasurements();
-
-    OwnPtr&lt;BitVector&gt; m_featureBits;
-};
-
-} // namespace WebCore
-    
-#endif // FeatureObserver_h
</del></span></pre></div>
<a id="trunkSourceWebCorepagePageh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/Page.h (164821 => 164822)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/Page.h        2014-02-27 20:16:40 UTC (rev 164821)
+++ trunk/Source/WebCore/page/Page.h        2014-02-27 20:24:03 UTC (rev 164822)
</span><span class="lines">@@ -21,7 +21,6 @@
</span><span class="cx"> #ifndef Page_h
</span><span class="cx"> #define Page_h
</span><span class="cx"> 
</span><del>-#include &quot;FeatureObserver.h&quot;
</del><span class="cx"> #include &quot;FindOptions.h&quot;
</span><span class="cx"> #include &quot;FrameLoaderTypes.h&quot;
</span><span class="cx"> #include &quot;LayoutMilestones.h&quot;
</span><span class="lines">@@ -218,8 +217,6 @@
</span><span class="cx">     ProgressTracker&amp; progress() const { return *m_progress; }
</span><span class="cx">     BackForwardController&amp; backForward() const { return *m_backForwardController; }
</span><span class="cx"> 
</span><del>-    FeatureObserver* featureObserver() { return &amp;m_featureObserver; }
-
</del><span class="cx"> #if ENABLE(VIEW_MODE_CSS_MEDIA)
</span><span class="cx">     enum ViewMode {
</span><span class="cx">         ViewModeInvalid,
</span><span class="lines">@@ -472,8 +469,6 @@
</span><span class="cx">     PlugInClient* m_plugInClient;
</span><span class="cx">     ValidationMessageClient* m_validationMessageClient;
</span><span class="cx"> 
</span><del>-    FeatureObserver m_featureObserver;
-
</del><span class="cx">     int m_subframeCount;
</span><span class="cx">     String m_groupName;
</span><span class="cx">     bool m_openedByDOM;
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderDeprecatedFlexibleBoxcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderDeprecatedFlexibleBox.cpp (164821 => 164822)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderDeprecatedFlexibleBox.cpp        2014-02-27 20:16:40 UTC (rev 164821)
+++ trunk/Source/WebCore/rendering/RenderDeprecatedFlexibleBox.cpp        2014-02-27 20:24:03 UTC (rev 164822)
</span><span class="lines">@@ -25,7 +25,6 @@
</span><span class="cx"> #include &quot;config.h&quot;
</span><span class="cx"> #include &quot;RenderDeprecatedFlexibleBox.h&quot;
</span><span class="cx"> 
</span><del>-#include &quot;FeatureObserver.h&quot;
</del><span class="cx"> #include &quot;Font.h&quot;
</span><span class="cx"> #include &quot;LayoutRepainter.h&quot;
</span><span class="cx"> #include &quot;RenderLayer.h&quot;
</span><span class="lines">@@ -123,8 +122,6 @@
</span><span class="cx"> {
</span><span class="cx">     setChildrenInline(false); // All of our children must be block-level
</span><span class="cx">     m_stretchingChildren = false;
</span><del>-
-    FeatureObserver::observe(&amp;document(), FeatureObserver::DeprecatedFlexboxWebContent);
</del><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> RenderDeprecatedFlexibleBox::~RenderDeprecatedFlexibleBox()
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderLayercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderLayer.cpp (164821 => 164822)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderLayer.cpp        2014-02-27 20:16:40 UTC (rev 164821)
+++ trunk/Source/WebCore/rendering/RenderLayer.cpp        2014-02-27 20:24:03 UTC (rev 164822)
</span><span class="lines">@@ -52,7 +52,6 @@
</span><span class="cx"> #include &quot;DocumentEventQueue.h&quot;
</span><span class="cx"> #include &quot;Element.h&quot;
</span><span class="cx"> #include &quot;EventHandler.h&quot;
</span><del>-#include &quot;FeatureObserver.h&quot;
</del><span class="cx"> #include &quot;FloatConversion.h&quot;
</span><span class="cx"> #include &quot;FloatPoint3D.h&quot;
</span><span class="cx"> #include &quot;FloatRect.h&quot;
</span><span class="lines">@@ -6506,7 +6505,6 @@
</span><span class="cx">     if (renderer().style().overflowX() == OMARQUEE &amp;&amp; renderer().style().marqueeBehavior() != MNONE &amp;&amp; renderer().isBox()) {
</span><span class="cx">         if (!m_marquee)
</span><span class="cx">             m_marquee = adoptPtr(new RenderMarquee(this));
</span><del>-        FeatureObserver::observe(&amp;renderer().document(), renderer().isHTMLMarquee() ? FeatureObserver::HTMLMarqueeElement : FeatureObserver::CSSOverflowMarquee);
</del><span class="cx">         m_marquee-&gt;updateMarqueeStyle();
</span><span class="cx">     }
</span><span class="cx">     else if (m_marquee) {
</span><span class="lines">@@ -6527,7 +6525,6 @@
</span><span class="cx">             createReflection();
</span><span class="cx">         else
</span><span class="cx">             m_reflection-&gt;setStyle(createReflectionStyle());
</span><del>-        FeatureObserver::observe(&amp;renderer().document(), FeatureObserver::Reflection);
</del><span class="cx">     }
</span><span class="cx">     
</span><span class="cx">     // FIXME: Need to detect a swap from custom to native scrollbars (and vice versa).
</span></span></pre></div>
<a id="trunkSourceWebCoreworkersSharedWorkercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/workers/SharedWorker.cpp (164821 => 164822)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/workers/SharedWorker.cpp        2014-02-27 20:16:40 UTC (rev 164821)
+++ trunk/Source/WebCore/workers/SharedWorker.cpp        2014-02-27 20:24:03 UTC (rev 164822)
</span><span class="lines">@@ -36,7 +36,6 @@
</span><span class="cx"> #include &quot;SharedWorker.h&quot;
</span><span class="cx"> 
</span><span class="cx"> #include &quot;ExceptionCode.h&quot;
</span><del>-#include &quot;FeatureObserver.h&quot;
</del><span class="cx"> #include &quot;InspectorInstrumentation.h&quot;
</span><span class="cx"> #include &quot;URL.h&quot;
</span><span class="cx"> #include &quot;MessageChannel.h&quot;
</span><span class="lines">@@ -60,8 +59,6 @@
</span><span class="cx">     ASSERT_WITH_SECURITY_IMPLICATION(context.isDocument());
</span><span class="cx">     Document&amp; document = static_cast&lt;Document&amp;&gt;(context);
</span><span class="cx"> 
</span><del>-    FeatureObserver::observe(document.domWindow(), FeatureObserver::SharedWorkerStart);
-
</del><span class="cx">     RefPtr&lt;SharedWorker&gt; worker = adoptRef(new SharedWorker(context));
</span><span class="cx"> 
</span><span class="cx">     RefPtr&lt;MessageChannel&gt; channel = MessageChannel::create(context);
</span></span></pre></div>
<a id="trunkSourceWebCoreworkersWorkercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/workers/Worker.cpp (164821 => 164822)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/workers/Worker.cpp        2014-02-27 20:16:40 UTC (rev 164821)
+++ trunk/Source/WebCore/workers/Worker.cpp        2014-02-27 20:24:03 UTC (rev 164822)
</span><span class="lines">@@ -36,7 +36,6 @@
</span><span class="cx"> #include &quot;EventListener.h&quot;
</span><span class="cx"> #include &quot;EventNames.h&quot;
</span><span class="cx"> #include &quot;ExceptionCode.h&quot;
</span><del>-#include &quot;FeatureObserver.h&quot;
</del><span class="cx"> #include &quot;Frame.h&quot;
</span><span class="cx"> #include &quot;FrameLoader.h&quot;
</span><span class="cx"> #include &quot;InspectorInstrumentation.h&quot;
</span><span class="lines">@@ -79,10 +78,7 @@
</span><span class="cx"> 
</span><span class="cx">     // We don't currently support nested workers, so workers can only be created from documents.
</span><span class="cx">     ASSERT_WITH_SECURITY_IMPLICATION(context.isDocument());
</span><del>-    Document&amp; document = static_cast&lt;Document&amp;&gt;(context);
</del><span class="cx"> 
</span><del>-    FeatureObserver::observe(document.domWindow(), FeatureObserver::WorkerStart);
-
</del><span class="cx">     RefPtr&lt;Worker&gt; worker = adoptRef(new Worker(context));
</span><span class="cx"> 
</span><span class="cx">     worker-&gt;suspendIfNeeded();
</span></span></pre>
</div>
</div>

</body>
</html>