<!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>[176954] 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/176954">176954</a></dd>
<dt>Author</dt> <dd>yoon@igalia.com</dd>
<dt>Date</dt> <dd>2014-12-08 10:46:49 -0800 (Mon, 08 Dec 2014)</dd>
</dl>

<h3>Log Message</h3>
<pre>[GTK] Let DrawingArea manages setAcceleratedCompositingWindowId
https://bugs.webkit.org/show_bug.cgi?id=117230

Reviewed by Anders Carlsson.

This is a preparation patch for Threaded Coordinated Graphics.

LayerTreeHostGtk uses a native window handle to make glContext for
accelerated compositing. Therefore it is natural for DrawingArea to take
responsibility for the native window handle. And, in Coordinated
Graphics case, WebPage creates LayerTreeHost before receiving a native
window handle from UIProcess. It means we need a method to pass the
native window handle to already created LayerTreeHost.

This patch uses DrawingAreaProxy::setNativeSurfaceHandleForCompositing
instead of WebCoreProxy::setAcceleratedCompositingWindowId to set window
ID for accelerated compositing.

Also, this patch renames the setAcceleratedCompositingWindowId with a
more generic name, setNativeSurfaceHandleForCompositing.

No new tests. No change in functionality.

* UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkitWebViewBaseCreateWebPage):
* UIProcess/DrawingAreaProxyImpl.cpp:
(WebKit::DrawingAreaProxyImpl::setNativeSurfaceHandleForCompositing):
* UIProcess/DrawingAreaProxyImpl.h:
* UIProcess/WebPageProxy.h:
* UIProcess/gtk/WebPageProxyGtk.cpp:
(WebKit::WebPageProxy::setAcceleratedCompositingWindowId): Deleted.
* WebProcess/WebPage/DrawingArea.h:
(WebKit::DrawingArea::nativeSurfaceHandleForCompositing):
* WebProcess/WebPage/DrawingArea.messages.in:
* WebProcess/WebPage/DrawingAreaImpl.cpp:
(WebKit::DrawingAreaImpl::setNativeSurfaceHandleForCompositing):
* WebProcess/WebPage/DrawingAreaImpl.h:
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/WebPage.messages.in:
* WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
(WebKit::LayerTreeHostGtk::glContext):
(WebKit::LayerTreeHostGtk::initialize):
* WebProcess/WebPage/gtk/WebPageGtk.cpp:
(WebKit::WebPage::platformInitialize):
(WebKit::WebPage::setAcceleratedCompositingWindowId): Deleted.</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceWebKit2ChangeLog">trunk/Source/WebKit2/ChangeLog</a></li>
<li><a href="#trunkSourceWebKit2UIProcessAPIgtkWebKitWebViewBasecpp">trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBase.cpp</a></li>
<li><a href="#trunkSourceWebKit2UIProcessDrawingAreaProxyImplcpp">trunk/Source/WebKit2/UIProcess/DrawingAreaProxyImpl.cpp</a></li>
<li><a href="#trunkSourceWebKit2UIProcessDrawingAreaProxyImplh">trunk/Source/WebKit2/UIProcess/DrawingAreaProxyImpl.h</a></li>
<li><a href="#trunkSourceWebKit2UIProcessWebPageProxyh">trunk/Source/WebKit2/UIProcess/WebPageProxy.h</a></li>
<li><a href="#trunkSourceWebKit2UIProcessgtkWebPageProxyGtkcpp">trunk/Source/WebKit2/UIProcess/gtk/WebPageProxyGtk.cpp</a></li>
<li><a href="#trunkSourceWebKit2WebProcessWebPageDrawingAreah">trunk/Source/WebKit2/WebProcess/WebPage/DrawingArea.h</a></li>
<li><a href="#trunkSourceWebKit2WebProcessWebPageDrawingAreamessagesin">trunk/Source/WebKit2/WebProcess/WebPage/DrawingArea.messages.in</a></li>
<li><a href="#trunkSourceWebKit2WebProcessWebPageDrawingAreaImplcpp">trunk/Source/WebKit2/WebProcess/WebPage/DrawingAreaImpl.cpp</a></li>
<li><a href="#trunkSourceWebKit2WebProcessWebPageDrawingAreaImplh">trunk/Source/WebKit2/WebProcess/WebPage/DrawingAreaImpl.h</a></li>
<li><a href="#trunkSourceWebKit2WebProcessWebPageWebPageh">trunk/Source/WebKit2/WebProcess/WebPage/WebPage.h</a></li>
<li><a href="#trunkSourceWebKit2WebProcessWebPageWebPagemessagesin">trunk/Source/WebKit2/WebProcess/WebPage/WebPage.messages.in</a></li>
<li><a href="#trunkSourceWebKit2WebProcessWebPagegtkLayerTreeHostGtkcpp">trunk/Source/WebKit2/WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp</a></li>
<li><a href="#trunkSourceWebKit2WebProcessWebPagegtkWebPageGtkcpp">trunk/Source/WebKit2/WebProcess/WebPage/gtk/WebPageGtk.cpp</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceWebKit2ChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/ChangeLog (176953 => 176954)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/ChangeLog        2014-12-08 18:42:12 UTC (rev 176953)
+++ trunk/Source/WebKit2/ChangeLog        2014-12-08 18:46:49 UTC (rev 176954)
</span><span class="lines">@@ -1,3 +1,51 @@
</span><ins>+2014-12-08  Gwang Yoon Hwang  &lt;yoon@igalia.com&gt;
+
+        [GTK] Let DrawingArea manages setAcceleratedCompositingWindowId
+        https://bugs.webkit.org/show_bug.cgi?id=117230
+
+        Reviewed by Anders Carlsson.
+
+        This is a preparation patch for Threaded Coordinated Graphics.
+
+        LayerTreeHostGtk uses a native window handle to make glContext for
+        accelerated compositing. Therefore it is natural for DrawingArea to take
+        responsibility for the native window handle. And, in Coordinated
+        Graphics case, WebPage creates LayerTreeHost before receiving a native
+        window handle from UIProcess. It means we need a method to pass the
+        native window handle to already created LayerTreeHost.
+
+        This patch uses DrawingAreaProxy::setNativeSurfaceHandleForCompositing
+        instead of WebCoreProxy::setAcceleratedCompositingWindowId to set window
+        ID for accelerated compositing.
+
+        Also, this patch renames the setAcceleratedCompositingWindowId with a
+        more generic name, setNativeSurfaceHandleForCompositing.
+
+        No new tests. No change in functionality.
+
+        * UIProcess/API/gtk/WebKitWebViewBase.cpp:
+        (webkitWebViewBaseCreateWebPage):
+        * UIProcess/DrawingAreaProxyImpl.cpp:
+        (WebKit::DrawingAreaProxyImpl::setNativeSurfaceHandleForCompositing):
+        * UIProcess/DrawingAreaProxyImpl.h:
+        * UIProcess/WebPageProxy.h:
+        * UIProcess/gtk/WebPageProxyGtk.cpp:
+        (WebKit::WebPageProxy::setAcceleratedCompositingWindowId): Deleted.
+        * WebProcess/WebPage/DrawingArea.h:
+        (WebKit::DrawingArea::nativeSurfaceHandleForCompositing):
+        * WebProcess/WebPage/DrawingArea.messages.in:
+        * WebProcess/WebPage/DrawingAreaImpl.cpp:
+        (WebKit::DrawingAreaImpl::setNativeSurfaceHandleForCompositing):
+        * WebProcess/WebPage/DrawingAreaImpl.h:
+        * WebProcess/WebPage/WebPage.h:
+        * WebProcess/WebPage/WebPage.messages.in:
+        * WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
+        (WebKit::LayerTreeHostGtk::glContext):
+        (WebKit::LayerTreeHostGtk::initialize):
+        * WebProcess/WebPage/gtk/WebPageGtk.cpp:
+        (WebKit::WebPage::platformInitialize):
+        (WebKit::WebPage::setAcceleratedCompositingWindowId): Deleted.
+
</ins><span class="cx"> 2014-12-08  Philippe Normand  &lt;pnormand@igalia.com&gt;
</span><span class="cx"> 
</span><span class="cx">         [GTK] UserMedia Permission Request API
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessAPIgtkWebKitWebViewBasecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBase.cpp (176953 => 176954)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBase.cpp        2014-12-08 18:42:12 UTC (rev 176953)
+++ trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBase.cpp        2014-12-08 18:46:49 UTC (rev 176954)
</span><span class="lines">@@ -1056,8 +1056,10 @@
</span><span class="cx">     priv-&gt;inputMethodFilter.setPage(priv-&gt;pageProxy.get());
</span><span class="cx"> 
</span><span class="cx"> #if USE(TEXTURE_MAPPER_GL) &amp;&amp; PLATFORM(X11)
</span><del>-    if (priv-&gt;redirectedWindow)
-        priv-&gt;pageProxy-&gt;setAcceleratedCompositingWindowId(priv-&gt;redirectedWindow-&gt;windowID());
</del><ins>+    if (priv-&gt;redirectedWindow) {
+        DrawingAreaProxyImpl* drawingArea = static_cast&lt;DrawingAreaProxyImpl*&gt;(priv-&gt;pageProxy-&gt;drawingArea());
+        drawingArea-&gt;setNativeSurfaceHandleForCompositing(priv-&gt;redirectedWindow-&gt;windowID());
+    }
</ins><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> #if HAVE(GTK_SCALE_FACTOR)
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessDrawingAreaProxyImplcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/DrawingAreaProxyImpl.cpp (176953 => 176954)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/DrawingAreaProxyImpl.cpp        2014-12-08 18:42:12 UTC (rev 176953)
+++ trunk/Source/WebKit2/UIProcess/DrawingAreaProxyImpl.cpp        2014-12-08 18:46:49 UTC (rev 176954)
</span><span class="lines">@@ -300,6 +300,13 @@
</span><span class="cx">     m_webPageProxy.enterAcceleratedCompositingMode(layerTreeContext);
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+#if USE(TEXTURE_MAPPER_GL) &amp;&amp; PLATFORM(GTK)
+void DrawingAreaProxyImpl::setNativeSurfaceHandleForCompositing(uint64_t handle)
+{
+    m_webPageProxy.process().send(Messages::DrawingArea::SetNativeSurfaceHandleForCompositing(handle), m_webPageProxy.pageID());
+}
+#endif
+
</ins><span class="cx"> void DrawingAreaProxyImpl::exitAcceleratedCompositingMode()
</span><span class="cx"> {
</span><span class="cx">     ASSERT(isInAcceleratedCompositingMode());
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessDrawingAreaProxyImplh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/DrawingAreaProxyImpl.h (176953 => 176954)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/DrawingAreaProxyImpl.h        2014-12-08 18:42:12 UTC (rev 176953)
+++ trunk/Source/WebKit2/UIProcess/DrawingAreaProxyImpl.h        2014-12-08 18:46:49 UTC (rev 176954)
</span><span class="lines">@@ -48,6 +48,10 @@
</span><span class="cx"> 
</span><span class="cx">     bool hasReceivedFirstUpdate() const { return m_hasReceivedFirstUpdate; }
</span><span class="cx"> 
</span><ins>+#if USE(TEXTURE_MAPPER_GL) &amp;&amp; PLATFORM(GTK)
+    void setNativeSurfaceHandleForCompositing(uint64_t);
+#endif
+
</ins><span class="cx"> private:
</span><span class="cx">     // DrawingAreaProxy
</span><span class="cx">     virtual void sizeDidChange();
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessWebPageProxyh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/WebPageProxy.h (176953 => 176954)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/WebPageProxy.h        2014-12-08 18:42:12 UTC (rev 176953)
+++ trunk/Source/WebKit2/UIProcess/WebPageProxy.h        2014-12-08 18:46:49 UTC (rev 176954)
</span><span class="lines">@@ -854,10 +854,6 @@
</span><span class="cx">     // WebPopupMenuProxy::Client
</span><span class="cx">     virtual NativeWebMouseEvent* currentlyProcessedMouseDownEvent() override;
</span><span class="cx"> 
</span><del>-#if PLATFORM(GTK) &amp;&amp; USE(TEXTURE_MAPPER_GL)
-    void setAcceleratedCompositingWindowId(uint64_t nativeWindowId);
-#endif
-
</del><span class="cx">     void setSuppressVisibilityUpdates(bool flag) { m_suppressVisibilityUpdates = flag; }
</span><span class="cx">     bool suppressVisibilityUpdates() { return m_suppressVisibilityUpdates; }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessgtkWebPageProxyGtkcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/gtk/WebPageProxyGtk.cpp (176953 => 176954)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/gtk/WebPageProxyGtk.cpp        2014-12-08 18:42:12 UTC (rev 176953)
+++ trunk/Source/WebKit2/UIProcess/gtk/WebPageProxyGtk.cpp        2014-12-08 18:46:49 UTC (rev 176954)
</span><span class="lines">@@ -135,13 +135,6 @@
</span><span class="cx">     webkitWebViewBaseSetInputMethodState(WEBKIT_WEB_VIEW_BASE(viewWidget()), enabled);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-#if USE(TEXTURE_MAPPER_GL)
-void WebPageProxy::setAcceleratedCompositingWindowId(uint64_t nativeWindowId)
-{
-    process().send(Messages::WebPage::SetAcceleratedCompositingWindowId(nativeWindowId), m_pageID);
-}
-#endif
-
</del><span class="cx"> #if HAVE(GTK_GESTURES)
</span><span class="cx"> void WebPageProxy::getCenterForZoomGesture(const WebCore::IntPoint&amp; centerInViewCoordinates, WebCore::IntPoint&amp; center)
</span><span class="cx"> {
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessWebPageDrawingAreah"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/WebPage/DrawingArea.h (176953 => 176954)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/WebPage/DrawingArea.h        2014-12-08 18:42:12 UTC (rev 176953)
+++ trunk/Source/WebKit2/WebProcess/WebPage/DrawingArea.h        2014-12-08 18:46:49 UTC (rev 176954)
</span><span class="lines">@@ -124,12 +124,20 @@
</span><span class="cx"> 
</span><span class="cx">     virtual void attachViewOverlayGraphicsLayer(WebCore::Frame*, WebCore::GraphicsLayer*) { }
</span><span class="cx"> 
</span><ins>+#if USE(TEXTURE_MAPPER_GL) &amp;&amp; PLATFORM(GTK)
+    uint64_t nativeSurfaceHandleForCompositing() { return m_nativeSurfaceHandleForCompositing; }
+#endif
+
</ins><span class="cx"> protected:
</span><span class="cx">     DrawingArea(DrawingAreaType, WebPage&amp;);
</span><span class="cx"> 
</span><span class="cx">     DrawingAreaType m_type;
</span><span class="cx">     WebPage&amp; m_webPage;
</span><span class="cx"> 
</span><ins>+#if USE(TEXTURE_MAPPER_GL) &amp;&amp; PLATFORM(GTK)
+    uint64_t m_nativeSurfaceHandleForCompositing;
+#endif
+
</ins><span class="cx"> private:
</span><span class="cx">     // IPC::MessageReceiver.
</span><span class="cx">     virtual void didReceiveMessage(IPC::Connection*, IPC::MessageDecoder&amp;) override;
</span><span class="lines">@@ -151,6 +159,10 @@
</span><span class="cx"> 
</span><span class="cx">     virtual void addTransactionCallbackID(uint64_t callbackID) { ASSERT_NOT_REACHED(); }
</span><span class="cx"> #endif
</span><ins>+
+#if USE(TEXTURE_MAPPER_GL) &amp;&amp; PLATFORM(GTK)
+    virtual void setNativeSurfaceHandleForCompositing(uint64_t) = 0;
+#endif
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> } // namespace WebKit
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessWebPageDrawingAreamessagesin"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/WebPage/DrawingArea.messages.in (176953 => 176954)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/WebPage/DrawingArea.messages.in        2014-12-08 18:42:12 UTC (rev 176953)
+++ trunk/Source/WebKit2/WebProcess/WebPage/DrawingArea.messages.in        2014-12-08 18:46:49 UTC (rev 176954)
</span><span class="lines">@@ -39,4 +39,8 @@
</span><span class="cx">     
</span><span class="cx">     AddTransactionCallbackID(uint64_t callbackID)
</span><span class="cx"> #endif
</span><ins>+
+#if USE(TEXTURE_MAPPER_GL) &amp;&amp; PLATFORM(GTK)
+    SetNativeSurfaceHandleForCompositing(uint64_t handle)
+#endif
</ins><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessWebPageDrawingAreaImplcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/WebPage/DrawingAreaImpl.cpp (176953 => 176954)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/WebPage/DrawingAreaImpl.cpp        2014-12-08 18:42:12 UTC (rev 176953)
+++ trunk/Source/WebKit2/WebProcess/WebPage/DrawingAreaImpl.cpp        2014-12-08 18:46:49 UTC (rev 176954)
</span><span class="lines">@@ -643,4 +643,11 @@
</span><span class="cx">     m_displayTimer.stop();
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+#if USE(TEXTURE_MAPPER_GL) &amp;&amp; PLATFORM(GTK)
+void DrawingAreaImpl::setNativeSurfaceHandleForCompositing(uint64_t handle)
+{
+    m_nativeSurfaceHandleForCompositing = handle;
+}
+#endif
+
</ins><span class="cx"> } // namespace WebKit
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessWebPageDrawingAreaImplh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/WebPage/DrawingAreaImpl.h (176953 => 176954)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/WebPage/DrawingAreaImpl.h        2014-12-08 18:42:12 UTC (rev 176953)
+++ trunk/Source/WebKit2/WebProcess/WebPage/DrawingAreaImpl.h        2014-12-08 18:46:49 UTC (rev 176954)
</span><span class="lines">@@ -67,6 +67,10 @@
</span><span class="cx">     virtual void scheduleCompositingLayerFlush() override;
</span><span class="cx">     virtual void scheduleCompositingLayerFlushImmediately() override;
</span><span class="cx"> 
</span><ins>+#if USE(TEXTURE_MAPPER_GL) &amp;&amp; PLATFORM(GTK)
+    virtual void setNativeSurfaceHandleForCompositing(uint64_t) override;
+#endif
+
</ins><span class="cx">     // IPC message handlers.
</span><span class="cx">     virtual void updateBackingStoreState(uint64_t backingStoreStateID, bool respondImmediately, float deviceScaleFactor, const WebCore::IntSize&amp;, const WebCore::IntSize&amp; scrollOffset);
</span><span class="cx">     virtual void didUpdate();
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessWebPageWebPageh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/WebPage/WebPage.h (176953 => 176954)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/WebPage/WebPage.h        2014-12-08 18:42:12 UTC (rev 176953)
+++ trunk/Source/WebKit2/WebProcess/WebPage/WebPage.h        2014-12-08 18:46:49 UTC (rev 176954)
</span><span class="lines">@@ -650,11 +650,7 @@
</span><span class="cx">     void confirmComposition(const String&amp; compositionString);
</span><span class="cx">     void setComposition(const WTF::String&amp; compositionString, const WTF::Vector&lt;WebCore::CompositionUnderline&gt;&amp; underlines, uint64_t cursorPosition);
</span><span class="cx">     void cancelComposition();
</span><del>-#elif PLATFORM(GTK)
-#if USE(TEXTURE_MAPPER_GL)
-    void setAcceleratedCompositingWindowId(uint64_t nativeWindowHandle);
</del><span class="cx"> #endif
</span><del>-#endif
</del><span class="cx"> 
</span><span class="cx"> #if HAVE(ACCESSIBILITY) &amp;&amp; (PLATFORM(GTK) || PLATFORM(EFL))
</span><span class="cx">     void updateAccessibilityTree();
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessWebPageWebPagemessagesin"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/WebPage/WebPage.messages.in (176953 => 176954)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/WebPage/WebPage.messages.in        2014-12-08 18:42:12 UTC (rev 176953)
+++ trunk/Source/WebKit2/WebProcess/WebPage/WebPage.messages.in        2014-12-08 18:46:49 UTC (rev 176954)
</span><span class="lines">@@ -393,10 +393,6 @@
</span><span class="cx">     WillStartUserTriggeredZooming();
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-#if PLATFORM(GTK) &amp;&amp; USE(TEXTURE_MAPPER_GL)
-    SetAcceleratedCompositingWindowId(uint64_t nativeWindowHandle)
-#endif
-  
</del><span class="cx">     SetScrollPinningBehavior(uint32_t pinning)
</span><span class="cx"> 
</span><span class="cx">     GetBytecodeProfile(uint64_t callbackID)
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessWebPagegtkLayerTreeHostGtkcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp (176953 => 176954)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp        2014-12-08 18:42:12 UTC (rev 176953)
+++ trunk/Source/WebKit2/WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp        2014-12-08 18:46:49 UTC (rev 176954)
</span><span class="lines">@@ -82,7 +82,7 @@
</span><span class="cx">     if (m_context)
</span><span class="cx">         return m_context.get();
</span><span class="cx"> 
</span><del>-    uint64_t windowHandle = m_webPage-&gt;nativeWindowHandle();
</del><ins>+    uint64_t windowHandle = m_webPage-&gt;drawingArea()-&gt;nativeSurfaceHandleForCompositing();
</ins><span class="cx">     if (!windowHandle)
</span><span class="cx">         return 0;
</span><span class="cx"> 
</span><span class="lines">@@ -112,7 +112,7 @@
</span><span class="cx">     m_rootLayer-&gt;addChild(m_nonCompositedContentLayer.get());
</span><span class="cx">     m_nonCompositedContentLayer-&gt;setNeedsDisplay();
</span><span class="cx"> 
</span><del>-    m_layerTreeContext.contextID = m_webPage-&gt;nativeWindowHandle();
</del><ins>+    m_layerTreeContext.contextID = m_webPage-&gt;drawingArea()-&gt;nativeSurfaceHandleForCompositing();
</ins><span class="cx"> 
</span><span class="cx">     GLContext* context = glContext();
</span><span class="cx">     if (!context)
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessWebPagegtkWebPageGtkcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/WebPage/gtk/WebPageGtk.cpp (176953 => 176954)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/WebPage/gtk/WebPageGtk.cpp        2014-12-08 18:42:12 UTC (rev 176953)
+++ trunk/Source/WebKit2/WebProcess/WebPage/gtk/WebPageGtk.cpp        2014-12-08 18:46:49 UTC (rev 176954)
</span><span class="lines">@@ -61,10 +61,6 @@
</span><span class="cx">     GUniquePtr&lt;gchar&gt; plugID(atk_plug_get_id(ATK_PLUG(m_accessibilityObject.get())));
</span><span class="cx">     send(Messages::WebPageProxy::BindAccessibilityTree(String(plugID.get())));
</span><span class="cx"> #endif
</span><del>-
-#if USE(TEXTURE_MAPPER_GL)
-    m_nativeWindowHandle = 0;
-#endif
</del><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void WebPage::platformDetach()
</span><span class="lines">@@ -167,12 +163,6 @@
</span><span class="cx">     return 0;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-#if USE(TEXTURE_MAPPER_GL)
-void WebPage::setAcceleratedCompositingWindowId(uint64_t nativeWindowHandle)
-{
-    m_nativeWindowHandle = nativeWindowHandle;
-}
-#endif
</del><span class="cx"> 
</span><span class="cx"> String WebPage::platformUserAgent(const URL&amp; url) const
</span><span class="cx"> {
</span></span></pre>
</div>
</div>

</body>
</html>