<!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>[172307] 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/172307">172307</a></dd>
<dt>Author</dt> <dd>timothy_horton@apple.com</dd>
<dt>Date</dt> <dd>2014-08-07 16:29:31 -0700 (Thu, 07 Aug 2014)</dd>
</dl>

<h3>Log Message</h3>
<pre>setCustomSwipeViews inside didChangeBackForwardList client callback is ignored
https://bugs.webkit.org/show_bug.cgi?id=135633
&lt;rdar://problem/17926507&gt;

Reviewed by Sam Weinig.

* UIProcess/PageClient.h:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::didChangeBackForwardList):
* UIProcess/ios/PageClientImplIOS.h:
* UIProcess/ios/PageClientImplIOS.mm:
(WebKit::PageClientImpl::clearCustomSwipeViews): Deleted.
* UIProcess/mac/PageClientImpl.h:
* UIProcess/mac/PageClientImpl.mm:
(WebKit::PageClientImpl::clearCustomSwipeViews): Deleted.
WebKit clears the set of custom swipe views at the end of WebPageProxy::didChangeBackForwardList,
*after* calling into the client. This means that if the client wants to setCustomSwipeViews in
didChangeBackForwardList, it won't be respected.

Since there's only one client of this SPI, let's just stop clearing the list of custom swipe
views in WebKit and leave that totally up to the client.</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceWebKit2ChangeLog">trunk/Source/WebKit2/ChangeLog</a></li>
<li><a href="#trunkSourceWebKit2UIProcessPageClienth">trunk/Source/WebKit2/UIProcess/PageClient.h</a></li>
<li><a href="#trunkSourceWebKit2UIProcessWebPageProxycpp">trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp</a></li>
<li><a href="#trunkSourceWebKit2UIProcessiosPageClientImplIOSh">trunk/Source/WebKit2/UIProcess/ios/PageClientImplIOS.h</a></li>
<li><a href="#trunkSourceWebKit2UIProcessiosPageClientImplIOSmm">trunk/Source/WebKit2/UIProcess/ios/PageClientImplIOS.mm</a></li>
<li><a href="#trunkSourceWebKit2UIProcessmacPageClientImplh">trunk/Source/WebKit2/UIProcess/mac/PageClientImpl.h</a></li>
<li><a href="#trunkSourceWebKit2UIProcessmacPageClientImplmm">trunk/Source/WebKit2/UIProcess/mac/PageClientImpl.mm</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceWebKit2ChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/ChangeLog (172306 => 172307)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/ChangeLog        2014-08-07 23:26:10 UTC (rev 172306)
+++ trunk/Source/WebKit2/ChangeLog        2014-08-07 23:29:31 UTC (rev 172307)
</span><span class="lines">@@ -1,3 +1,27 @@
</span><ins>+2014-08-07  Timothy Horton  &lt;timothy_horton@apple.com&gt;
+
+        setCustomSwipeViews inside didChangeBackForwardList client callback is ignored
+        https://bugs.webkit.org/show_bug.cgi?id=135633
+        &lt;rdar://problem/17926507&gt;
+
+        Reviewed by Sam Weinig.
+
+        * UIProcess/PageClient.h:
+        * UIProcess/WebPageProxy.cpp:
+        (WebKit::WebPageProxy::didChangeBackForwardList):
+        * UIProcess/ios/PageClientImplIOS.h:
+        * UIProcess/ios/PageClientImplIOS.mm:
+        (WebKit::PageClientImpl::clearCustomSwipeViews): Deleted.
+        * UIProcess/mac/PageClientImpl.h:
+        * UIProcess/mac/PageClientImpl.mm:
+        (WebKit::PageClientImpl::clearCustomSwipeViews): Deleted.
+        WebKit clears the set of custom swipe views at the end of WebPageProxy::didChangeBackForwardList,
+        *after* calling into the client. This means that if the client wants to setCustomSwipeViews in
+        didChangeBackForwardList, it won't be respected.
+
+        Since there's only one client of this SPI, let's just stop clearing the list of custom swipe
+        views in WebKit and leave that totally up to the client.
+
</ins><span class="cx"> 2014-08-07  Enrica Casucci  &lt;enrica@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         [Services with UI] Action menu does not appear if selection includes both text and an image.
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessPageClienth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/PageClient.h (172306 => 172307)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/PageClient.h        2014-08-07 23:26:10 UTC (rev 172306)
+++ trunk/Source/WebKit2/UIProcess/PageClient.h        2014-08-07 23:29:31 UTC (rev 172307)
</span><span class="lines">@@ -182,7 +182,6 @@
</span><span class="cx">     virtual LayerOrView *acceleratedCompositingRootLayer() const = 0;
</span><span class="cx">     virtual PassRefPtr&lt;ViewSnapshot&gt; takeViewSnapshot() = 0;
</span><span class="cx">     virtual void wheelEventWasNotHandledByWebCore(const NativeWebWheelEvent&amp;) = 0;
</span><del>-    virtual void clearCustomSwipeViews() = 0;
</del><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> #if USE(APPKIT)
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessWebPageProxycpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp (172306 => 172307)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp        2014-08-07 23:26:10 UTC (rev 172306)
+++ trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp        2014-08-07 23:29:31 UTC (rev 172307)
</span><span class="lines">@@ -962,10 +962,6 @@
</span><span class="cx"> 
</span><span class="cx">     m_pageLoadState.setCanGoBack(transaction, m_backForwardList-&gt;backItem());
</span><span class="cx">     m_pageLoadState.setCanGoForward(transaction, m_backForwardList-&gt;forwardItem());
</span><del>-
-#if PLATFORM(MAC)
-    m_pageClient.clearCustomSwipeViews();
-#endif
</del><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void WebPageProxy::willGoToBackForwardListItem(uint64_t itemID, IPC::MessageDecoder&amp; decoder)
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessiosPageClientImplIOSh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/ios/PageClientImplIOS.h (172306 => 172307)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/ios/PageClientImplIOS.h        2014-08-07 23:26:10 UTC (rev 172306)
+++ trunk/Source/WebKit2/UIProcess/ios/PageClientImplIOS.h        2014-08-07 23:29:31 UTC (rev 172307)
</span><span class="lines">@@ -107,7 +107,6 @@
</span><span class="cx"> 
</span><span class="cx">     virtual PassRefPtr&lt;ViewSnapshot&gt; takeViewSnapshot() override;
</span><span class="cx">     virtual void wheelEventWasNotHandledByWebCore(const NativeWebWheelEvent&amp;) override;
</span><del>-    virtual void clearCustomSwipeViews() override;
</del><span class="cx"> 
</span><span class="cx">     virtual void commitPotentialTapFailed() override;
</span><span class="cx">     virtual void didGetTapHighlightGeometries(uint64_t requestID, const WebCore::Color&amp;, const Vector&lt;WebCore::FloatQuad&gt;&amp; highlightedQuads, const WebCore::IntSize&amp; topLeftRadius, const WebCore::IntSize&amp; topRightRadius, const WebCore::IntSize&amp; bottomLeftRadius, const WebCore::IntSize&amp; bottomRightRadius) override;
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessiosPageClientImplIOSmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/ios/PageClientImplIOS.mm (172306 => 172307)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/ios/PageClientImplIOS.mm        2014-08-07 23:26:10 UTC (rev 172306)
+++ trunk/Source/WebKit2/UIProcess/ios/PageClientImplIOS.mm        2014-08-07 23:29:31 UTC (rev 172307)
</span><span class="lines">@@ -476,11 +476,6 @@
</span><span class="cx">     notImplemented();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void PageClientImpl::clearCustomSwipeViews()
-{
-    notImplemented();
-}
-
</del><span class="cx"> void PageClientImpl::commitPotentialTapFailed()
</span><span class="cx"> {
</span><span class="cx">     [m_contentView _commitPotentialTapFailed];
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessmacPageClientImplh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/mac/PageClientImpl.h (172306 => 172307)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/mac/PageClientImpl.h        2014-08-07 23:26:10 UTC (rev 172306)
+++ trunk/Source/WebKit2/UIProcess/mac/PageClientImpl.h        2014-08-07 23:29:31 UTC (rev 172307)
</span><span class="lines">@@ -126,7 +126,6 @@
</span><span class="cx"> 
</span><span class="cx">     virtual PassRefPtr&lt;ViewSnapshot&gt; takeViewSnapshot() override;
</span><span class="cx">     virtual void wheelEventWasNotHandledByWebCore(const NativeWebWheelEvent&amp;) override;
</span><del>-    virtual void clearCustomSwipeViews() override;
</del><span class="cx"> 
</span><span class="cx">     virtual void accessibilityWebProcessTokenReceived(const IPC::DataReference&amp;);
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessmacPageClientImplmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/mac/PageClientImpl.mm (172306 => 172307)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/mac/PageClientImpl.mm        2014-08-07 23:26:10 UTC (rev 172306)
+++ trunk/Source/WebKit2/UIProcess/mac/PageClientImpl.mm        2014-08-07 23:29:31 UTC (rev 172307)
</span><span class="lines">@@ -612,11 +612,6 @@
</span><span class="cx">     return [m_wkView _executeSavedCommandBySelector:NSSelectorFromString(selectorString)];
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void PageClientImpl::clearCustomSwipeViews()
-{
-    return [m_wkView _setCustomSwipeViews:@[]];
-}
-
</del><span class="cx"> #if USE(DICTATION_ALTERNATIVES)
</span><span class="cx"> uint64_t PageClientImpl::addDictationAlternatives(const RetainPtr&lt;NSTextAlternatives&gt;&amp; alternatives)
</span><span class="cx"> {
</span></span></pre>
</div>
</div>

</body>
</html>