<!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>[197548] 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/197548">197548</a></dd>
<dt>Author</dt> <dd>cdumez@apple.com</dd>
<dt>Date</dt> <dd>2016-03-03 22:00:02 -0800 (Thu, 03 Mar 2016)</dd>
</dl>

<h3>Log Message</h3>
<pre>Regression(<a href="http://trac.webkit.org/projects/webkit/changeset/196770">r196770</a>): Unable to use HipChat Mac app
https://bugs.webkit.org/show_bug.cgi?id=154999
&lt;rdar://problem/24931959&gt;

Reviewed by Darin Adler.

Source/JavaScriptCore:

Add a setter to PutPropertySlot to override the 'isStrictMode' flag.

* runtime/PutPropertySlot.h:
(JSC::PutPropertySlot::setStrictMode):

Source/WebCore:

<a href="http://trac.webkit.org/projects/webkit/changeset/196770">r196770</a> made [Unforgeable] operations such as Location.reload()
non-writable as per the Web IDL specification. As a result,
trying to set such properties will be ignored in non-strict
mode and will throw an exception is strict mode. This also matches
Firefox and Chrome.

However, this broke the HipChat Mac App (the Web App seems fine)
because it sets Location.reload() and is using strict mode, therefore
causing an exception to be thrown.

This patch adds a quirk to JSLocation::putDelegate() which disable
strict mode when we detect that the application is HipChat. As a
result, we no longer throw when HipChat tries to set Location.reload
and the application is able to connect again.

* bindings/js/JSLocationCustom.cpp:
(WebCore::JSLocation::putDelegate):
Add a quirk which disables strict mode if the application is HipChat.

* platform/RuntimeApplicationChecks.cpp:
(WebCore::mainBundleIdentifier):
Extract this from mainBundleIsEqualTo() so it can be shared with
applicationBundleIdentifier().

(WebCore::applicationBundleIdentifier):
Returns the application bundle identifier, which is a static variable.
For the WebContent / Networking processes, the application bundle
identifier gets set to the UIProcess bundle identifier upon
initialization. If unset, we fall back to using mainBundleIdentifier()
which will do the right thing for the WK2 UIProcess and WK1.

(WebCore::mainBundleIsEqualTo):
Extract part of the code to mainBundleIdentifier() to better share
code.

(WebCore::applicationIsHipChat):
Add utility function that checks if the application is HipChat. This
will do the right thing whether it is called from the UIProcess, the
WebProcess or the UIProcess.

(WebCore::setApplicationBundleIdentifier):
Add utility function to set the application bundle identifier. It gets
called with the UIProcess bundle identifier by the NetworkProcess and
the WebProcess upon initialization.

* platform/RuntimeApplicationChecks.h:

Source/WebKit2:

Have the NetworkProcess and the WebProcess pass the UIProcess bundle
identifier to WebCore so that we can do app detection of applications
using a WK2 WebView (such as HipChat).

* NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::initializeNetworkProcess):
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::initializeWebProcess):</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceJavaScriptCoreChangeLog">trunk/Source/JavaScriptCore/ChangeLog</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimePutPropertySloth">trunk/Source/JavaScriptCore/runtime/PutPropertySlot.h</a></li>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSLocationCustomcpp">trunk/Source/WebCore/bindings/js/JSLocationCustom.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformRuntimeApplicationCheckscpp">trunk/Source/WebCore/platform/RuntimeApplicationChecks.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformRuntimeApplicationChecksh">trunk/Source/WebCore/platform/RuntimeApplicationChecks.h</a></li>
<li><a href="#trunkSourceWebKit2ChangeLog">trunk/Source/WebKit2/ChangeLog</a></li>
<li><a href="#trunkSourceWebKit2NetworkProcessNetworkProcesscpp">trunk/Source/WebKit2/NetworkProcess/NetworkProcess.cpp</a></li>
<li><a href="#trunkSourceWebKit2WebProcessWebProcesscpp">trunk/Source/WebKit2/WebProcess/WebProcess.cpp</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceJavaScriptCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/ChangeLog (197547 => 197548)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/ChangeLog        2016-03-04 05:49:23 UTC (rev 197547)
+++ trunk/Source/JavaScriptCore/ChangeLog        2016-03-04 06:00:02 UTC (rev 197548)
</span><span class="lines">@@ -1,3 +1,16 @@
</span><ins>+2016-03-03  Chris Dumez  &lt;cdumez@apple.com&gt;
+
+        Regression(r196770): Unable to use HipChat Mac app
+        https://bugs.webkit.org/show_bug.cgi?id=154999
+        &lt;rdar://problem/24931959&gt;
+
+        Reviewed by Darin Adler.
+
+        Add a setter to PutPropertySlot to override the 'isStrictMode' flag.
+
+        * runtime/PutPropertySlot.h:
+        (JSC::PutPropertySlot::setStrictMode):
+
</ins><span class="cx"> 2016-03-03  Benjamin Poulain  &lt;bpoulain@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         [JSC] Add support for MADD, MSUB and MNEG to Air
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimePutPropertySloth"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/PutPropertySlot.h (197547 => 197548)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/PutPropertySlot.h        2016-03-04 05:49:23 UTC (rev 197547)
+++ trunk/Source/JavaScriptCore/runtime/PutPropertySlot.h        2016-03-04 06:00:02 UTC (rev 197548)
</span><span class="lines">@@ -94,6 +94,11 @@
</span><span class="cx">         m_thisValue = thisValue;
</span><span class="cx">     }
</span><span class="cx"> 
</span><ins>+    void setStrictMode(bool value)
+    {
+        m_isStrictMode = value;
+    }
+
</ins><span class="cx">     PutValueFunc customSetter() const
</span><span class="cx">     {
</span><span class="cx">         ASSERT(isCacheableCustom());
</span></span></pre></div>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (197547 => 197548)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2016-03-04 05:49:23 UTC (rev 197547)
+++ trunk/Source/WebCore/ChangeLog        2016-03-04 06:00:02 UTC (rev 197548)
</span><span class="lines">@@ -1,3 +1,58 @@
</span><ins>+2016-03-03  Chris Dumez  &lt;cdumez@apple.com&gt;
+
+        Regression(r196770): Unable to use HipChat Mac app
+        https://bugs.webkit.org/show_bug.cgi?id=154999
+        &lt;rdar://problem/24931959&gt;
+
+        Reviewed by Darin Adler.
+
+        r196770 made [Unforgeable] operations such as Location.reload()
+        non-writable as per the Web IDL specification. As a result,
+        trying to set such properties will be ignored in non-strict
+        mode and will throw an exception is strict mode. This also matches
+        Firefox and Chrome.
+
+        However, this broke the HipChat Mac App (the Web App seems fine)
+        because it sets Location.reload() and is using strict mode, therefore
+        causing an exception to be thrown.
+
+        This patch adds a quirk to JSLocation::putDelegate() which disable
+        strict mode when we detect that the application is HipChat. As a
+        result, we no longer throw when HipChat tries to set Location.reload
+        and the application is able to connect again.
+
+        * bindings/js/JSLocationCustom.cpp:
+        (WebCore::JSLocation::putDelegate):
+        Add a quirk which disables strict mode if the application is HipChat.
+
+        * platform/RuntimeApplicationChecks.cpp:
+        (WebCore::mainBundleIdentifier):
+        Extract this from mainBundleIsEqualTo() so it can be shared with
+        applicationBundleIdentifier().
+
+        (WebCore::applicationBundleIdentifier):
+        Returns the application bundle identifier, which is a static variable.
+        For the WebContent / Networking processes, the application bundle
+        identifier gets set to the UIProcess bundle identifier upon
+        initialization. If unset, we fall back to using mainBundleIdentifier()
+        which will do the right thing for the WK2 UIProcess and WK1.
+
+        (WebCore::mainBundleIsEqualTo):
+        Extract part of the code to mainBundleIdentifier() to better share
+        code.
+
+        (WebCore::applicationIsHipChat):
+        Add utility function that checks if the application is HipChat. This
+        will do the right thing whether it is called from the UIProcess, the
+        WebProcess or the UIProcess.
+
+        (WebCore::setApplicationBundleIdentifier):
+        Add utility function to set the application bundle identifier. It gets
+        called with the UIProcess bundle identifier by the NetworkProcess and
+        the WebProcess upon initialization.
+
+        * platform/RuntimeApplicationChecks.h:
+
</ins><span class="cx"> 2016-03-03  Keith Miller  &lt;keith_miller@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         JSArrayBuffers should be collected less aggressively
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSLocationCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSLocationCustom.cpp (197547 => 197548)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSLocationCustom.cpp        2016-03-04 05:49:23 UTC (rev 197547)
+++ trunk/Source/WebCore/bindings/js/JSLocationCustom.cpp        2016-03-04 06:00:02 UTC (rev 197548)
</span><span class="lines">@@ -24,6 +24,7 @@
</span><span class="cx"> #include &quot;JSLocation.h&quot;
</span><span class="cx"> 
</span><span class="cx"> #include &quot;JSDOMBinding.h&quot;
</span><ins>+#include &quot;RuntimeApplicationChecks.h&quot;
</ins><span class="cx"> #include &lt;runtime/JSFunction.h&gt;
</span><span class="cx"> 
</span><span class="cx"> using namespace JSC;
</span><span class="lines">@@ -84,6 +85,12 @@
</span><span class="cx">     if (propertyName != exec-&gt;propertyNames().href &amp;&amp; !sameDomainAccess)
</span><span class="cx">         return true;
</span><span class="cx"> 
</span><ins>+#if PLATFORM(MAC)
+    // FIXME: HipChat tries to set Location.reload which causes an exception to be thrown in strict mode (see &lt;rdar://problem/24931959&gt;).
+    if (applicationIsHipChat())
+        slot.setStrictMode(false);
+#endif
+
</ins><span class="cx">     return false;
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformRuntimeApplicationCheckscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/RuntimeApplicationChecks.cpp (197547 => 197548)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/RuntimeApplicationChecks.cpp        2016-03-04 05:49:23 UTC (rev 197547)
+++ trunk/Source/WebCore/platform/RuntimeApplicationChecks.cpp        2016-03-04 06:00:02 UTC (rev 197548)
</span><span class="lines">@@ -26,25 +26,54 @@
</span><span class="cx"> #include &quot;config.h&quot;
</span><span class="cx"> #include &quot;RuntimeApplicationChecks.h&quot;
</span><span class="cx"> 
</span><ins>+#include &lt;wtf/NeverDestroyed.h&gt;
+#include &lt;wtf/RunLoop.h&gt;
+#include &lt;wtf/text/WTFString.h&gt;
+
</ins><span class="cx"> #if USE(CF)
</span><span class="cx"> #include &lt;CoreFoundation/CoreFoundation.h&gt;
</span><span class="cx"> #include &lt;wtf/RetainPtr.h&gt;
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-#include &lt;wtf/text/WTFString.h&gt;
</del><ins>+namespace WebCore {
</ins><span class="cx"> 
</span><del>-namespace WebCore {
-    
</del><ins>+#if USE(CF)
+static CFStringRef mainBundleIdentifier()
+{
+    CFBundleRef mainBundle = CFBundleGetMainBundle();
+    if (!mainBundle)
+        return nullptr;
+
+    return CFBundleGetIdentifier(mainBundle);
+}
+#endif
+
+// The application bundle identifier gets set to the UIProcess bundle identifier by the WebProcess and
+// the networking process upon initialization.
+// If not explicitly set, this will return the main bundle identifier which is accurate for WK1 or
+// the WK2 UIProcess.
+static String&amp; applicationBundleIdentifier()
+{
+    ASSERT(RunLoop::isMain());
+
+#if USE(CF)
+    static NeverDestroyed&lt;String&gt; identifier(mainBundleIdentifier());
+#else
+    static NeverDestroyed&lt;String&gt; identifier;
+#endif
+
+    return identifier;
+}
+
+// FIXME: This should probably be renamed to applicationBundleIsEqualTo() and use applicationBundleIdentifier()
+// instead of mainBundleIdentifier() internally. This would have the benefit of working for both WebKit1 and
+// WebKit2.
</ins><span class="cx"> static bool mainBundleIsEqualTo(const String&amp; bundleIdentifierString)
</span><span class="cx"> {
</span><span class="cx">     // FIXME: We should consider merging this file with RuntimeApplicationChecksIOS.mm.
</span><span class="cx">     // Then we can remove the PLATFORM(IOS)-guard.
</span><span class="cx"> #if USE(CF) &amp;&amp; !PLATFORM(IOS)
</span><del>-    CFBundleRef mainBundle = CFBundleGetMainBundle();
-    if (!mainBundle)
-        return false;
-
-    CFStringRef bundleIdentifier = CFBundleGetIdentifier(mainBundle);
</del><ins>+    CFStringRef bundleIdentifier = mainBundleIdentifier();
</ins><span class="cx">     if (!bundleIdentifier)
</span><span class="cx">         return false;
</span><span class="cx"> 
</span><span class="lines">@@ -139,4 +168,16 @@
</span><span class="cx">     return isSolidStateNetworksDownloader;
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+bool applicationIsHipChat()
+{
+    static bool isHipChat = applicationBundleIdentifier() == &quot;com.hipchat.HipChat&quot;;
+    ASSERT_WITH_MESSAGE(isHipChat == (applicationBundleIdentifier() == &quot;com.hipchat.HipChat&quot;), &quot;Should not be called before setApplicationBundleIdentifier()&quot;);
+    return isHipChat;
+}
+
+void setApplicationBundleIdentifier(const String&amp; bundleIdentifier)
+{
+    applicationBundleIdentifier() = bundleIdentifier;
+}
+
</ins><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformRuntimeApplicationChecksh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/RuntimeApplicationChecks.h (197547 => 197548)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/RuntimeApplicationChecks.h        2016-03-04 05:49:23 UTC (rev 197547)
+++ trunk/Source/WebCore/platform/RuntimeApplicationChecks.h        2016-03-04 06:00:02 UTC (rev 197548)
</span><span class="lines">@@ -26,6 +26,8 @@
</span><span class="cx"> #ifndef RuntimeApplicationChecks_h
</span><span class="cx"> #define RuntimeApplicationChecks_h
</span><span class="cx"> 
</span><ins>+#include &lt;wtf/Forward.h&gt;
+
</ins><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="cx"> WEBCORE_EXPORT bool applicationIsAOLInstantMessenger();
</span><span class="lines">@@ -42,7 +44,10 @@
</span><span class="cx"> bool applicationIsSolidStateNetworksDownloader();
</span><span class="cx"> WEBCORE_EXPORT bool applicationIsVersions();
</span><span class="cx"> WEBCORE_EXPORT bool applicationIsHRBlock();
</span><ins>+WEBCORE_EXPORT bool applicationIsHipChat();
</ins><span class="cx"> 
</span><ins>+WEBCORE_EXPORT void setApplicationBundleIdentifier(const String&amp;);
+
</ins><span class="cx"> } // namespace WebCore
</span><span class="cx"> 
</span><span class="cx"> #endif // RuntimeApplicationChecks_h
</span></span></pre></div>
<a id="trunkSourceWebKit2ChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/ChangeLog (197547 => 197548)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/ChangeLog        2016-03-04 05:49:23 UTC (rev 197547)
+++ trunk/Source/WebKit2/ChangeLog        2016-03-04 06:00:02 UTC (rev 197548)
</span><span class="lines">@@ -1,3 +1,20 @@
</span><ins>+2016-03-03  Chris Dumez  &lt;cdumez@apple.com&gt;
+
+        Regression(r196770): Unable to use HipChat Mac app
+        https://bugs.webkit.org/show_bug.cgi?id=154999
+        &lt;rdar://problem/24931959&gt;
+
+        Reviewed by Darin Adler.
+
+        Have the NetworkProcess and the WebProcess pass the UIProcess bundle
+        identifier to WebCore so that we can do app detection of applications
+        using a WK2 WebView (such as HipChat).
+
+        * NetworkProcess/NetworkProcess.cpp:
+        (WebKit::NetworkProcess::initializeNetworkProcess):
+        * WebProcess/WebProcess.cpp:
+        (WebKit::WebProcess::initializeWebProcess):
+
</ins><span class="cx"> 2016-03-03  Simon Fraser  &lt;simon.fraser@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Use larger tiles when possible to reduce per-tile painting overhead
</span></span></pre></div>
<a id="trunkSourceWebKit2NetworkProcessNetworkProcesscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/NetworkProcess/NetworkProcess.cpp (197547 => 197548)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/NetworkProcess/NetworkProcess.cpp        2016-03-04 05:49:23 UTC (rev 197547)
+++ trunk/Source/WebKit2/NetworkProcess/NetworkProcess.cpp        2016-03-04 06:00:02 UTC (rev 197548)
</span><span class="lines">@@ -53,6 +53,7 @@
</span><span class="cx"> #include &lt;WebCore/Logging.h&gt;
</span><span class="cx"> #include &lt;WebCore/PlatformCookieJar.h&gt;
</span><span class="cx"> #include &lt;WebCore/ResourceRequest.h&gt;
</span><ins>+#include &lt;WebCore/RuntimeApplicationChecks.h&gt;
</ins><span class="cx"> #include &lt;WebCore/SecurityOriginData.h&gt;
</span><span class="cx"> #include &lt;WebCore/SecurityOriginHash.h&gt;
</span><span class="cx"> #include &lt;WebCore/SessionID.h&gt;
</span><span class="lines">@@ -214,6 +215,7 @@
</span><span class="cx">     setCanHandleHTTPSServerTrustEvaluation(parameters.canHandleHTTPSServerTrustEvaluation);
</span><span class="cx"> 
</span><span class="cx"> #if PLATFORM(COCOA) || USE(CFNETWORK)
</span><ins>+    setApplicationBundleIdentifier(parameters.uiProcessBundleIdentifier);
</ins><span class="cx">     SessionTracker::setIdentifierBase(parameters.uiProcessBundleIdentifier);
</span><span class="cx"> #endif
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessWebProcesscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/WebProcess.cpp (197547 => 197548)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/WebProcess.cpp        2016-03-04 05:49:23 UTC (rev 197547)
+++ trunk/Source/WebKit2/WebProcess/WebProcess.cpp        2016-03-04 06:00:02 UTC (rev 197548)
</span><span class="lines">@@ -86,6 +86,7 @@
</span><span class="cx"> #include &lt;WebCore/PageGroup.h&gt;
</span><span class="cx"> #include &lt;WebCore/PlatformMediaSessionManager.h&gt;
</span><span class="cx"> #include &lt;WebCore/ResourceHandle.h&gt;
</span><ins>+#include &lt;WebCore/RuntimeApplicationChecks.h&gt;
</ins><span class="cx"> #include &lt;WebCore/RuntimeEnabledFeatures.h&gt;
</span><span class="cx"> #include &lt;WebCore/SchemeRegistry.h&gt;
</span><span class="cx"> #include &lt;WebCore/SecurityOrigin.h&gt;
</span><span class="lines">@@ -327,6 +328,7 @@
</span><span class="cx">         setShouldUseFontSmoothing(true);
</span><span class="cx"> 
</span><span class="cx"> #if PLATFORM(COCOA) || USE(CFNETWORK)
</span><ins>+    setApplicationBundleIdentifier(parameters.uiProcessBundleIdentifier);
</ins><span class="cx">     SessionTracker::setIdentifierBase(parameters.uiProcessBundleIdentifier);
</span><span class="cx"> #endif
</span><span class="cx"> 
</span></span></pre>
</div>
</div>

</body>
</html>