<!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>[210786] 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/210786">210786</a></dd>
<dt>Author</dt> <dd>carlosgc@webkit.org</dd>
<dt>Date</dt> <dd>2017-01-16 03:49:39 -0800 (Mon, 16 Jan 2017)</dd>
</dl>

<h3>Log Message</h3>
<pre>[SOUP] Accept-language could be set twice in a row for the default context
https://bugs.webkit.org/show_bug.cgi?id=167089

Reviewed by Žan Doberšek.

Source/WebCore:

If NetworkStorageSession doesn't have a SoupNetworkSession yet, we are creating it only to set the
languages. Since we already set the global value, the languages will be set when the SoupNetworkSession is
created later. This is not a big deal for the language property, but it will be for proxies after bug #128674.
Since NetworkStorageSession::soupNetworkSession() it's actually getting or creating the SoupNetworkSession, this
patch renames it as NetworkStorageSession::getOrCreateSoupNetworkSession() and now
NetworkStorageSession::soupNetworkSession() returns a pointer without creating the SoupNetworkSession, so it can
be nullptr. This can now be used to only use the default SoupNetworkSession when it has already been created.

* platform/network/NetworkStorageSession.h:
(WebCore::NetworkStorageSession::soupNetworkSession): Use NetworkStorageSession::getOrCreateSoupNetworkSession().
* platform/network/soup/DNSSoup.cpp:
(WebCore::DNSResolveQueue::updateIsUsingProxy): Ditto.
(WebCore::DNSResolveQueue::platformResolve): Ditto.
* platform/network/soup/NetworkStorageSessionSoup.cpp:
(WebCore::NetworkStorageSession::getOrCreateSoupNetworkSession): This is the old soupNetworkSession(), now renamed.
(WebCore::NetworkStorageSession::soupNetworkSession): Return a pointer with the current value of m_session that
now can be nullptr.
* platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::sessionFromContext): Use NetworkStorageSession::getOrCreateSoupNetworkSession().

Source/WebKit2:

* NetworkProcess/CustomProtocols/soup/CustomProtocolManagerSoup.cpp:
(WebKit::CustomProtocolManager::registerScheme): Use NetworkStorageSession::getOrCreateSoupNetworkSession().
* NetworkProcess/efl/NetworkProcessMainEfl.cpp:
* NetworkProcess/soup/NetworkProcessSoup.cpp:
(WebKit::NetworkProcess::userPreferredLanguagesChanged): Only set the languages if NetworkStorageSession has a
SoupNetworkSession.
* NetworkProcess/soup/NetworkSessionSoup.cpp:
(WebKit::NetworkSessionSoup::soupSession): Use NetworkStorageSession::getOrCreateSoupNetworkSession().
* WebProcess/Cookies/soup/WebCookieManagerSoup.cpp:
(WebKit::WebCookieManager::setCookiePersistentStorage): Ditto.
* WebProcess/efl/WebProcessMainEfl.cpp:</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCoreplatformnetworkNetworkStorageSessionh">trunk/Source/WebCore/platform/network/NetworkStorageSession.h</a></li>
<li><a href="#trunkSourceWebCoreplatformnetworksoupDNSSoupcpp">trunk/Source/WebCore/platform/network/soup/DNSSoup.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformnetworksoupNetworkStorageSessionSoupcpp">trunk/Source/WebCore/platform/network/soup/NetworkStorageSessionSoup.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformnetworksoupResourceHandleSoupcpp">trunk/Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp</a></li>
<li><a href="#trunkSourceWebKit2ChangeLog">trunk/Source/WebKit2/ChangeLog</a></li>
<li><a href="#trunkSourceWebKit2NetworkProcessCustomProtocolssoupCustomProtocolManagerSoupcpp">trunk/Source/WebKit2/NetworkProcess/CustomProtocols/soup/CustomProtocolManagerSoup.cpp</a></li>
<li><a href="#trunkSourceWebKit2NetworkProcesseflNetworkProcessMainEflcpp">trunk/Source/WebKit2/NetworkProcess/efl/NetworkProcessMainEfl.cpp</a></li>
<li><a href="#trunkSourceWebKit2NetworkProcesssoupNetworkProcessSoupcpp">trunk/Source/WebKit2/NetworkProcess/soup/NetworkProcessSoup.cpp</a></li>
<li><a href="#trunkSourceWebKit2NetworkProcesssoupNetworkSessionSoupcpp">trunk/Source/WebKit2/NetworkProcess/soup/NetworkSessionSoup.cpp</a></li>
<li><a href="#trunkSourceWebKit2WebProcessCookiessoupWebCookieManagerSoupcpp">trunk/Source/WebKit2/WebProcess/Cookies/soup/WebCookieManagerSoup.cpp</a></li>
<li><a href="#trunkSourceWebKit2WebProcesseflWebProcessMainEflcpp">trunk/Source/WebKit2/WebProcess/efl/WebProcessMainEfl.cpp</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (210785 => 210786)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2017-01-16 11:24:23 UTC (rev 210785)
+++ trunk/Source/WebCore/ChangeLog        2017-01-16 11:49:39 UTC (rev 210786)
</span><span class="lines">@@ -1,5 +1,32 @@
</span><span class="cx"> 2017-01-16  Carlos Garcia Campos  &lt;cgarcia@igalia.com&gt;
</span><span class="cx"> 
</span><ins>+        [SOUP] Accept-language could be set twice in a row for the default context
+        https://bugs.webkit.org/show_bug.cgi?id=167089
+
+        Reviewed by Žan Doberšek.
+
+        If NetworkStorageSession doesn't have a SoupNetworkSession yet, we are creating it only to set the
+        languages. Since we already set the global value, the languages will be set when the SoupNetworkSession is
+        created later. This is not a big deal for the language property, but it will be for proxies after bug #128674.
+        Since NetworkStorageSession::soupNetworkSession() it's actually getting or creating the SoupNetworkSession, this
+        patch renames it as NetworkStorageSession::getOrCreateSoupNetworkSession() and now
+        NetworkStorageSession::soupNetworkSession() returns a pointer without creating the SoupNetworkSession, so it can
+        be nullptr. This can now be used to only use the default SoupNetworkSession when it has already been created.
+
+        * platform/network/NetworkStorageSession.h:
+        (WebCore::NetworkStorageSession::soupNetworkSession): Use NetworkStorageSession::getOrCreateSoupNetworkSession().
+        * platform/network/soup/DNSSoup.cpp:
+        (WebCore::DNSResolveQueue::updateIsUsingProxy): Ditto.
+        (WebCore::DNSResolveQueue::platformResolve): Ditto.
+        * platform/network/soup/NetworkStorageSessionSoup.cpp:
+        (WebCore::NetworkStorageSession::getOrCreateSoupNetworkSession): This is the old soupNetworkSession(), now renamed.
+        (WebCore::NetworkStorageSession::soupNetworkSession): Return a pointer with the current value of m_session that
+        now can be nullptr.
+        * platform/network/soup/ResourceHandleSoup.cpp:
+        (WebCore::sessionFromContext): Use NetworkStorageSession::getOrCreateSoupNetworkSession().
+
+2017-01-16  Carlos Garcia Campos  &lt;cgarcia@igalia.com&gt;
+
</ins><span class="cx">         [SOUP] Fix handling of accept language property
</span><span class="cx">         https://bugs.webkit.org/show_bug.cgi?id=166969
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformnetworkNetworkStorageSessionh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/network/NetworkStorageSession.h (210785 => 210786)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/network/NetworkStorageSession.h        2017-01-16 11:24:23 UTC (rev 210785)
+++ trunk/Source/WebCore/platform/network/NetworkStorageSession.h        2017-01-16 11:49:39 UTC (rev 210786)
</span><span class="lines">@@ -71,7 +71,8 @@
</span><span class="cx">     NetworkStorageSession(SessionID, std::unique_ptr&lt;SoupNetworkSession&gt;&amp;&amp;);
</span><span class="cx">     ~NetworkStorageSession();
</span><span class="cx"> 
</span><del>-    SoupNetworkSession&amp; soupNetworkSession() const;
</del><ins>+    SoupNetworkSession* soupNetworkSession() const { return m_session.get(); };
+    SoupNetworkSession&amp; getOrCreateSoupNetworkSession() const;
</ins><span class="cx">     SoupCookieJar* cookieStorage() const;
</span><span class="cx">     void getCredentialFromPersistentStorage(const ProtectionSpace&amp;, Function&lt;void (Credential&amp;&amp;)&gt; completionHandler);
</span><span class="cx">     void saveCredentialToPersistentStorage(const ProtectionSpace&amp;, const Credential&amp;);
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformnetworksoupDNSSoupcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/network/soup/DNSSoup.cpp (210785 => 210786)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/network/soup/DNSSoup.cpp        2017-01-16 11:24:23 UTC (rev 210785)
+++ trunk/Source/WebCore/platform/network/soup/DNSSoup.cpp        2017-01-16 11:49:39 UTC (rev 210786)
</span><span class="lines">@@ -79,7 +79,7 @@
</span><span class="cx"> void DNSResolveQueue::updateIsUsingProxy()
</span><span class="cx"> {
</span><span class="cx">     GRefPtr&lt;GProxyResolver&gt; resolver;
</span><del>-    g_object_get(NetworkStorageSession::defaultStorageSession().soupNetworkSession().soupSession(), &quot;proxy-resolver&quot;, &amp;resolver.outPtr(), nullptr);
</del><ins>+    g_object_get(NetworkStorageSession::defaultStorageSession().getOrCreateSoupNetworkSession().soupSession(), &quot;proxy-resolver&quot;, &amp;resolver.outPtr(), nullptr);
</ins><span class="cx">     ASSERT(resolver);
</span><span class="cx"> 
</span><span class="cx">     g_proxy_resolver_lookup_async(resolver.get(), &quot;http://example.com/&quot;, nullptr, proxyResolvedForHttpUriCallback, &amp;m_isUsingProxy);
</span><span class="lines">@@ -95,7 +95,7 @@
</span><span class="cx"> {
</span><span class="cx">     ASSERT(isMainThread());
</span><span class="cx"> 
</span><del>-    soup_session_prefetch_dns(NetworkStorageSession::defaultStorageSession().soupNetworkSession().soupSession(), hostname.utf8().data(), nullptr, resolvedCallback, nullptr);
</del><ins>+    soup_session_prefetch_dns(NetworkStorageSession::defaultStorageSession().getOrCreateSoupNetworkSession().soupSession(), hostname.utf8().data(), nullptr, resolvedCallback, nullptr);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void prefetchDNS(const String&amp; hostname)
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformnetworksoupNetworkStorageSessionSoupcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/network/soup/NetworkStorageSessionSoup.cpp (210785 => 210786)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/network/soup/NetworkStorageSessionSoup.cpp        2017-01-16 11:24:23 UTC (rev 210785)
+++ trunk/Source/WebCore/platform/network/soup/NetworkStorageSessionSoup.cpp        2017-01-16 11:49:39 UTC (rev 210786)
</span><span class="lines">@@ -86,7 +86,7 @@
</span><span class="cx">     defaultSession() = std::make_unique&lt;NetworkStorageSession&gt;(SessionID::defaultSessionID(), std::make_unique&lt;SoupNetworkSession&gt;());
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-SoupNetworkSession&amp; NetworkStorageSession::soupNetworkSession() const
</del><ins>+SoupNetworkSession&amp; NetworkStorageSession::getOrCreateSoupNetworkSession() const
</ins><span class="cx"> {
</span><span class="cx">     if (!m_session)
</span><span class="cx">         m_session = std::make_unique&lt;SoupNetworkSession&gt;(cookieStorage());
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformnetworksoupResourceHandleSoupcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp (210785 => 210786)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp        2017-01-16 11:24:23 UTC (rev 210785)
+++ trunk/Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp        2017-01-16 11:49:39 UTC (rev 210786)
</span><span class="lines">@@ -80,8 +80,8 @@
</span><span class="cx"> static SoupSession* sessionFromContext(NetworkingContext* context)
</span><span class="cx"> {
</span><span class="cx">     if (!context || !context-&gt;isValid())
</span><del>-        return NetworkStorageSession::defaultStorageSession().soupNetworkSession().soupSession();
-    return context-&gt;storageSession().soupNetworkSession().soupSession();
</del><ins>+        return NetworkStorageSession::defaultStorageSession().getOrCreateSoupNetworkSession().soupSession();
+    return context-&gt;storageSession().getOrCreateSoupNetworkSession().soupSession();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> ResourceHandle::~ResourceHandle()
</span></span></pre></div>
<a id="trunkSourceWebKit2ChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/ChangeLog (210785 => 210786)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/ChangeLog        2017-01-16 11:24:23 UTC (rev 210785)
+++ trunk/Source/WebKit2/ChangeLog        2017-01-16 11:49:39 UTC (rev 210786)
</span><span class="lines">@@ -1,5 +1,24 @@
</span><span class="cx"> 2017-01-16  Carlos Garcia Campos  &lt;cgarcia@igalia.com&gt;
</span><span class="cx"> 
</span><ins>+        [SOUP] Accept-language could be set twice in a row for the default context
+        https://bugs.webkit.org/show_bug.cgi?id=167089
+
+        Reviewed by Žan Doberšek.
+
+        * NetworkProcess/CustomProtocols/soup/CustomProtocolManagerSoup.cpp:
+        (WebKit::CustomProtocolManager::registerScheme): Use NetworkStorageSession::getOrCreateSoupNetworkSession().
+        * NetworkProcess/efl/NetworkProcessMainEfl.cpp:
+        * NetworkProcess/soup/NetworkProcessSoup.cpp:
+        (WebKit::NetworkProcess::userPreferredLanguagesChanged): Only set the languages if NetworkStorageSession has a
+        SoupNetworkSession.
+        * NetworkProcess/soup/NetworkSessionSoup.cpp:
+        (WebKit::NetworkSessionSoup::soupSession): Use NetworkStorageSession::getOrCreateSoupNetworkSession().
+        * WebProcess/Cookies/soup/WebCookieManagerSoup.cpp:
+        (WebKit::WebCookieManager::setCookiePersistentStorage): Ditto.
+        * WebProcess/efl/WebProcessMainEfl.cpp:
+
+2017-01-16  Carlos Garcia Campos  &lt;cgarcia@igalia.com&gt;
+
</ins><span class="cx">         [SOUP] Fix handling of accept language property
</span><span class="cx">         https://bugs.webkit.org/show_bug.cgi?id=166969
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebKit2NetworkProcessCustomProtocolssoupCustomProtocolManagerSoupcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/NetworkProcess/CustomProtocols/soup/CustomProtocolManagerSoup.cpp (210785 => 210786)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/NetworkProcess/CustomProtocols/soup/CustomProtocolManagerSoup.cpp        2017-01-16 11:24:23 UTC (rev 210785)
+++ trunk/Source/WebKit2/NetworkProcess/CustomProtocols/soup/CustomProtocolManagerSoup.cpp        2017-01-16 11:49:39 UTC (rev 210786)
</span><span class="lines">@@ -91,7 +91,7 @@
</span><span class="cx"> 
</span><span class="cx">     auto* genericRequestClass = static_cast&lt;SoupRequestClass*&gt;(g_type_class_ref(WEBKIT_TYPE_SOUP_REQUEST_GENERIC));
</span><span class="cx">     genericRequestClass-&gt;schemes = const_cast&lt;const char**&gt;(reinterpret_cast&lt;char**&gt;(m_registeredSchemes-&gt;pdata));
</span><del>-    soup_session_add_feature_by_type(NetworkStorageSession::defaultStorageSession().soupNetworkSession().soupSession(), WEBKIT_TYPE_SOUP_REQUEST_GENERIC);
</del><ins>+    soup_session_add_feature_by_type(NetworkStorageSession::defaultStorageSession().getOrCreateSoupNetworkSession().soupSession(), WEBKIT_TYPE_SOUP_REQUEST_GENERIC);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void CustomProtocolManager::unregisterScheme(const String&amp;)
</span></span></pre></div>
<a id="trunkSourceWebKit2NetworkProcesseflNetworkProcessMainEflcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/NetworkProcess/efl/NetworkProcessMainEfl.cpp (210785 => 210786)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/NetworkProcess/efl/NetworkProcessMainEfl.cpp        2017-01-16 11:24:23 UTC (rev 210785)
+++ trunk/Source/WebKit2/NetworkProcess/efl/NetworkProcessMainEfl.cpp        2017-01-16 11:49:39 UTC (rev 210786)
</span><span class="lines">@@ -48,7 +48,7 @@
</span><span class="cx">         if (!ecore_main_loop_glib_integrate())
</span><span class="cx">             return false;
</span><span class="cx"> 
</span><del>-        NetworkStorageSession::defaultStorageSession().soupNetworkSession().setupHTTPProxyFromEnvironment();
</del><ins>+        NetworkStorageSession::defaultStorageSession().getOrCreateSoupNetworkSession().setupHTTPProxyFromEnvironment();
</ins><span class="cx">         return true;
</span><span class="cx">     }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebKit2NetworkProcesssoupNetworkProcessSoupcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/NetworkProcess/soup/NetworkProcessSoup.cpp (210785 => 210786)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/NetworkProcess/soup/NetworkProcessSoup.cpp        2017-01-16 11:24:23 UTC (rev 210785)
+++ trunk/Source/WebKit2/NetworkProcess/soup/NetworkProcessSoup.cpp        2017-01-16 11:49:39 UTC (rev 210786)
</span><span class="lines">@@ -97,7 +97,8 @@
</span><span class="cx">     auto acceptLanguages = buildAcceptLanguages(languages);
</span><span class="cx">     SoupNetworkSession::setInitialAcceptLanguages(acceptLanguages);
</span><span class="cx">     NetworkStorageSession::forEach([&amp;acceptLanguages](const WebCore::NetworkStorageSession&amp; session) {
</span><del>-        session.soupNetworkSession().setAcceptLanguages(acceptLanguages);
</del><ins>+        if (auto* soupSession = session.soupNetworkSession())
+            soupSession-&gt;setAcceptLanguages(acceptLanguages);
</ins><span class="cx">     });
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebKit2NetworkProcesssoupNetworkSessionSoupcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/NetworkProcess/soup/NetworkSessionSoup.cpp (210785 => 210786)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/NetworkProcess/soup/NetworkSessionSoup.cpp        2017-01-16 11:24:23 UTC (rev 210785)
+++ trunk/Source/WebKit2/NetworkProcess/soup/NetworkSessionSoup.cpp        2017-01-16 11:49:39 UTC (rev 210786)
</span><span class="lines">@@ -45,7 +45,7 @@
</span><span class="cx"> 
</span><span class="cx"> SoupSession* NetworkSessionSoup::soupSession() const
</span><span class="cx"> {
</span><del>-    return networkStorageSession().soupNetworkSession().soupSession();
</del><ins>+    return networkStorageSession().getOrCreateSoupNetworkSession().soupSession();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void NetworkSessionSoup::clearCredentials()
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessCookiessoupWebCookieManagerSoupcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/Cookies/soup/WebCookieManagerSoup.cpp (210785 => 210786)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/Cookies/soup/WebCookieManagerSoup.cpp        2017-01-16 11:24:23 UTC (rev 210785)
+++ trunk/Source/WebKit2/WebProcess/Cookies/soup/WebCookieManagerSoup.cpp        2017-01-16 11:49:39 UTC (rev 210786)
</span><span class="lines">@@ -75,7 +75,7 @@
</span><span class="cx"> 
</span><span class="cx">     auto&amp; storageSession = NetworkStorageSession::defaultStorageSession();
</span><span class="cx">     soup_cookie_jar_set_accept_policy(jar.get(), soup_cookie_jar_get_accept_policy(storageSession.cookieStorage()));
</span><del>-    storageSession.soupNetworkSession().setCookieJar(jar.get());
</del><ins>+    storageSession.getOrCreateSoupNetworkSession().setCookieJar(jar.get());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> } // namespace WebKit
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcesseflWebProcessMainEflcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/efl/WebProcessMainEfl.cpp (210785 => 210786)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/efl/WebProcessMainEfl.cpp        2017-01-16 11:24:23 UTC (rev 210785)
+++ trunk/Source/WebKit2/WebProcess/efl/WebProcessMainEfl.cpp        2017-01-16 11:49:39 UTC (rev 210786)
</span><span class="lines">@@ -99,7 +99,7 @@
</span><span class="cx">         if (!ecore_main_loop_glib_integrate())
</span><span class="cx">             return false;
</span><span class="cx"> 
</span><del>-        NetworkStorageSession::defaultStorageSession().soupNetworkSession().setupHTTPProxyFromEnvironment();
</del><ins>+        NetworkStorageSession::defaultStorageSession().getOrCreateSoupNetworkSession().setupHTTPProxyFromEnvironment();
</ins><span class="cx">         return true;
</span><span class="cx">     }
</span><span class="cx"> 
</span></span></pre>
</div>
</div>

</body>
</html>