<!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>[172856] 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/172856">172856</a></dd>
<dt>Author</dt> <dd>zandobersek@gmail.com</dd>
<dt>Date</dt> <dd>2014-08-22 01:19:52 -0700 (Fri, 22 Aug 2014)</dd>
</dl>

<h3>Log Message</h3>
<pre>[GTK] Add the Wayland protocol extension
https://bugs.webkit.org/show_bug.cgi?id=136102

Reviewed by Martin Robinson.

Add the Wayland protocol extension that allows mapping GtkWidget
objects (via an ID that's unique to that GtkWidget) to the
corresponding Wayland surface objects. This way the nested
compositor has the proper information about what GtkWidget has
to be updated when surfaces are committed by the LayerTreeHost.

* PlatformGTK.cmake:
* platform/graphics/wayland: Added.
* platform/graphics/wayland/WebKitGtkWaylandClientProtocol.xml: Added.</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCorePlatformGTKcmake">trunk/Source/WebCore/PlatformGTK.cmake</a></li>
</ul>

<h3>Added Paths</h3>
<ul>
<li>trunk/Source/WebCore/platform/graphics/wayland/</li>
<li><a href="#trunkSourceWebCoreplatformgraphicswaylandWebKitGtkWaylandClientProtocolxml">trunk/Source/WebCore/platform/graphics/wayland/WebKitGtkWaylandClientProtocol.xml</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (172855 => 172856)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2014-08-22 05:41:18 UTC (rev 172855)
+++ trunk/Source/WebCore/ChangeLog        2014-08-22 08:19:52 UTC (rev 172856)
</span><span class="lines">@@ -1,3 +1,20 @@
</span><ins>+2014-08-22  Zan Dobersek  &lt;zdobersek@igalia.com&gt;
+
+        [GTK] Add the Wayland protocol extension
+        https://bugs.webkit.org/show_bug.cgi?id=136102
+
+        Reviewed by Martin Robinson.
+
+        Add the Wayland protocol extension that allows mapping GtkWidget
+        objects (via an ID that's unique to that GtkWidget) to the
+        corresponding Wayland surface objects. This way the nested
+        compositor has the proper information about what GtkWidget has
+        to be updated when surfaces are committed by the LayerTreeHost.
+
+        * PlatformGTK.cmake:
+        * platform/graphics/wayland: Added.
+        * platform/graphics/wayland/WebKitGtkWaylandClientProtocol.xml: Added.
+
</ins><span class="cx"> 2014-08-21  Antti Koivisto  &lt;antti@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Animated GIFs scrolled out of view still cause titlebar blur to update, on tumblr.com page
</span></span></pre></div>
<a id="trunkSourceWebCorePlatformGTKcmake"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/PlatformGTK.cmake (172855 => 172856)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/PlatformGTK.cmake        2014-08-22 05:41:18 UTC (rev 172855)
+++ trunk/Source/WebCore/PlatformGTK.cmake        2014-08-22 08:19:52 UTC (rev 172856)
</span><span class="lines">@@ -425,6 +425,21 @@
</span><span class="cx">     )
</span><span class="cx"> endif ()
</span><span class="cx"> 
</span><ins>+# Wayland protocol extension.
+add_custom_command(
+    OUTPUT ${DERIVED_SOURCES_WEBCORE_DIR}/WebKitGtkWaylandClientProtocol.c
+    DEPENDS ${WEBCORE_DIR}/platform/graphics/wayland/WebKitGtkWaylandClientProtocol.xml
+    COMMAND wayland-scanner server-header &lt; ${WEBCORE_DIR}/platform/graphics/wayland/WebKitGtkWaylandClientProtocol.xml &gt; ${DERIVED_SOURCES_WEBCORE_DIR}/WebKitGtkWaylandServerProtocol.h
+    COMMAND wayland-scanner client-header &lt; ${WEBCORE_DIR}/platform/graphics/wayland/WebKitGtkWaylandClientProtocol.xml &gt; ${DERIVED_SOURCES_WEBCORE_DIR}/WebKitGtkWaylandClientProtocol.h
+    COMMAND wayland-scanner code &lt; ${WEBCORE_DIR}/platform/graphics/wayland/WebKitGtkWaylandClientProtocol.xml &gt; ${DERIVED_SOURCES_WEBCORE_DIR}/WebKitGtkWaylandClientProtocol.c
+)
+
+if (ENABLE_WAYLAND_TARGET)
+    list(APPEND WebCorePlatformGTK_SOURCES
+        ${DERIVED_SOURCES_WEBCORE_DIR}/WebKitGtkWaylandClientProtocol.c
+    )
+endif ()
+
</ins><span class="cx"> add_library(WebCorePlatformGTK ${WebCore_LIBRARY_TYPE} ${WebCorePlatformGTK_SOURCES})
</span><span class="cx"> add_dependencies(WebCorePlatformGTK WebCore)
</span><span class="cx"> WEBKIT_SET_EXTRA_COMPILER_FLAGS(WebCorePlatformGTK)
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicswaylandWebKitGtkWaylandClientProtocolxml"></a>
<div class="addfile"><h4>Added: trunk/Source/WebCore/platform/graphics/wayland/WebKitGtkWaylandClientProtocol.xml (0 => 172856)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/wayland/WebKitGtkWaylandClientProtocol.xml                                (rev 0)
+++ trunk/Source/WebCore/platform/graphics/wayland/WebKitGtkWaylandClientProtocol.xml        2014-08-22 08:19:52 UTC (rev 172856)
</span><span class="lines">@@ -0,0 +1,37 @@
</span><ins>+&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
+&lt;protocol name=&quot;wl_webkitgtk&quot;&gt;
+
+  &lt;copyright&gt;
+    Copyright © 2014 Igalia S.L.
+
+    Permission to use, copy, modify, distribute, and sell this
+    software and its documentation for any purpose is hereby granted
+    without fee, provided that the above copyright notice appear in
+    all copies and that both that copyright notice and this permission
+    notice appear in supporting documentation, and that the name of
+    the copyright holders not be used in advertising or publicity
+    pertaining to distribution of the software without specific,
+    written prior permission.  The copyright holders make no
+    representations about the suitability of this software for any
+    purpose.  It is provided &quot;as is&quot; without express or implied
+    warranty.
+
+    THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
+    SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
+    FITNESS, IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY
+    SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+    WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
+    AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+    ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
+    THIS SOFTWARE.
+  &lt;/copyright&gt;
+
+  &lt;interface name=&quot;wl_webkitgtk&quot; version=&quot;1&quot;&gt;
+    &lt;request name=&quot;set_surface_for_widget&quot;&gt;
+      &lt;arg name=&quot;surface&quot; type=&quot;object&quot; interface=&quot;wl_surface&quot;/&gt;
+      &lt;arg name=&quot;id&quot; type=&quot;uint&quot;/&gt;
+    &lt;/request&gt;
+
+  &lt;/interface&gt;
+
+&lt;/protocol&gt;
</ins></span></pre>
</div>
</div>

</body>
</html>