<!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>[172917] trunk/Source/WebKit2</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/172917">172917</a></dd>
<dt>Author</dt> <dd>zandobersek@gmail.com</dd>
<dt>Date</dt> <dd>2014-08-25 05:22:58 -0700 (Mon, 25 Aug 2014)</dd>
</dl>

<h3>Log Message</h3>
<pre>Improve virtual method declarations in LayerTreeHostGtk
https://bugs.webkit.org/show_bug.cgi?id=136210

Reviewed by Carlos Garcia Campos.

Mark the LayerTreeHostGtk class as final in the virtual inheritance hierarchy.

Order the public and private virtual method overrides from the LayerTreeHost
and GraphicsLayerClient interfaces. Explicitly mark them as overriding the
base class methods.

Remove the overriding notifyAnimationStarted() and notifyFlushRequired()
methods since they are identical to the methods in the base class.

De-virtualize flushPendingLayerChanges(). It's not inherited and is not
overriden by anything (and nothing can inherit from LayerTreeHostGtk from
now on due to the final specifier).

* WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
(WebKit::LayerTreeHostGtk::notifyAnimationStarted): Deleted.
(WebKit::LayerTreeHostGtk::notifyFlushRequired): Deleted.
* WebProcess/WebPage/gtk/LayerTreeHostGtk.h:
(WebKit::LayerTreeHostGtk::didCommitChangesForLayer): Deleted.</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceWebKit2ChangeLog">trunk/Source/WebKit2/ChangeLog</a></li>
<li><a href="#trunkSourceWebKit2WebProcessWebPagegtkLayerTreeHostGtkcpp">trunk/Source/WebKit2/WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp</a></li>
<li><a href="#trunkSourceWebKit2WebProcessWebPagegtkLayerTreeHostGtkh">trunk/Source/WebKit2/WebProcess/WebPage/gtk/LayerTreeHostGtk.h</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceWebKit2ChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/ChangeLog (172916 => 172917)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/ChangeLog        2014-08-25 12:05:15 UTC (rev 172916)
+++ trunk/Source/WebKit2/ChangeLog        2014-08-25 12:22:58 UTC (rev 172917)
</span><span class="lines">@@ -1,3 +1,29 @@
</span><ins>+2014-08-25  Zan Dobersek  &lt;zdobersek@igalia.com&gt;
+
+        Improve virtual method declarations in LayerTreeHostGtk
+        https://bugs.webkit.org/show_bug.cgi?id=136210
+
+        Reviewed by Carlos Garcia Campos.
+
+        Mark the LayerTreeHostGtk class as final in the virtual inheritance hierarchy.
+
+        Order the public and private virtual method overrides from the LayerTreeHost
+        and GraphicsLayerClient interfaces. Explicitly mark them as overriding the
+        base class methods.
+
+        Remove the overriding notifyAnimationStarted() and notifyFlushRequired()
+        methods since they are identical to the methods in the base class.
+
+        De-virtualize flushPendingLayerChanges(). It's not inherited and is not
+        overriden by anything (and nothing can inherit from LayerTreeHostGtk from
+        now on due to the final specifier).
+
+        * WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
+        (WebKit::LayerTreeHostGtk::notifyAnimationStarted): Deleted.
+        (WebKit::LayerTreeHostGtk::notifyFlushRequired): Deleted.
+        * WebProcess/WebPage/gtk/LayerTreeHostGtk.h:
+        (WebKit::LayerTreeHostGtk::didCommitChangesForLayer): Deleted.
+
</ins><span class="cx"> 2014-08-24  Brian J. Burg  &lt;burg@cs.washington.edu&gt;
</span><span class="cx"> 
</span><span class="cx">         Remove unused method declarations replaced by WebPage::setViewState
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessWebPagegtkLayerTreeHostGtkcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp (172916 => 172917)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp        2014-08-25 12:05:15 UTC (rev 172916)
+++ trunk/Source/WebKit2/WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp        2014-08-25 12:22:58 UTC (rev 172917)
</span><span class="lines">@@ -263,14 +263,6 @@
</span><span class="cx">     scheduleLayerFlush();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void LayerTreeHostGtk::notifyAnimationStarted(const WebCore::GraphicsLayer*, double /* time */)
-{
-}
-
-void LayerTreeHostGtk::notifyFlushRequired(const WebCore::GraphicsLayer*)
-{
-}
-
</del><span class="cx"> void LayerTreeHostGtk::paintContents(const GraphicsLayer* graphicsLayer, GraphicsContext&amp; graphicsContext, GraphicsLayerPaintingPhase, const FloatRect&amp; clipRect)
</span><span class="cx"> {
</span><span class="cx">     if (graphicsLayer == m_nonCompositedContentLayer.get()) {
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessWebPagegtkLayerTreeHostGtkh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/WebPage/gtk/LayerTreeHostGtk.h (172916 => 172917)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/WebPage/gtk/LayerTreeHostGtk.h        2014-08-25 12:05:15 UTC (rev 172916)
+++ trunk/Source/WebKit2/WebProcess/WebPage/gtk/LayerTreeHostGtk.h        2014-08-25 12:22:58 UTC (rev 172917)
</span><span class="lines">@@ -40,7 +40,7 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebKit {
</span><span class="cx"> 
</span><del>-class LayerTreeHostGtk : public LayerTreeHost, WebCore::GraphicsLayerClient {
</del><ins>+class LayerTreeHostGtk final : public LayerTreeHost, WebCore::GraphicsLayerClient {
</ins><span class="cx"> public:
</span><span class="cx">     static PassRefPtr&lt;LayerTreeHostGtk&gt; create(WebPage*);
</span><span class="cx">     virtual ~LayerTreeHostGtk();
</span><span class="lines">@@ -52,37 +52,35 @@
</span><span class="cx"> 
</span><span class="cx">     void initialize();
</span><span class="cx"> 
</span><del>-    // LayerTreeHost.
-    virtual void invalidate();
-    virtual void sizeDidChange(const WebCore::IntSize&amp; newSize);
-    virtual void deviceOrPageScaleFactorChanged();
-    virtual void forceRepaint();
-    virtual void setRootCompositingLayer(WebCore::GraphicsLayer*);
-    virtual void scheduleLayerFlush();
-    virtual void setLayerFlushSchedulingEnabled(bool layerFlushingEnabled);
</del><ins>+    // LayerTreeHost
+    virtual void scheduleLayerFlush() override;
+    virtual void setLayerFlushSchedulingEnabled(bool layerFlushingEnabled) override;
+    virtual void setRootCompositingLayer(WebCore::GraphicsLayer*) override;
+    virtual void invalidate() override;
+
+    virtual void forceRepaint() override;
+    virtual void sizeDidChange(const WebCore::IntSize&amp; newSize) override;
+    virtual void deviceOrPageScaleFactorChanged() override;
</ins><span class="cx">     virtual void pageBackgroundTransparencyChanged() override;
</span><span class="cx"> 
</span><span class="cx"> private:
</span><del>-    // LayerTreeHost.
-    virtual const LayerTreeContext&amp; layerTreeContext();
-    virtual void setShouldNotifyAfterNextScheduledLayerFlush(bool);
</del><ins>+    // LayerTreeHost
+    virtual const LayerTreeContext&amp; layerTreeContext() override;
+    virtual void setShouldNotifyAfterNextScheduledLayerFlush(bool) override;
</ins><span class="cx"> 
</span><span class="cx">     virtual void setNonCompositedContentsNeedDisplay() override;
</span><span class="cx">     virtual void setNonCompositedContentsNeedDisplayInRect(const WebCore::IntRect&amp;) override;
</span><del>-    virtual void scrollNonCompositedContents(const WebCore::IntRect&amp; scrollRect);
</del><ins>+    virtual void scrollNonCompositedContents(const WebCore::IntRect&amp; scrollRect) override;
</ins><span class="cx"> 
</span><span class="cx">     virtual void didInstallPageOverlay(PageOverlay*) override;
</span><span class="cx">     virtual void didUninstallPageOverlay(PageOverlay*) override;
</span><span class="cx">     virtual void setPageOverlayNeedsDisplay(PageOverlay*, const WebCore::IntRect&amp;) override;
</span><span class="cx"> 
</span><del>-    virtual bool flushPendingLayerChanges();
-
</del><span class="cx">     // GraphicsLayerClient
</span><del>-    virtual void notifyAnimationStarted(const WebCore::GraphicsLayer*, double time);
-    virtual void notifyFlushRequired(const WebCore::GraphicsLayer*);
-    virtual void paintContents(const WebCore::GraphicsLayer*, WebCore::GraphicsContext&amp;, WebCore::GraphicsLayerPaintingPhase, const WebCore::FloatRect&amp; clipRect);
-    virtual void didCommitChangesForLayer(const WebCore::GraphicsLayer*) const { }
</del><ins>+    virtual void paintContents(const WebCore::GraphicsLayer*, WebCore::GraphicsContext&amp;, WebCore::GraphicsLayerPaintingPhase, const WebCore::FloatRect&amp; clipRect) override;
</ins><span class="cx"> 
</span><ins>+    bool flushPendingLayerChanges();
+
</ins><span class="cx">     void createPageOverlayLayer(PageOverlay*);
</span><span class="cx">     void destroyPageOverlayLayer(PageOverlay*);
</span><span class="cx"> 
</span></span></pre>
</div>
</div>

</body>
</html>