<!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>[175148] trunk/Source</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/175148">175148</a></dd>
<dt>Author</dt> <dd>cdumez@apple.com</dd>
<dt>Date</dt> <dd>2014-10-23 16:26:01 -0700 (Thu, 23 Oct 2014)</dd>
</dl>

<h3>Log Message</h3>
<pre>Clean up virtual functions in dom/
https://bugs.webkit.org/show_bug.cgi?id=138019

Reviewed by Benjamin Poulain.

Clean up virtual functions in dom/ by:
- Making virtual functions final when possible
- Making classes final when possible
- Using 'override' when appropriate
- Explicitly marking functions / destructors as virtual when they are
  inherently virtual
- Making isXXX() virtual functions private on XXX classes to avoid
  unnecessary type checks
- Dropping final for virtual functions in classes already marked as
  final

No new tests, no behavior change.

* WebCore.exp.in:
* dom/AutocompleteErrorEvent.h:
* dom/BeforeLoadEvent.h:
(WebCore::BeforeLoadEventInit::BeforeLoadEventInit):
* dom/BeforeTextInsertedEvent.h:
* dom/ClipboardEvent.h:
* dom/CompositionEvent.h:
* dom/CustomEvent.h:
* dom/DeviceMotionController.h:
(WebCore::DeviceMotionController::~DeviceMotionController): Deleted.
* dom/DeviceMotionEvent.h:
* dom/DeviceOrientationController.h:
(WebCore::DeviceOrientationController::~DeviceOrientationController): Deleted.
* dom/DeviceOrientationEvent.h:
* dom/Document.h:
* dom/DocumentFragment.h:
* dom/ErrorEvent.h:
* dom/FocusEvent.h:
* dom/HashChangeEvent.h:
* dom/KeyboardEvent.h:
* dom/LiveNodeList.h:
* dom/MessageEvent.h:
* dom/MessagePort.h:
* dom/MouseEvent.h:
* dom/MouseRelatedEvent.h:
* dom/MutationEvent.h:
* dom/NamedFlowCollection.h:
* dom/OverflowEvent.h:
* dom/PageTransitionEvent.h:
* dom/PendingScript.h:
* dom/PopStateEvent.h:
* dom/RawDataDocumentParser.h:
(WebCore::RawDataDocumentParser::finish): Deleted.
(WebCore::RawDataDocumentParser::flush): Deleted.
(WebCore::RawDataDocumentParser::insert): Deleted.
(WebCore::RawDataDocumentParser::append): Deleted.
* dom/ScriptableDocumentParser.h:
* dom/SecurityPolicyViolationEvent.h:
* dom/TextEvent.h:
* dom/TouchEvent.h:
* dom/TransitionEvent.h:
* dom/UIEvent.h:
* dom/WebKitAnimationEvent.h:
* dom/WebKitTransitionEvent.h:
* dom/WheelEvent.h:
* page/DeviceController.h:
(WebCore::DeviceController::~DeviceController):</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCoreWebCoreexpin">trunk/Source/WebCore/WebCore.exp.in</a></li>
<li><a href="#trunkSourceWebCoredomAutocompleteErrorEventh">trunk/Source/WebCore/dom/AutocompleteErrorEvent.h</a></li>
<li><a href="#trunkSourceWebCoredomBeforeLoadEventh">trunk/Source/WebCore/dom/BeforeLoadEvent.h</a></li>
<li><a href="#trunkSourceWebCoredomBeforeTextInsertedEventh">trunk/Source/WebCore/dom/BeforeTextInsertedEvent.h</a></li>
<li><a href="#trunkSourceWebCoredomClipboardEventh">trunk/Source/WebCore/dom/ClipboardEvent.h</a></li>
<li><a href="#trunkSourceWebCoredomCompositionEventh">trunk/Source/WebCore/dom/CompositionEvent.h</a></li>
<li><a href="#trunkSourceWebCoredomCustomEventh">trunk/Source/WebCore/dom/CustomEvent.h</a></li>
<li><a href="#trunkSourceWebCoredomDeviceMotionControllerh">trunk/Source/WebCore/dom/DeviceMotionController.h</a></li>
<li><a href="#trunkSourceWebCoredomDeviceMotionEventh">trunk/Source/WebCore/dom/DeviceMotionEvent.h</a></li>
<li><a href="#trunkSourceWebCoredomDeviceOrientationControllerh">trunk/Source/WebCore/dom/DeviceOrientationController.h</a></li>
<li><a href="#trunkSourceWebCoredomDeviceOrientationEventh">trunk/Source/WebCore/dom/DeviceOrientationEvent.h</a></li>
<li><a href="#trunkSourceWebCoredomDocumenth">trunk/Source/WebCore/dom/Document.h</a></li>
<li><a href="#trunkSourceWebCoredomDocumentFragmenth">trunk/Source/WebCore/dom/DocumentFragment.h</a></li>
<li><a href="#trunkSourceWebCoredomErrorEventh">trunk/Source/WebCore/dom/ErrorEvent.h</a></li>
<li><a href="#trunkSourceWebCoredomFocusEventh">trunk/Source/WebCore/dom/FocusEvent.h</a></li>
<li><a href="#trunkSourceWebCoredomHashChangeEventh">trunk/Source/WebCore/dom/HashChangeEvent.h</a></li>
<li><a href="#trunkSourceWebCoredomKeyboardEventh">trunk/Source/WebCore/dom/KeyboardEvent.h</a></li>
<li><a href="#trunkSourceWebCoredomLiveNodeListh">trunk/Source/WebCore/dom/LiveNodeList.h</a></li>
<li><a href="#trunkSourceWebCoredomMessageEventh">trunk/Source/WebCore/dom/MessageEvent.h</a></li>
<li><a href="#trunkSourceWebCoredomMessagePorth">trunk/Source/WebCore/dom/MessagePort.h</a></li>
<li><a href="#trunkSourceWebCoredomMouseEventh">trunk/Source/WebCore/dom/MouseEvent.h</a></li>
<li><a href="#trunkSourceWebCoredomMouseRelatedEventh">trunk/Source/WebCore/dom/MouseRelatedEvent.h</a></li>
<li><a href="#trunkSourceWebCoredomMutationEventh">trunk/Source/WebCore/dom/MutationEvent.h</a></li>
<li><a href="#trunkSourceWebCoredomNamedFlowCollectionh">trunk/Source/WebCore/dom/NamedFlowCollection.h</a></li>
<li><a href="#trunkSourceWebCoredomOverflowEventh">trunk/Source/WebCore/dom/OverflowEvent.h</a></li>
<li><a href="#trunkSourceWebCoredomPageTransitionEventh">trunk/Source/WebCore/dom/PageTransitionEvent.h</a></li>
<li><a href="#trunkSourceWebCoredomPendingScripth">trunk/Source/WebCore/dom/PendingScript.h</a></li>
<li><a href="#trunkSourceWebCoredomPopStateEventh">trunk/Source/WebCore/dom/PopStateEvent.h</a></li>
<li><a href="#trunkSourceWebCoredomRawDataDocumentParserh">trunk/Source/WebCore/dom/RawDataDocumentParser.h</a></li>
<li><a href="#trunkSourceWebCoredomScriptableDocumentParserh">trunk/Source/WebCore/dom/ScriptableDocumentParser.h</a></li>
<li><a href="#trunkSourceWebCoredomSecurityPolicyViolationEventh">trunk/Source/WebCore/dom/SecurityPolicyViolationEvent.h</a></li>
<li><a href="#trunkSourceWebCoredomTextEventh">trunk/Source/WebCore/dom/TextEvent.h</a></li>
<li><a href="#trunkSourceWebCoredomTouchEventh">trunk/Source/WebCore/dom/TouchEvent.h</a></li>
<li><a href="#trunkSourceWebCoredomTransitionEventh">trunk/Source/WebCore/dom/TransitionEvent.h</a></li>
<li><a href="#trunkSourceWebCoredomUIEventh">trunk/Source/WebCore/dom/UIEvent.h</a></li>
<li><a href="#trunkSourceWebCoredomWebKitAnimationEventh">trunk/Source/WebCore/dom/WebKitAnimationEvent.h</a></li>
<li><a href="#trunkSourceWebCoredomWebKitTransitionEventh">trunk/Source/WebCore/dom/WebKitTransitionEvent.h</a></li>
<li><a href="#trunkSourceWebCoredomWheelEventh">trunk/Source/WebCore/dom/WheelEvent.h</a></li>
<li><a href="#trunkSourceWebCorepageDeviceControllerh">trunk/Source/WebCore/page/DeviceController.h</a></li>
<li><a href="#trunkSourceWebKitWebKitvcxprojWebKitExportGeneratorWebKitExportsdefin">trunk/Source/WebKit/WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (175147 => 175148)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2014-10-23 23:00:31 UTC (rev 175147)
+++ trunk/Source/WebCore/ChangeLog        2014-10-23 23:26:01 UTC (rev 175148)
</span><span class="lines">@@ -1,3 +1,71 @@
</span><ins>+2014-10-23  Chris Dumez  &lt;cdumez@apple.com&gt;
+
+        Clean up virtual functions in dom/
+        https://bugs.webkit.org/show_bug.cgi?id=138019
+
+        Reviewed by Benjamin Poulain.
+
+        Clean up virtual functions in dom/ by:
+        - Making virtual functions final when possible
+        - Making classes final when possible
+        - Using 'override' when appropriate
+        - Explicitly marking functions / destructors as virtual when they are
+          inherently virtual
+        - Making isXXX() virtual functions private on XXX classes to avoid
+          unnecessary type checks
+        - Dropping final for virtual functions in classes already marked as
+          final
+
+        No new tests, no behavior change.
+
+        * WebCore.exp.in:
+        * dom/AutocompleteErrorEvent.h:
+        * dom/BeforeLoadEvent.h:
+        (WebCore::BeforeLoadEventInit::BeforeLoadEventInit):
+        * dom/BeforeTextInsertedEvent.h:
+        * dom/ClipboardEvent.h:
+        * dom/CompositionEvent.h:
+        * dom/CustomEvent.h:
+        * dom/DeviceMotionController.h:
+        (WebCore::DeviceMotionController::~DeviceMotionController): Deleted.
+        * dom/DeviceMotionEvent.h:
+        * dom/DeviceOrientationController.h:
+        (WebCore::DeviceOrientationController::~DeviceOrientationController): Deleted.
+        * dom/DeviceOrientationEvent.h:
+        * dom/Document.h:
+        * dom/DocumentFragment.h:
+        * dom/ErrorEvent.h:
+        * dom/FocusEvent.h:
+        * dom/HashChangeEvent.h:
+        * dom/KeyboardEvent.h:
+        * dom/LiveNodeList.h:
+        * dom/MessageEvent.h:
+        * dom/MessagePort.h:
+        * dom/MouseEvent.h:
+        * dom/MouseRelatedEvent.h:
+        * dom/MutationEvent.h:
+        * dom/NamedFlowCollection.h:
+        * dom/OverflowEvent.h:
+        * dom/PageTransitionEvent.h:
+        * dom/PendingScript.h:
+        * dom/PopStateEvent.h:
+        * dom/RawDataDocumentParser.h:
+        (WebCore::RawDataDocumentParser::finish): Deleted.
+        (WebCore::RawDataDocumentParser::flush): Deleted.
+        (WebCore::RawDataDocumentParser::insert): Deleted.
+        (WebCore::RawDataDocumentParser::append): Deleted.
+        * dom/ScriptableDocumentParser.h:
+        * dom/SecurityPolicyViolationEvent.h:
+        * dom/TextEvent.h:
+        * dom/TouchEvent.h:
+        * dom/TransitionEvent.h:
+        * dom/UIEvent.h:
+        * dom/WebKitAnimationEvent.h:
+        * dom/WebKitTransitionEvent.h:
+        * dom/WheelEvent.h:
+        * page/DeviceController.h:
+        (WebCore::DeviceController::~DeviceController):
+
</ins><span class="cx"> 2014-10-23  Tim Horton  &lt;timothy_horton@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Add some SPI headers for NSExtension and NSSharingService{Picker}
</span></span></pre></div>
<a id="trunkSourceWebCoreWebCoreexpin"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/WebCore.exp.in (175147 => 175148)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/WebCore.exp.in        2014-10-23 23:00:31 UTC (rev 175147)
+++ trunk/Source/WebCore/WebCore.exp.in        2014-10-23 23:26:01 UTC (rev 175148)
</span><span class="lines">@@ -2017,6 +2017,7 @@
</span><span class="cx"> __ZNK7WebCore8Document6domainEv
</span><span class="cx"> __ZNK7WebCore8Document6loaderEv
</span><span class="cx"> __ZNK7WebCore8Document8settingsEv
</span><ins>+__ZNK7WebCore8Document9topOriginEv
</ins><span class="cx"> __ZNK7WebCore8IntPointcv7CGPointEv
</span><span class="cx"> __ZNK7WebCore8Position10downstreamENS_27EditingBoundaryCrossingRuleE
</span><span class="cx"> __ZNK7WebCore8Position13containerNodeEv
</span></span></pre></div>
<a id="trunkSourceWebCoredomAutocompleteErrorEventh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/AutocompleteErrorEvent.h (175147 => 175148)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/AutocompleteErrorEvent.h        2014-10-23 23:00:31 UTC (rev 175147)
+++ trunk/Source/WebCore/dom/AutocompleteErrorEvent.h        2014-10-23 23:26:01 UTC (rev 175148)
</span><span class="lines">@@ -36,7 +36,7 @@
</span><span class="cx">     String reason;
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-class AutocompleteErrorEvent : public Event {
</del><ins>+class AutocompleteErrorEvent final : public Event {
</ins><span class="cx"> public:
</span><span class="cx">     static PassRefPtr&lt;AutocompleteErrorEvent&gt; create()
</span><span class="cx">     {
</span></span></pre></div>
<a id="trunkSourceWebCoredomBeforeLoadEventh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/BeforeLoadEvent.h (175147 => 175148)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/BeforeLoadEvent.h        2014-10-23 23:00:31 UTC (rev 175147)
+++ trunk/Source/WebCore/dom/BeforeLoadEvent.h        2014-10-23 23:26:01 UTC (rev 175148)
</span><span class="lines">@@ -35,12 +35,12 @@
</span><span class="cx"> struct BeforeLoadEventInit : public EventInit {
</span><span class="cx">     BeforeLoadEventInit()
</span><span class="cx">     {
</span><del>-    };
</del><ins>+    }
</ins><span class="cx"> 
</span><span class="cx">     String url;
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-class BeforeLoadEvent : public Event {
</del><ins>+class BeforeLoadEvent final : public Event {
</ins><span class="cx"> public:
</span><span class="cx">     static PassRefPtr&lt;BeforeLoadEvent&gt; create()
</span><span class="cx">     {
</span></span></pre></div>
<a id="trunkSourceWebCoredomBeforeTextInsertedEventh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/BeforeTextInsertedEvent.h (175147 => 175148)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/BeforeTextInsertedEvent.h        2014-10-23 23:00:31 UTC (rev 175147)
+++ trunk/Source/WebCore/dom/BeforeTextInsertedEvent.h        2014-10-23 23:26:01 UTC (rev 175148)
</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 BeforeTextInsertedEvent : public Event {
</del><ins>+class BeforeTextInsertedEvent final : public Event {
</ins><span class="cx"> public:
</span><span class="cx">     virtual ~BeforeTextInsertedEvent();
</span><span class="cx"> 
</span><span class="lines">@@ -40,13 +40,13 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     virtual EventInterface eventInterface() const override;
</span><del>-    virtual bool isBeforeTextInsertedEvent() const override { return true; }
</del><span class="cx"> 
</span><span class="cx">     const String&amp; text() const { return m_text; }
</span><span class="cx">     void setText(const String&amp; s) { m_text = s; }
</span><span class="cx"> 
</span><span class="cx"> private:
</span><span class="cx">     explicit BeforeTextInsertedEvent(const String&amp;);
</span><ins>+    virtual bool isBeforeTextInsertedEvent() const override { return true; }
</ins><span class="cx"> 
</span><span class="cx">     String m_text;
</span><span class="cx"> };
</span></span></pre></div>
<a id="trunkSourceWebCoredomClipboardEventh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/ClipboardEvent.h (175147 => 175148)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/ClipboardEvent.h        2014-10-23 23:00:31 UTC (rev 175147)
+++ trunk/Source/WebCore/dom/ClipboardEvent.h        2014-10-23 23:26:01 UTC (rev 175148)
</span><span class="lines">@@ -30,7 +30,7 @@
</span><span class="cx"> 
</span><span class="cx">     class DataTransfer;
</span><span class="cx"> 
</span><del>-    class ClipboardEvent : public Event {
</del><ins>+    class ClipboardEvent final : public Event {
</ins><span class="cx">     public:
</span><span class="cx">         virtual ~ClipboardEvent();
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoredomCompositionEventh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/CompositionEvent.h (175147 => 175148)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/CompositionEvent.h        2014-10-23 23:00:31 UTC (rev 175147)
+++ trunk/Source/WebCore/dom/CompositionEvent.h        2014-10-23 23:26:01 UTC (rev 175148)
</span><span class="lines">@@ -37,7 +37,7 @@
</span><span class="cx">     String data;
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-class CompositionEvent : public UIEvent {
</del><ins>+class CompositionEvent final : public UIEvent {
</ins><span class="cx"> public:
</span><span class="cx">     static PassRefPtr&lt;CompositionEvent&gt; create()
</span><span class="cx">     {
</span></span></pre></div>
<a id="trunkSourceWebCoredomCustomEventh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/CustomEvent.h (175147 => 175148)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/CustomEvent.h        2014-10-23 23:00:31 UTC (rev 175147)
+++ trunk/Source/WebCore/dom/CustomEvent.h        2014-10-23 23:26:01 UTC (rev 175148)
</span><span class="lines">@@ -38,7 +38,7 @@
</span><span class="cx">     Deprecated::ScriptValue detail;
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-class CustomEvent : public Event {
</del><ins>+class CustomEvent final : public Event {
</ins><span class="cx"> public:
</span><span class="cx">     virtual ~CustomEvent();
</span><span class="cx"> 
</span><span class="lines">@@ -54,7 +54,7 @@
</span><span class="cx"> 
</span><span class="cx">     void initCustomEvent(const AtomicString&amp; type, bool canBubble, bool cancelable, const Deprecated::ScriptValue&amp; detail);
</span><span class="cx"> 
</span><del>-    virtual EventInterface eventInterface() const;
</del><ins>+    virtual EventInterface eventInterface() const override;
</ins><span class="cx"> 
</span><span class="cx">     const Deprecated::ScriptValue&amp; detail() const { return m_detail; }
</span><span class="cx">     PassRefPtr&lt;SerializedScriptValue&gt; serializedScriptValue() { return m_serializedScriptValue; }
</span></span></pre></div>
<a id="trunkSourceWebCoredomDeviceMotionControllerh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/DeviceMotionController.h (175147 => 175148)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/DeviceMotionController.h        2014-10-23 23:00:31 UTC (rev 175147)
+++ trunk/Source/WebCore/dom/DeviceMotionController.h        2014-10-23 23:26:01 UTC (rev 175148)
</span><span class="lines">@@ -35,11 +35,11 @@
</span><span class="cx"> class DeviceMotionClient;
</span><span class="cx"> class DeviceMotionData;
</span><span class="cx"> 
</span><del>-class DeviceMotionController : public DeviceController {
</del><ins>+class DeviceMotionController final : public DeviceController {
</ins><span class="cx">     WTF_MAKE_NONCOPYABLE(DeviceMotionController);
</span><span class="cx"> public:
</span><span class="cx">     explicit DeviceMotionController(DeviceMotionClient*);
</span><del>-    ~DeviceMotionController() { };
</del><ins>+    virtual ~DeviceMotionController() { }
</ins><span class="cx"> 
</span><span class="cx"> #if PLATFORM(IOS)
</span><span class="cx">     // FIXME: We should look to reconcile the iOS and OpenSource differences with this class
</span></span></pre></div>
<a id="trunkSourceWebCoredomDeviceMotionEventh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/DeviceMotionEvent.h (175147 => 175148)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/DeviceMotionEvent.h        2014-10-23 23:00:31 UTC (rev 175147)
+++ trunk/Source/WebCore/dom/DeviceMotionEvent.h        2014-10-23 23:26:01 UTC (rev 175148)
</span><span class="lines">@@ -32,9 +32,9 @@
</span><span class="cx"> 
</span><span class="cx"> class DeviceMotionData;
</span><span class="cx"> 
</span><del>-class DeviceMotionEvent : public Event {
</del><ins>+class DeviceMotionEvent final : public Event {
</ins><span class="cx"> public:
</span><del>-    ~DeviceMotionEvent();
</del><ins>+    virtual ~DeviceMotionEvent();
</ins><span class="cx">     static PassRefPtr&lt;DeviceMotionEvent&gt; create()
</span><span class="cx">     {
</span><span class="cx">         return adoptRef(new DeviceMotionEvent);
</span></span></pre></div>
<a id="trunkSourceWebCoredomDeviceOrientationControllerh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/DeviceOrientationController.h (175147 => 175148)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/DeviceOrientationController.h        2014-10-23 23:00:31 UTC (rev 175147)
+++ trunk/Source/WebCore/dom/DeviceOrientationController.h        2014-10-23 23:26:01 UTC (rev 175148)
</span><span class="lines">@@ -37,11 +37,11 @@
</span><span class="cx"> class DeviceOrientationData;
</span><span class="cx"> class Page;
</span><span class="cx"> 
</span><del>-class DeviceOrientationController : public DeviceController {
</del><ins>+class DeviceOrientationController final : public DeviceController {
</ins><span class="cx">     WTF_MAKE_NONCOPYABLE(DeviceOrientationController);
</span><span class="cx"> public:
</span><span class="cx">     explicit DeviceOrientationController(DeviceOrientationClient*);
</span><del>-    ~DeviceOrientationController() { };
</del><ins>+    virtual ~DeviceOrientationController() { }
</ins><span class="cx"> 
</span><span class="cx">     void didChangeDeviceOrientation(DeviceOrientationData*);
</span><span class="cx">     DeviceOrientationClient* deviceOrientationClient();
</span></span></pre></div>
<a id="trunkSourceWebCoredomDeviceOrientationEventh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/DeviceOrientationEvent.h (175147 => 175148)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/DeviceOrientationEvent.h        2014-10-23 23:00:31 UTC (rev 175147)
+++ trunk/Source/WebCore/dom/DeviceOrientationEvent.h        2014-10-23 23:26:01 UTC (rev 175148)
</span><span class="lines">@@ -32,9 +32,9 @@
</span><span class="cx"> 
</span><span class="cx"> class DeviceOrientationData;
</span><span class="cx"> 
</span><del>-class DeviceOrientationEvent : public Event {
</del><ins>+class DeviceOrientationEvent final : public Event {
</ins><span class="cx"> public:
</span><del>-    ~DeviceOrientationEvent();
</del><ins>+    virtual ~DeviceOrientationEvent();
</ins><span class="cx">     static PassRefPtr&lt;DeviceOrientationEvent&gt; create()
</span><span class="cx">     {
</span><span class="cx">         return adoptRef(new DeviceOrientationEvent);
</span></span></pre></div>
<a id="trunkSourceWebCoredomDocumenth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/Document.h (175147 => 175148)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/Document.h        2014-10-23 23:00:31 UTC (rev 175147)
+++ trunk/Source/WebCore/dom/Document.h        2014-10-23 23:26:01 UTC (rev 175148)
</span><span class="lines">@@ -307,7 +307,7 @@
</span><span class="cx">     using ContainerNode::ref;
</span><span class="cx">     using ContainerNode::deref;
</span><span class="cx"> 
</span><del>-    virtual bool canContainRangeEndPoint() const override { return true; }
</del><ins>+    virtual bool canContainRangeEndPoint() const override final { return true; }
</ins><span class="cx"> 
</span><span class="cx">     Element* getElementByAccessKey(const String&amp; key);
</span><span class="cx">     void invalidateAccessKeyMap();
</span><span class="lines">@@ -483,7 +483,7 @@
</span><span class="cx">     String documentURI() const { return m_documentURI; }
</span><span class="cx">     void setDocumentURI(const String&amp;);
</span><span class="cx"> 
</span><del>-    virtual URL baseURI() const override;
</del><ins>+    virtual URL baseURI() const override final;
</ins><span class="cx"> 
</span><span class="cx"> #if ENABLE(WEB_REPLAY)
</span><span class="cx">     JSC::InputCursor&amp; inputCursor() const { return *m_inputCursor; }
</span><span class="lines">@@ -624,9 +624,9 @@
</span><span class="cx">     void prepareForDestruction();
</span><span class="cx"> 
</span><span class="cx">     // Override ScriptExecutionContext methods to do additional work
</span><del>-    virtual void suspendActiveDOMObjects(ActiveDOMObject::ReasonForSuspension) override;
-    virtual void resumeActiveDOMObjects(ActiveDOMObject::ReasonForSuspension) override;
-    virtual void stopActiveDOMObjects() override;
</del><ins>+    virtual void suspendActiveDOMObjects(ActiveDOMObject::ReasonForSuspension) override final;
+    virtual void resumeActiveDOMObjects(ActiveDOMObject::ReasonForSuspension) override final;
+    virtual void stopActiveDOMObjects() override final;
</ins><span class="cx"> 
</span><span class="cx">     RenderView* renderView() const { return m_renderView.get(); }
</span><span class="cx"> 
</span><span class="lines">@@ -678,9 +678,9 @@
</span><span class="cx">     WEBCORE_EXPORT virtual URL completeURL(const String&amp;) const override final;
</span><span class="cx">     URL completeURL(const String&amp;, const URL&amp; baseURLOverride) const;
</span><span class="cx"> 
</span><del>-    virtual String userAgent(const URL&amp;) const override;
</del><ins>+    virtual String userAgent(const URL&amp;) const override final;
</ins><span class="cx"> 
</span><del>-    virtual void disableEval(const String&amp; errorMessage) override;
</del><ins>+    virtual void disableEval(const String&amp; errorMessage) override final;
</ins><span class="cx"> 
</span><span class="cx">     bool canNavigate(Frame* targetFrame);
</span><span class="cx">     Frame* findUnsafeParentScrollPropagationBoundary();
</span><span class="lines">@@ -1015,11 +1015,11 @@
</span><span class="cx">     bool isDNSPrefetchEnabled() const { return m_isDNSPrefetchEnabled; }
</span><span class="cx">     void parseDNSPrefetchControlHeader(const String&amp;);
</span><span class="cx"> 
</span><del>-    virtual void postTask(Task) override; // Executes the task on context's thread asynchronously.
</del><ins>+    virtual void postTask(Task) override final; // Executes the task on context's thread asynchronously.
</ins><span class="cx"> 
</span><span class="cx">     void suspendScriptedAnimationControllerCallbacks();
</span><span class="cx">     void resumeScriptedAnimationControllerCallbacks();
</span><del>-    virtual void scriptedAnimationControllerSetThrottled(bool);
</del><ins>+    void scriptedAnimationControllerSetThrottled(bool);
</ins><span class="cx">     
</span><span class="cx">     void windowScreenDidChange(PlatformDisplayID);
</span><span class="cx"> 
</span><span class="lines">@@ -1091,7 +1091,7 @@
</span><span class="cx">     void setAnnotatedRegions(const Vector&lt;AnnotatedRegionValue&gt;&amp;);
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-    virtual void removeAllEventListeners() override;
</del><ins>+    virtual void removeAllEventListeners() override final;
</ins><span class="cx"> 
</span><span class="cx">     WEBCORE_EXPORT const SVGDocumentExtensions* svgExtensions();
</span><span class="cx">     WEBCORE_EXPORT SVGDocumentExtensions&amp; accessSVGExtensions();
</span><span class="lines">@@ -1105,8 +1105,8 @@
</span><span class="cx">     bool processingLoadEvent() const { return m_processingLoadEvent; }
</span><span class="cx">     bool loadEventFinished() const { return m_loadEventFinished; }
</span><span class="cx"> 
</span><del>-    virtual bool isContextThread() const override;
-    virtual bool isJSExecutionForbidden() const override { return false; }
</del><ins>+    virtual bool isContextThread() const override final;
+    virtual bool isJSExecutionForbidden() const override final { return false; }
</ins><span class="cx"> 
</span><span class="cx">     bool containsValidityStyleRules() const { return m_containsValidityStyleRules; }
</span><span class="cx">     void setContainsValidityStyleRules() { m_containsValidityStyleRules = true; }
</span><span class="lines">@@ -1117,7 +1117,7 @@
</span><span class="cx">     void enqueuePageshowEvent(PageshowEventPersistence);
</span><span class="cx">     void enqueueHashchangeEvent(const String&amp; oldURL, const String&amp; newURL);
</span><span class="cx">     void enqueuePopstateEvent(PassRefPtr&lt;SerializedScriptValue&gt; stateObject);
</span><del>-    virtual DocumentEventQueue&amp; eventQueue() const override { return m_eventQueue; }
</del><ins>+    virtual DocumentEventQueue&amp; eventQueue() const override final { return m_eventQueue; }
</ins><span class="cx"> 
</span><span class="cx">     WEBCORE_EXPORT void addMediaCanStartListener(MediaCanStartListener*);
</span><span class="cx">     WEBCORE_EXPORT void removeMediaCanStartListener(MediaCanStartListener*);
</span><span class="lines">@@ -1191,8 +1191,8 @@
</span><span class="cx"> 
</span><span class="cx">     void sendWillRevealEdgeEventsIfNeeded(const IntPoint&amp; oldPosition, const IntPoint&amp; newPosition, const IntRect&amp; visibleRect, const IntSize&amp; contentsSize, Element* target = nullptr);
</span><span class="cx"> 
</span><del>-    virtual EventTarget* errorEventTarget() override;
-    virtual void logExceptionToConsole(const String&amp; errorMessage, const String&amp; sourceURL, int lineNumber, int columnNumber, PassRefPtr&lt;Inspector::ScriptCallStack&gt;) override;
</del><ins>+    virtual EventTarget* errorEventTarget() override final;
+    virtual void logExceptionToConsole(const String&amp; errorMessage, const String&amp; sourceURL, int lineNumber, int columnNumber, PassRefPtr&lt;Inspector::ScriptCallStack&gt;) override final;
</ins><span class="cx"> 
</span><span class="cx">     void initDNSPrefetch();
</span><span class="cx"> 
</span><span class="lines">@@ -1267,9 +1267,9 @@
</span><span class="cx">     void addDisabledFieldsetElement() { m_disabledFieldsetElementsCount++; }
</span><span class="cx">     void removeDisabledFieldsetElement() { ASSERT(m_disabledFieldsetElementsCount); m_disabledFieldsetElementsCount--; }
</span><span class="cx"> 
</span><del>-    virtual void addConsoleMessage(MessageSource, MessageLevel, const String&amp; message, unsigned long requestIdentifier = 0) override;
</del><ins>+    virtual void addConsoleMessage(MessageSource, MessageLevel, const String&amp; message, unsigned long requestIdentifier = 0) override final;
</ins><span class="cx"> 
</span><del>-    virtual SecurityOrigin* topOrigin() const override;
</del><ins>+    virtual SecurityOrigin* topOrigin() const override final;
</ins><span class="cx"> 
</span><span class="cx"> #if ENABLE(FONT_LOAD_EVENTS)
</span><span class="cx">     PassRefPtr&lt;FontLoader&gt; fonts();
</span><span class="lines">@@ -1280,8 +1280,8 @@
</span><span class="cx">     void setVisualUpdatesAllowedByClient(bool);
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(SUBTLE_CRYPTO)
</span><del>-    virtual bool wrapCryptoKey(const Vector&lt;uint8_t&gt;&amp; key, Vector&lt;uint8_t&gt;&amp; wrappedKey) override;
-    virtual bool unwrapCryptoKey(const Vector&lt;uint8_t&gt;&amp; wrappedKey, Vector&lt;uint8_t&gt;&amp; key) override;
</del><ins>+    virtual bool wrapCryptoKey(const Vector&lt;uint8_t&gt;&amp; key, Vector&lt;uint8_t&gt;&amp; wrappedKey) override final;
+    virtual bool unwrapCryptoKey(const Vector&lt;uint8_t&gt;&amp; wrappedKey, Vector&lt;uint8_t&gt;&amp; key) override final;
</ins><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx">     void setHasStyleWithViewportUnits() { m_hasStyleWithViewportUnits = true; }
</span><span class="lines">@@ -1318,24 +1318,24 @@
</span><span class="cx">     typedef void (*ArgumentsCallback)(const String&amp; keyString, const String&amp; valueString, Document*, void* data);
</span><span class="cx">     void processArguments(const String&amp; features, void* data, ArgumentsCallback);
</span><span class="cx"> 
</span><del>-    virtual bool isDocument() const override { return true; }
</del><ins>+    virtual bool isDocument() const override final { return true; }
</ins><span class="cx"> 
</span><del>-    virtual void childrenChanged(const ChildChange&amp;) override;
</del><ins>+    virtual void childrenChanged(const ChildChange&amp;) override final;
</ins><span class="cx"> 
</span><del>-    virtual String nodeName() const override;
-    virtual NodeType nodeType() const override;
-    virtual bool childTypeAllowed(NodeType) const override;
-    virtual PassRefPtr&lt;Node&gt; cloneNode(bool deep) override;
</del><ins>+    virtual String nodeName() const override final;
+    virtual NodeType nodeType() const override final;
+    virtual bool childTypeAllowed(NodeType) const override final;
+    virtual PassRefPtr&lt;Node&gt; cloneNode(bool deep) override final;
</ins><span class="cx">     void cloneDataFromDocument(const Document&amp;);
</span><span class="cx"> 
</span><del>-    virtual void refScriptExecutionContext() override { ref(); }
-    virtual void derefScriptExecutionContext() override { deref(); }
</del><ins>+    virtual void refScriptExecutionContext() override final { ref(); }
+    virtual void derefScriptExecutionContext() override final { deref(); }
</ins><span class="cx"> 
</span><del>-    virtual void addMessage(MessageSource, MessageLevel, const String&amp; message, const String&amp; sourceURL, unsigned lineNumber, unsigned columnNumber, PassRefPtr&lt;Inspector::ScriptCallStack&gt;, JSC::ExecState* = 0, unsigned long requestIdentifier = 0) override;
</del><ins>+    virtual void addMessage(MessageSource, MessageLevel, const String&amp; message, const String&amp; sourceURL, unsigned lineNumber, unsigned columnNumber, PassRefPtr&lt;Inspector::ScriptCallStack&gt;, JSC::ExecState* = 0, unsigned long requestIdentifier = 0) override final;
</ins><span class="cx"> 
</span><del>-    virtual double minimumTimerInterval() const override;
</del><ins>+    virtual double minimumTimerInterval() const override final;
</ins><span class="cx"> 
</span><del>-    virtual double timerAlignmentInterval() const override;
</del><ins>+    virtual double timerAlignmentInterval() const override final;
</ins><span class="cx"> 
</span><span class="cx">     void updateTitle(const StringWithDirection&amp;);
</span><span class="cx">     void updateFocusAppearanceTimerFired(Timer&lt;Document&gt;&amp;);
</span><span class="lines">@@ -1380,7 +1380,7 @@
</span><span class="cx">     bool isDOMCookieCacheValid() const { return m_cookieCacheExpiryTimer.isActive(); }
</span><span class="cx">     void invalidateDOMCookieCache();
</span><span class="cx">     void domCookieCacheExpiryTimerFired(Timer&lt;Document&gt;&amp;);
</span><del>-    void didLoadResourceSynchronously(const ResourceRequest&amp;) override final;
</del><ins>+    virtual void didLoadResourceSynchronously(const ResourceRequest&amp;) override final;
</ins><span class="cx"> 
</span><span class="cx">     unsigned m_referencingNodeCount;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoredomDocumentFragmenth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/DocumentFragment.h (175147 => 175148)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/DocumentFragment.h        2014-10-23 23:00:31 UTC (rev 175147)
+++ trunk/Source/WebCore/dom/DocumentFragment.h        2014-10-23 23:26:01 UTC (rev 175148)
</span><span class="lines">@@ -39,15 +39,15 @@
</span><span class="cx">     void parseHTML(const String&amp;, Element* contextElement, ParserContentPolicy = AllowScriptingContent);
</span><span class="cx">     bool parseXML(const String&amp;, Element* contextElement, ParserContentPolicy = AllowScriptingContent);
</span><span class="cx">     
</span><del>-    virtual bool canContainRangeEndPoint() const override { return true; }
</del><ins>+    virtual bool canContainRangeEndPoint() const override final { return true; }
</ins><span class="cx">     virtual bool isTemplateContent() const { return false; }
</span><span class="cx"> 
</span><span class="cx"> protected:
</span><span class="cx">     DocumentFragment(Document&amp;, ConstructionType = CreateContainer);
</span><del>-    virtual String nodeName() const override;
</del><ins>+    virtual String nodeName() const override final;
</ins><span class="cx"> 
</span><span class="cx"> private:
</span><del>-    virtual NodeType nodeType() const override;
</del><ins>+    virtual NodeType nodeType() const override final;
</ins><span class="cx">     virtual PassRefPtr&lt;Node&gt; cloneNode(bool deep) override;
</span><span class="cx">     virtual bool childTypeAllowed(NodeType) const override;
</span><span class="cx"> };
</span></span></pre></div>
<a id="trunkSourceWebCoredomErrorEventh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/ErrorEvent.h (175147 => 175148)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/ErrorEvent.h        2014-10-23 23:00:31 UTC (rev 175147)
+++ trunk/Source/WebCore/dom/ErrorEvent.h        2014-10-23 23:26:01 UTC (rev 175148)
</span><span class="lines">@@ -45,7 +45,7 @@
</span><span class="cx">     unsigned colno;
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-class ErrorEvent : public Event {
</del><ins>+class ErrorEvent final : public Event {
</ins><span class="cx"> public:
</span><span class="cx">     static PassRefPtr&lt;ErrorEvent&gt; create()
</span><span class="cx">     {
</span></span></pre></div>
<a id="trunkSourceWebCoredomFocusEventh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/FocusEvent.h (175147 => 175148)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/FocusEvent.h        2014-10-23 23:00:31 UTC (rev 175147)
+++ trunk/Source/WebCore/dom/FocusEvent.h        2014-10-23 23:26:01 UTC (rev 175148)
</span><span class="lines">@@ -39,7 +39,7 @@
</span><span class="cx">     RefPtr&lt;EventTarget&gt; relatedTarget;
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-class FocusEvent : public UIEvent {
</del><ins>+class FocusEvent final : public UIEvent {
</ins><span class="cx"> public:
</span><span class="cx">     static PassRefPtr&lt;FocusEvent&gt; create()
</span><span class="cx">     {
</span><span class="lines">@@ -56,17 +56,18 @@
</span><span class="cx">         return adoptRef(new FocusEvent(type, initializer));
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    virtual EventTarget* relatedTarget() const override final { return m_relatedTarget.get(); }
</del><ins>+    virtual EventTarget* relatedTarget() const override { return m_relatedTarget.get(); }
</ins><span class="cx">     void setRelatedTarget(PassRefPtr&lt;EventTarget&gt; relatedTarget) { m_relatedTarget = relatedTarget; }
</span><span class="cx"> 
</span><span class="cx">     virtual EventInterface eventInterface() const override;
</span><del>-    virtual bool isFocusEvent() const override;
</del><span class="cx"> 
</span><span class="cx"> private:
</span><span class="cx">     FocusEvent();
</span><span class="cx">     FocusEvent(const AtomicString&amp; type, bool canBubble, bool cancelable, PassRefPtr&lt;AbstractView&gt;, int, PassRefPtr&lt;EventTarget&gt;);
</span><span class="cx">     FocusEvent(const AtomicString&amp; type, const FocusEventInit&amp;);
</span><span class="cx"> 
</span><ins>+    virtual bool isFocusEvent() const override;
+
</ins><span class="cx">     RefPtr&lt;EventTarget&gt; m_relatedTarget;
</span><span class="cx"> };
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoredomHashChangeEventh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/HashChangeEvent.h (175147 => 175148)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/HashChangeEvent.h        2014-10-23 23:00:31 UTC (rev 175147)
+++ trunk/Source/WebCore/dom/HashChangeEvent.h        2014-10-23 23:26:01 UTC (rev 175148)
</span><span class="lines">@@ -35,7 +35,7 @@
</span><span class="cx">     String newURL;
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-class HashChangeEvent : public Event {
</del><ins>+class HashChangeEvent final : public Event {
</ins><span class="cx"> public:
</span><span class="cx">     static PassRefPtr&lt;HashChangeEvent&gt; create()
</span><span class="cx">     {
</span></span></pre></div>
<a id="trunkSourceWebCoredomKeyboardEventh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/KeyboardEvent.h (175147 => 175148)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/KeyboardEvent.h        2014-10-23 23:00:31 UTC (rev 175147)
+++ trunk/Source/WebCore/dom/KeyboardEvent.h        2014-10-23 23:26:01 UTC (rev 175148)
</span><span class="lines">@@ -45,7 +45,7 @@
</span><span class="cx">     bool metaKey;
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-class KeyboardEvent : public UIEventWithKeyState {
</del><ins>+class KeyboardEvent final : public UIEventWithKeyState {
</ins><span class="cx"> public:
</span><span class="cx">     enum KeyLocationCode {
</span><span class="cx">         DOM_KEY_LOCATION_STANDARD   = 0x00,
</span></span></pre></div>
<a id="trunkSourceWebCoredomLiveNodeListh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/LiveNodeList.h (175147 => 175148)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/LiveNodeList.h        2014-10-23 23:00:31 UTC (rev 175147)
+++ trunk/Source/WebCore/dom/LiveNodeList.h        2014-10-23 23:26:01 UTC (rev 175148)
</span><span class="lines">@@ -92,8 +92,8 @@
</span><span class="cx">     bool collectionCanTraverseBackward() const { return true; }
</span><span class="cx">     void willValidateIndexCache() const;
</span><span class="cx"> 
</span><del>-    virtual void invalidateCache(Document&amp;) const;
-    virtual size_t memoryCost() const override;
</del><ins>+    virtual void invalidateCache(Document&amp;) const override final;
+    virtual size_t memoryCost() const override final;
</ins><span class="cx"> 
</span><span class="cx"> protected:
</span><span class="cx">     CachedLiveNodeList(ContainerNode&amp; rootNode, NodeListInvalidationType);
</span></span></pre></div>
<a id="trunkSourceWebCoredomMessageEventh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/MessageEvent.h (175147 => 175148)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/MessageEvent.h        2014-10-23 23:00:31 UTC (rev 175147)
+++ trunk/Source/WebCore/dom/MessageEvent.h        2014-10-23 23:26:01 UTC (rev 175148)
</span><span class="lines">@@ -51,7 +51,7 @@
</span><span class="cx">     MessagePortArray ports;
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-class MessageEvent : public Event {
</del><ins>+class MessageEvent final : public Event {
</ins><span class="cx"> public:
</span><span class="cx">     static PassRefPtr&lt;MessageEvent&gt; create()
</span><span class="cx">     {
</span></span></pre></div>
<a id="trunkSourceWebCoredomMessagePorth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/MessagePort.h (175147 => 175148)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/MessagePort.h        2014-10-23 23:00:31 UTC (rev 175147)
+++ trunk/Source/WebCore/dom/MessagePort.h        2014-10-23 23:26:01 UTC (rev 175148)
</span><span class="lines">@@ -74,7 +74,6 @@
</span><span class="cx"> 
</span><span class="cx">         virtual EventTargetInterface eventTargetInterface() const override { return MessagePortEventTargetInterfaceType; }
</span><span class="cx">         virtual ScriptExecutionContext* scriptExecutionContext() const override { return m_scriptExecutionContext; }
</span><del>-        virtual bool isMessagePort() const override { return true; }
</del><span class="cx"> 
</span><span class="cx">         void dispatchMessages();
</span><span class="cx"> 
</span><span class="lines">@@ -106,6 +105,7 @@
</span><span class="cx"> 
</span><span class="cx">         virtual void refEventTarget() override { ref(); }
</span><span class="cx">         virtual void derefEventTarget() override { deref(); }
</span><ins>+        virtual bool isMessagePort() const override { return true; }
</ins><span class="cx"> 
</span><span class="cx">         std::unique_ptr&lt;MessagePortChannel&gt; m_entangledChannel;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoredomMouseEventh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/MouseEvent.h (175147 => 175148)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/MouseEvent.h        2014-10-23 23:00:31 UTC (rev 175147)
+++ trunk/Source/WebCore/dom/MouseEvent.h        2014-10-23 23:26:01 UTC (rev 175148)
</span><span class="lines">@@ -125,7 +125,7 @@
</span><span class="cx">     RefPtr&lt;DataTransfer&gt; m_dataTransfer;
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-class SimulatedMouseEvent : public MouseEvent {
</del><ins>+class SimulatedMouseEvent final : public MouseEvent {
</ins><span class="cx"> public:
</span><span class="cx">     static PassRefPtr&lt;SimulatedMouseEvent&gt; create(const AtomicString&amp; eventType, PassRefPtr&lt;AbstractView&gt;, PassRefPtr&lt;Event&gt; underlyingEvent, Element* target);
</span><span class="cx">     virtual ~SimulatedMouseEvent();
</span></span></pre></div>
<a id="trunkSourceWebCoredomMouseRelatedEventh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/MouseRelatedEvent.h (175147 => 175148)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/MouseRelatedEvent.h        2014-10-23 23:00:31 UTC (rev 175147)
+++ trunk/Source/WebCore/dom/MouseRelatedEvent.h        2014-10-23 23:26:01 UTC (rev 175148)
</span><span class="lines">@@ -44,13 +44,13 @@
</span><span class="cx">         int movementY() const { return m_movementDelta.y(); }
</span><span class="cx"> #endif
</span><span class="cx">         const LayoutPoint&amp; clientLocation() const { return m_clientLocation; }
</span><del>-        int layerX() override;
-        int layerY() override;
</del><ins>+        virtual int layerX() override;
+        virtual int layerY() override;
</ins><span class="cx">         WEBCORE_EXPORT int offsetX();
</span><span class="cx">         WEBCORE_EXPORT int offsetY();
</span><span class="cx">         bool isSimulated() const { return m_isSimulated; }
</span><del>-        virtual int pageX() const override;
-        virtual int pageY() const override;
</del><ins>+        virtual int pageX() const override final;
+        virtual int pageY() const override final;
</ins><span class="cx">         virtual const LayoutPoint&amp; pageLocation() const;
</span><span class="cx">         int x() const;
</span><span class="cx">         int y() const;
</span><span class="lines">@@ -71,7 +71,7 @@
</span><span class="cx"> 
</span><span class="cx">         void initCoordinates();
</span><span class="cx">         void initCoordinates(const LayoutPoint&amp; clientLocation);
</span><del>-        virtual void receivedTarget() override;
</del><ins>+        virtual void receivedTarget() override final;
</ins><span class="cx"> 
</span><span class="cx">         void computePageLocation();
</span><span class="cx">         void computeRelativePosition();
</span></span></pre></div>
<a id="trunkSourceWebCoredomMutationEventh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/MutationEvent.h (175147 => 175148)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/MutationEvent.h        2014-10-23 23:00:31 UTC (rev 175147)
+++ trunk/Source/WebCore/dom/MutationEvent.h        2014-10-23 23:26:01 UTC (rev 175148)
</span><span class="lines">@@ -29,7 +29,7 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-    class MutationEvent : public Event {
</del><ins>+    class MutationEvent final : public Event {
</ins><span class="cx">     public:
</span><span class="cx">         virtual ~MutationEvent();
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoredomNamedFlowCollectionh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/NamedFlowCollection.h (175147 => 175148)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/NamedFlowCollection.h        2014-10-23 23:00:31 UTC (rev 175147)
+++ trunk/Source/WebCore/dom/NamedFlowCollection.h        2014-10-23 23:26:01 UTC (rev 175148)
</span><span class="lines">@@ -43,7 +43,7 @@
</span><span class="cx"> class Document;
</span><span class="cx"> class DOMNamedFlowCollection;
</span><span class="cx"> 
</span><del>-class NamedFlowCollection : public RefCounted&lt;NamedFlowCollection&gt;, public ContextDestructionObserver {
</del><ins>+class NamedFlowCollection final : public RefCounted&lt;NamedFlowCollection&gt;, public ContextDestructionObserver {
</ins><span class="cx"> public:
</span><span class="cx">     static PassRefPtr&lt;NamedFlowCollection&gt; create(Document* doc) { return adoptRef(new NamedFlowCollection(doc)); }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoredomOverflowEventh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/OverflowEvent.h (175147 => 175148)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/OverflowEvent.h        2014-10-23 23:00:31 UTC (rev 175147)
+++ trunk/Source/WebCore/dom/OverflowEvent.h        2014-10-23 23:26:01 UTC (rev 175148)
</span><span class="lines">@@ -38,7 +38,7 @@
</span><span class="cx">     bool verticalOverflow;
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-class OverflowEvent : public Event {
</del><ins>+class OverflowEvent final : public Event {
</ins><span class="cx"> public:
</span><span class="cx">     enum orientType {
</span><span class="cx">         HORIZONTAL = 0,
</span></span></pre></div>
<a id="trunkSourceWebCoredomPageTransitionEventh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/PageTransitionEvent.h (175147 => 175148)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/PageTransitionEvent.h        2014-10-23 23:00:31 UTC (rev 175147)
+++ trunk/Source/WebCore/dom/PageTransitionEvent.h        2014-10-23 23:26:01 UTC (rev 175148)
</span><span class="lines">@@ -36,7 +36,7 @@
</span><span class="cx">     bool persisted;
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-class PageTransitionEvent : public Event {
</del><ins>+class PageTransitionEvent final : public Event {
</ins><span class="cx"> public:
</span><span class="cx">     static PassRefPtr&lt;PageTransitionEvent&gt; create()
</span><span class="cx">     {
</span></span></pre></div>
<a id="trunkSourceWebCoredomPendingScripth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/PendingScript.h (175147 => 175148)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/PendingScript.h        2014-10-23 23:00:31 UTC (rev 175147)
+++ trunk/Source/WebCore/dom/PendingScript.h        2014-10-23 23:26:01 UTC (rev 175148)
</span><span class="lines">@@ -42,7 +42,7 @@
</span><span class="cx"> // A CachedResourceHandle alone does not prevent the underlying CachedResource
</span><span class="cx"> // from purging its data buffer. This class holds a dummy client open for its
</span><span class="cx"> // lifetime in order to guarantee that the data buffer will not be purged.
</span><del>-class PendingScript : public CachedResourceClient {
</del><ins>+class PendingScript final : public CachedResourceClient {
</ins><span class="cx"> public:
</span><span class="cx">     PendingScript()
</span><span class="cx">         : m_watchingForLoad(false)
</span><span class="lines">@@ -66,7 +66,7 @@
</span><span class="cx">         setCachedScript(other.cachedScript());
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    ~PendingScript();
</del><ins>+    virtual ~PendingScript();
</ins><span class="cx"> 
</span><span class="cx">     PendingScript&amp; operator=(const PendingScript&amp; other)
</span><span class="cx">     {
</span></span></pre></div>
<a id="trunkSourceWebCoredomPopStateEventh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/PopStateEvent.h (175147 => 175148)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/PopStateEvent.h        2014-10-23 23:00:31 UTC (rev 175147)
+++ trunk/Source/WebCore/dom/PopStateEvent.h        2014-10-23 23:26:01 UTC (rev 175148)
</span><span class="lines">@@ -41,7 +41,7 @@
</span><span class="cx"> class History;
</span><span class="cx"> class SerializedScriptValue;
</span><span class="cx"> 
</span><del>-class PopStateEvent : public Event {
</del><ins>+class PopStateEvent final : public Event {
</ins><span class="cx"> public:
</span><span class="cx">     virtual ~PopStateEvent();
</span><span class="cx">     static PassRefPtr&lt;PopStateEvent&gt; create();
</span></span></pre></div>
<a id="trunkSourceWebCoredomRawDataDocumentParserh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/RawDataDocumentParser.h (175147 => 175148)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/RawDataDocumentParser.h        2014-10-23 23:00:31 UTC (rev 175147)
+++ trunk/Source/WebCore/dom/RawDataDocumentParser.h        2014-10-23 23:26:01 UTC (rev 175148)
</span><span class="lines">@@ -37,26 +37,26 @@
</span><span class="cx">     {
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    virtual void finish()
</del><ins>+    virtual void finish() override
</ins><span class="cx">     {
</span><span class="cx">         if (!isStopped())
</span><span class="cx">             document()-&gt;finishedParsing();
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx"> private:
</span><del>-    virtual void flush(DocumentWriter&amp; writer)
</del><ins>+    virtual void flush(DocumentWriter&amp; writer) override
</ins><span class="cx">     {
</span><span class="cx">         // Make sure appendBytes is called at least once.
</span><span class="cx">         appendBytes(writer, 0, 0);
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    virtual void insert(const SegmentedString&amp;)
</del><ins>+    virtual void insert(const SegmentedString&amp;) override
</ins><span class="cx">     {
</span><span class="cx">         // &lt;https://bugs.webkit.org/show_bug.cgi?id=25397&gt;: JS code can always call document.write, we need to handle it.
</span><span class="cx">         ASSERT_NOT_REACHED();
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    virtual void append(PassRefPtr&lt;StringImpl&gt;)
</del><ins>+    virtual void append(PassRefPtr&lt;StringImpl&gt;) override
</ins><span class="cx">     {
</span><span class="cx">         ASSERT_NOT_REACHED();
</span><span class="cx">     }
</span></span></pre></div>
<a id="trunkSourceWebCoredomScriptableDocumentParserh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/ScriptableDocumentParser.h (175147 => 175148)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/ScriptableDocumentParser.h        2014-10-23 23:00:31 UTC (rev 175147)
+++ trunk/Source/WebCore/dom/ScriptableDocumentParser.h        2014-10-23 23:26:01 UTC (rev 175148)
</span><span class="lines">@@ -55,7 +55,7 @@
</span><span class="cx">     explicit ScriptableDocumentParser(Document&amp;, ParserContentPolicy = AllowScriptingContent);
</span><span class="cx"> 
</span><span class="cx"> private:
</span><del>-    virtual ScriptableDocumentParser* asScriptableDocumentParser() override { return this; }
</del><ins>+    virtual ScriptableDocumentParser* asScriptableDocumentParser() override final { return this; }
</ins><span class="cx"> 
</span><span class="cx">     // http://www.whatwg.org/specs/web-apps/current-work/#script-created-parser
</span><span class="cx">     bool m_wasCreatedByScript;
</span></span></pre></div>
<a id="trunkSourceWebCoredomSecurityPolicyViolationEventh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/SecurityPolicyViolationEvent.h (175147 => 175148)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/SecurityPolicyViolationEvent.h        2014-10-23 23:00:31 UTC (rev 175147)
+++ trunk/Source/WebCore/dom/SecurityPolicyViolationEvent.h        2014-10-23 23:26:01 UTC (rev 175148)
</span><span class="lines">@@ -46,7 +46,7 @@
</span><span class="cx">     int lineNumber;
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-class SecurityPolicyViolationEvent : public Event {
</del><ins>+class SecurityPolicyViolationEvent final : public Event {
</ins><span class="cx"> public:
</span><span class="cx">     static PassRefPtr&lt;SecurityPolicyViolationEvent&gt; create()
</span><span class="cx">     {
</span></span></pre></div>
<a id="trunkSourceWebCoredomTextEventh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/TextEvent.h (175147 => 175148)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/TextEvent.h        2014-10-23 23:00:31 UTC (rev 175147)
+++ trunk/Source/WebCore/dom/TextEvent.h        2014-10-23 23:26:01 UTC (rev 175148)
</span><span class="lines">@@ -37,7 +37,7 @@
</span><span class="cx"> 
</span><span class="cx">     enum class MailBlockquoteHandling;
</span><span class="cx"> 
</span><del>-    class TextEvent : public UIEvent {
</del><ins>+    class TextEvent final : public UIEvent {
</ins><span class="cx">     public:
</span><span class="cx"> 
</span><span class="cx">         static PassRefPtr&lt;TextEvent&gt; create();
</span></span></pre></div>
<a id="trunkSourceWebCoredomTouchEventh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/TouchEvent.h (175147 => 175148)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/TouchEvent.h        2014-10-23 23:00:31 UTC (rev 175147)
+++ trunk/Source/WebCore/dom/TouchEvent.h        2014-10-23 23:26:01 UTC (rev 175148)
</span><span class="lines">@@ -36,7 +36,7 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-class TouchEvent : public MouseRelatedEvent {
</del><ins>+class TouchEvent final : public MouseRelatedEvent {
</ins><span class="cx"> public:
</span><span class="cx">     virtual ~TouchEvent();
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoredomTransitionEventh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/TransitionEvent.h (175147 => 175148)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/TransitionEvent.h        2014-10-23 23:00:31 UTC (rev 175147)
+++ trunk/Source/WebCore/dom/TransitionEvent.h        2014-10-23 23:26:01 UTC (rev 175148)
</span><span class="lines">@@ -39,7 +39,7 @@
</span><span class="cx">     String pseudoElement;
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-class TransitionEvent : public Event {
</del><ins>+class TransitionEvent final : public Event {
</ins><span class="cx"> public:
</span><span class="cx">     static PassRefPtr&lt;TransitionEvent&gt; create()
</span><span class="cx">     {
</span></span></pre></div>
<a id="trunkSourceWebCoredomUIEventh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/UIEvent.h (175147 => 175148)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/UIEvent.h        2014-10-23 23:00:31 UTC (rev 175147)
+++ trunk/Source/WebCore/dom/UIEvent.h        2014-10-23 23:26:01 UTC (rev 175148)
</span><span class="lines">@@ -61,7 +61,6 @@
</span><span class="cx">     int detail() const { return m_detail; }
</span><span class="cx"> 
</span><span class="cx">     virtual EventInterface eventInterface() const override;
</span><del>-    virtual bool isUIEvent() const override;
</del><span class="cx"> 
</span><span class="cx">     virtual int keyCode() const;
</span><span class="cx">     virtual int charCode() const;
</span><span class="lines">@@ -81,6 +80,8 @@
</span><span class="cx">     UIEvent(const AtomicString&amp;, const UIEventInit&amp;);
</span><span class="cx"> 
</span><span class="cx"> private:
</span><ins>+    virtual bool isUIEvent() const override final;
+
</ins><span class="cx">     RefPtr&lt;AbstractView&gt; m_view;
</span><span class="cx">     int m_detail;
</span><span class="cx"> };
</span></span></pre></div>
<a id="trunkSourceWebCoredomWebKitAnimationEventh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/WebKitAnimationEvent.h (175147 => 175148)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/WebKitAnimationEvent.h        2014-10-23 23:00:31 UTC (rev 175147)
+++ trunk/Source/WebCore/dom/WebKitAnimationEvent.h        2014-10-23 23:26:01 UTC (rev 175148)
</span><span class="lines">@@ -37,7 +37,7 @@
</span><span class="cx">     double elapsedTime;
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-class WebKitAnimationEvent : public Event {
</del><ins>+class WebKitAnimationEvent final : public Event {
</ins><span class="cx"> public:
</span><span class="cx">     static PassRefPtr&lt;WebKitAnimationEvent&gt; create()
</span><span class="cx">     {
</span></span></pre></div>
<a id="trunkSourceWebCoredomWebKitTransitionEventh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/WebKitTransitionEvent.h (175147 => 175148)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/WebKitTransitionEvent.h        2014-10-23 23:00:31 UTC (rev 175147)
+++ trunk/Source/WebCore/dom/WebKitTransitionEvent.h        2014-10-23 23:26:01 UTC (rev 175148)
</span><span class="lines">@@ -38,7 +38,7 @@
</span><span class="cx">     String pseudoElement;
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-class WebKitTransitionEvent : public Event {
</del><ins>+class WebKitTransitionEvent final : public Event {
</ins><span class="cx"> public:
</span><span class="cx">     static PassRefPtr&lt;WebKitTransitionEvent&gt; create()
</span><span class="cx">     {
</span></span></pre></div>
<a id="trunkSourceWebCoredomWheelEventh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/WheelEvent.h (175147 => 175148)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/WheelEvent.h        2014-10-23 23:00:31 UTC (rev 175147)
+++ trunk/Source/WebCore/dom/WheelEvent.h        2014-10-23 23:26:01 UTC (rev 175148)
</span><span class="lines">@@ -44,7 +44,7 @@
</span><span class="cx">     int wheelDeltaY; // Deprecated.
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-class WheelEvent : public MouseEvent {
</del><ins>+class WheelEvent final : public MouseEvent {
</ins><span class="cx"> public:
</span><span class="cx">     enum { TickMultiplier = 120 };
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorepageDeviceControllerh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/DeviceController.h (175147 => 175148)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/DeviceController.h        2014-10-23 23:00:31 UTC (rev 175147)
+++ trunk/Source/WebCore/page/DeviceController.h        2014-10-23 23:26:01 UTC (rev 175148)
</span><span class="lines">@@ -42,7 +42,7 @@
</span><span class="cx">     WTF_MAKE_FAST_ALLOCATED;
</span><span class="cx"> public:
</span><span class="cx">     explicit DeviceController(DeviceClient*);
</span><del>-    ~DeviceController() { }
</del><ins>+    virtual ~DeviceController() { }
</ins><span class="cx"> 
</span><span class="cx">     void addDeviceEventListener(DOMWindow*);
</span><span class="cx">     void removeDeviceEventListener(DOMWindow*);
</span></span></pre></div>
<a id="trunkSourceWebKitWebKitvcxprojWebKitExportGeneratorWebKitExportsdefin"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in (175147 => 175148)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in        2014-10-23 23:00:31 UTC (rev 175147)
+++ trunk/Source/WebKit/WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in        2014-10-23 23:26:01 UTC (rev 175148)
</span><span class="lines">@@ -136,7 +136,6 @@
</span><span class="cx">         symbolWithPointer(?instrumentationForPage@WebCore@@YAPAVInstrumentingAgents@1@PAVPage@1@@Z, ?instrumentationForPage@WebCore@@YAPEAVInstrumentingAgents@1@PEAVPage@1@@Z)
</span><span class="cx">         ?isMainThread@WTF@@YA_NXZ
</span><span class="cx">         symbolWithPointer(?lock@Mutex@WTF@@QAEXXZ, ?lock@Mutex@WTF@@QEAAXXZ)
</span><del>-        symbolWithPointer(?scriptedAnimationControllerSetThrottled@Document@WebCore@@UAEX_N@Z, ?scriptedAnimationControllerSetThrottled@Document@WebCore@@UEAAX_N@Z)
</del><span class="cx">         symbolWithPointer(?signal@ThreadCondition@WTF@@QAEXXZ, ?signal@ThreadCondition@WTF@@QEAAXXZ)
</span><span class="cx">         symbolWithPointer(?timedWait@ThreadCondition@WTF@@QAE_NAAVMutex@2@N@Z, ?timedWait@ThreadCondition@WTF@@QEAA_NAEAVMutex@2@N@Z)
</span><span class="cx">         symbolWithPointer(?tlsKeyCount@WTF@@YAAAJXZ, ?tlsKeyCount@WTF@@YAAEAJXZ)
</span></span></pre>
</div>
</div>

</body>
</html>