<!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>[213129] releases/WebKitGTK/webkit-2.16</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/213129">213129</a></dd>
<dt>Author</dt> <dd>carlosgc@webkit.org</dd>
<dt>Date</dt> <dd>2017-02-28 01:07:22 -0800 (Tue, 28 Feb 2017)</dd>
</dl>

<h3>Log Message</h3>
<pre>Merge <a href="http://trac.webkit.org/projects/webkit/changeset/212878">r212878</a> - Better handle Thread and RunLoop initialization
https://bugs.webkit.org/show_bug.cgi?id=167828

Reviewed by Yusuke Suzuki.

Source/JavaScriptCore:

* runtime/InitializeThreading.cpp:
(JSC::initializeThreading): Do not initialize double_conversion, that is already initialized by WTF, and GC
threads that will be initialized by WTF main thread when needed.

Source/WebKit/win:

Remove unnecessary call to WTF::initializeMainThread().

* WebView.cpp:
(WebView::WebView):

Source/WebKit2:

Remove unnecessary call to WTF::initializeMainThread().

* Shared/WebKit2Initialize.cpp:
(WebKit::InitializeWebKit2):

Source/WTF:

Make initialization functions more independent so that they can run in different
order. WTF::initializeMainThread initializes WTF threading, so that neither WTF nor JSC theading need to be
initialized before. RunLoop::initializeMainRunLoop() requires main thread to be initialized in some
ports, so it initializes main thread too. WebKit1 always calls WTF::initializeMainThreadToProcessMainThread()
before RunLoop::initializeMainRunLoop() so there's no problem there. GC threads are initialized alwayas by the
main thread. The rules should be simpler now:

  - JSC::initializeThreading: should always be called when JSC is used.
  - WTF::initializeThreading: only needs to be explicitly called when JSC is not used and process doesn't
    initialize a main thread or main run loop.
  - WTF::initializeMainThread: only needs to be explicitly called if process initializes a main thread but not a
    main run loop.
  - WTF::initializeMainThreadToProcessMainThread(): should always be called in WebKit1 before
    RunLoop::initializeMainRunLoop().
  - RunLoop::initializeMainRunLoop(): to initialize the main run loop. The only requirement is JSC::initializeThreading()
    to be called before if JSC is used.

* wtf/MainThread.cpp:
(WTF::initializeMainThreadOnce): Use pthread_once to initialize the main thread also in GTK+ port.
(WTF::initializeMainThreadToProcessMainThreadOnce): Call initializeThreading() before the platform
initialization and initializeGCThreads() after it.
(WTF::initializeMainThread): Ditto.
* wtf/RunLoop.cpp:
(WTF::RunLoop::initializeMainRunLoop): Call initializeMainThread().
* wtf/glib/MainThreadGLib.cpp:
(WTF::initializeMainThreadPlatform):
(WTF::isMainThread):
* wtf/mac/MainThreadMac.mm:
(WTF::initializeMainThreadPlatform): Remove call to initializeGCThreads().
(WTF::initializeMainThreadToProcessMainThreadPlatform): Ditto.

Tools:

Remove unnecessary calls to WTF::initializeMainThread().

* TestWebKitAPI/Tests/WebCore/ComplexTextController.cpp:
(TestWebKitAPI::ComplexTextControllerTest::SetUp):
* TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp:
(TestWebKitAPI::ContentExtensionTest::SetUp):
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::initialize):</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#releasesWebKitGTKwebkit216SourceJavaScriptCoreChangeLog">releases/WebKitGTK/webkit-2.16/Source/JavaScriptCore/ChangeLog</a></li>
<li><a href="#releasesWebKitGTKwebkit216SourceJavaScriptCoreruntimeInitializeThreadingcpp">releases/WebKitGTK/webkit-2.16/Source/JavaScriptCore/runtime/InitializeThreading.cpp</a></li>
<li><a href="#releasesWebKitGTKwebkit216SourceWTFChangeLog">releases/WebKitGTK/webkit-2.16/Source/WTF/ChangeLog</a></li>
<li><a href="#releasesWebKitGTKwebkit216SourceWTFwtfMainThreadcpp">releases/WebKitGTK/webkit-2.16/Source/WTF/wtf/MainThread.cpp</a></li>
<li><a href="#releasesWebKitGTKwebkit216SourceWTFwtfRunLoopcpp">releases/WebKitGTK/webkit-2.16/Source/WTF/wtf/RunLoop.cpp</a></li>
<li><a href="#releasesWebKitGTKwebkit216SourceWTFwtfglibMainThreadGLibcpp">releases/WebKitGTK/webkit-2.16/Source/WTF/wtf/glib/MainThreadGLib.cpp</a></li>
<li><a href="#releasesWebKitGTKwebkit216SourceWTFwtfmacMainThreadMacmm">releases/WebKitGTK/webkit-2.16/Source/WTF/wtf/mac/MainThreadMac.mm</a></li>
<li><a href="#releasesWebKitGTKwebkit216SourceWebKitwinChangeLog">releases/WebKitGTK/webkit-2.16/Source/WebKit/win/ChangeLog</a></li>
<li><a href="#releasesWebKitGTKwebkit216SourceWebKitwinWebViewcpp">releases/WebKitGTK/webkit-2.16/Source/WebKit/win/WebView.cpp</a></li>
<li><a href="#releasesWebKitGTKwebkit216SourceWebKit2ChangeLog">releases/WebKitGTK/webkit-2.16/Source/WebKit2/ChangeLog</a></li>
<li><a href="#releasesWebKitGTKwebkit216SourceWebKit2SharedWebKit2Initializecpp">releases/WebKitGTK/webkit-2.16/Source/WebKit2/Shared/WebKit2Initialize.cpp</a></li>
<li><a href="#releasesWebKitGTKwebkit216ToolsChangeLog">releases/WebKitGTK/webkit-2.16/Tools/ChangeLog</a></li>
<li><a href="#releasesWebKitGTKwebkit216ToolsTestWebKitAPITestsWebCoreComplexTextControllercpp">releases/WebKitGTK/webkit-2.16/Tools/TestWebKitAPI/Tests/WebCore/ComplexTextController.cpp</a></li>
<li><a href="#releasesWebKitGTKwebkit216ToolsTestWebKitAPITestsWebCoreContentExtensionscpp">releases/WebKitGTK/webkit-2.16/Tools/TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp</a></li>
<li><a href="#releasesWebKitGTKwebkit216ToolsWebKitTestRunnerTestControllercpp">releases/WebKitGTK/webkit-2.16/Tools/WebKitTestRunner/TestController.cpp</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="releasesWebKitGTKwebkit216SourceJavaScriptCoreChangeLog"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.16/Source/JavaScriptCore/ChangeLog (213128 => 213129)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.16/Source/JavaScriptCore/ChangeLog        2017-02-28 09:05:24 UTC (rev 213128)
+++ releases/WebKitGTK/webkit-2.16/Source/JavaScriptCore/ChangeLog        2017-02-28 09:07:22 UTC (rev 213129)
</span><span class="lines">@@ -1,3 +1,14 @@
</span><ins>+2017-02-22  Carlos Garcia Campos  &lt;cgarcia@igalia.com&gt;
+
+        Better handle Thread and RunLoop initialization
+        https://bugs.webkit.org/show_bug.cgi?id=167828
+
+        Reviewed by Yusuke Suzuki.
+
+        * runtime/InitializeThreading.cpp:
+        (JSC::initializeThreading): Do not initialize double_conversion, that is already initialized by WTF, and GC
+        threads that will be initialized by WTF main thread when needed.
+
</ins><span class="cx"> 2017-02-22  Keith Miller  &lt;keith_miller@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Remove the demand executable allocator
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit216SourceJavaScriptCoreruntimeInitializeThreadingcpp"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.16/Source/JavaScriptCore/runtime/InitializeThreading.cpp (213128 => 213129)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.16/Source/JavaScriptCore/runtime/InitializeThreading.cpp        2017-02-28 09:05:24 UTC (rev 213128)
+++ releases/WebKitGTK/webkit-2.16/Source/JavaScriptCore/runtime/InitializeThreading.cpp        2017-02-28 09:07:22 UTC (rev 213129)
</span><span class="lines">@@ -55,9 +55,7 @@
</span><span class="cx">     static std::once_flag initializeThreadingOnceFlag;
</span><span class="cx"> 
</span><span class="cx">     std::call_once(initializeThreadingOnceFlag, []{
</span><del>-        WTF::double_conversion::initialize();
</del><span class="cx">         WTF::initializeThreading();
</span><del>-        WTF::initializeGCThreads();
</del><span class="cx">         Options::initialize();
</span><span class="cx"> #if ENABLE(WRITE_BARRIER_PROFILING)
</span><span class="cx">         WriteBarrierCounters::initialize();
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit216SourceWTFChangeLog"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.16/Source/WTF/ChangeLog (213128 => 213129)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.16/Source/WTF/ChangeLog        2017-02-28 09:05:24 UTC (rev 213128)
+++ releases/WebKitGTK/webkit-2.16/Source/WTF/ChangeLog        2017-02-28 09:07:22 UTC (rev 213129)
</span><span class="lines">@@ -1,3 +1,41 @@
</span><ins>+2017-02-22  Carlos Garcia Campos  &lt;cgarcia@igalia.com&gt;
+
+        Better handle Thread and RunLoop initialization
+        https://bugs.webkit.org/show_bug.cgi?id=167828
+
+        Reviewed by Yusuke Suzuki.
+
+        Make initialization functions more independent so that they can run in different
+        order. WTF::initializeMainThread initializes WTF threading, so that neither WTF nor JSC theading need to be
+        initialized before. RunLoop::initializeMainRunLoop() requires main thread to be initialized in some
+        ports, so it initializes main thread too. WebKit1 always calls WTF::initializeMainThreadToProcessMainThread()
+        before RunLoop::initializeMainRunLoop() so there's no problem there. GC threads are initialized alwayas by the
+        main thread. The rules should be simpler now:
+
+          - JSC::initializeThreading: should always be called when JSC is used.
+          - WTF::initializeThreading: only needs to be explicitly called when JSC is not used and process doesn't
+            initialize a main thread or main run loop.
+          - WTF::initializeMainThread: only needs to be explicitly called if process initializes a main thread but not a
+            main run loop.
+          - WTF::initializeMainThreadToProcessMainThread(): should always be called in WebKit1 before
+            RunLoop::initializeMainRunLoop().
+          - RunLoop::initializeMainRunLoop(): to initialize the main run loop. The only requirement is JSC::initializeThreading()
+            to be called before if JSC is used.
+
+        * wtf/MainThread.cpp:
+        (WTF::initializeMainThreadOnce): Use pthread_once to initialize the main thread also in GTK+ port.
+        (WTF::initializeMainThreadToProcessMainThreadOnce): Call initializeThreading() before the platform
+        initialization and initializeGCThreads() after it.
+        (WTF::initializeMainThread): Ditto.
+        * wtf/RunLoop.cpp:
+        (WTF::RunLoop::initializeMainRunLoop): Call initializeMainThread().
+        * wtf/glib/MainThreadGLib.cpp:
+        (WTF::initializeMainThreadPlatform):
+        (WTF::isMainThread):
+        * wtf/mac/MainThreadMac.mm:
+        (WTF::initializeMainThreadPlatform): Remove call to initializeGCThreads().
+        (WTF::initializeMainThreadToProcessMainThreadPlatform): Ditto.
+
</ins><span class="cx"> 2017-02-22  Keith Miller  &lt;keith_miller@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Remove the demand executable allocator
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit216SourceWTFwtfMainThreadcpp"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.16/Source/WTF/wtf/MainThread.cpp (213128 => 213129)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.16/Source/WTF/wtf/MainThread.cpp        2017-02-28 09:05:24 UTC (rev 213128)
+++ releases/WebKitGTK/webkit-2.16/Source/WTF/wtf/MainThread.cpp        2017-02-28 09:07:22 UTC (rev 213129)
</span><span class="lines">@@ -41,7 +41,7 @@
</span><span class="cx"> namespace WTF {
</span><span class="cx"> 
</span><span class="cx"> static bool callbacksPaused; // This global variable is only accessed from main thread.
</span><del>-#if !OS(DARWIN) || PLATFORM(GTK)
</del><ins>+#if !OS(DARWIN) &amp;&amp; !PLATFORM(GTK)
</ins><span class="cx"> static ThreadIdentifier mainThreadIdentifier;
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="lines">@@ -53,28 +53,14 @@
</span><span class="cx">     return functionQueue;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-#if !OS(DARWIN) || PLATFORM(GTK)
-
-void initializeMainThread()
-{
-    static bool initializedMainThread;
-    if (initializedMainThread)
-        return;
-    initializedMainThread = true;
-
-    mainThreadIdentifier = currentThread();
-
-    initializeMainThreadPlatform();
-    initializeGCThreads();
-}
-
-#else
-
</del><ins>+#if OS(DARWIN) || PLATFORM(GTK)
</ins><span class="cx"> static pthread_once_t initializeMainThreadKeyOnce = PTHREAD_ONCE_INIT;
</span><span class="cx"> 
</span><span class="cx"> static void initializeMainThreadOnce()
</span><span class="cx"> {
</span><ins>+    initializeThreading();
</ins><span class="cx">     initializeMainThreadPlatform();
</span><ins>+    initializeGCThreads();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void initializeMainThread()
</span><span class="lines">@@ -82,10 +68,12 @@
</span><span class="cx">     pthread_once(&amp;initializeMainThreadKeyOnce, initializeMainThreadOnce);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-#if !USE(WEB_THREAD)
</del><ins>+#if !USE(WEB_THREAD) &amp;&amp; !PLATFORM(GTK)
</ins><span class="cx"> static void initializeMainThreadToProcessMainThreadOnce()
</span><span class="cx"> {
</span><ins>+    initializeThreading();
</ins><span class="cx">     initializeMainThreadToProcessMainThreadPlatform();
</span><ins>+    initializeGCThreads();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void initializeMainThreadToProcessMainThread()
</span><span class="lines">@@ -92,7 +80,7 @@
</span><span class="cx"> {
</span><span class="cx">     pthread_once(&amp;initializeMainThreadKeyOnce, initializeMainThreadToProcessMainThreadOnce);
</span><span class="cx"> }
</span><del>-#else
</del><ins>+#elif !PLATFORM(GTK)
</ins><span class="cx"> static pthread_once_t initializeWebThreadKeyOnce = PTHREAD_ONCE_INIT;
</span><span class="cx"> 
</span><span class="cx"> static void initializeWebThreadOnce()
</span><span class="lines">@@ -106,6 +94,20 @@
</span><span class="cx"> }
</span><span class="cx"> #endif // !USE(WEB_THREAD)
</span><span class="cx"> 
</span><ins>+#else
+void initializeMainThread()
+{
+    static bool initializedMainThread;
+    if (initializedMainThread)
+        return;
+    initializedMainThread = true;
+
+    initializeThreading();
+    mainThreadIdentifier = currentThread();
+
+    initializeMainThreadPlatform();
+    initializeGCThreads();
+}
</ins><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> // 0.1 sec delays in UI is approximate threshold when they become noticeable. Have a limit that's half of that.
</span><span class="lines">@@ -176,7 +178,7 @@
</span><span class="cx">         scheduleDispatchFunctionsOnMainThread();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-#if !OS(DARWIN) || PLATFORM(GTK)
</del><ins>+#if !OS(DARWIN) &amp;&amp; !PLATFORM(GTK)
</ins><span class="cx"> bool isMainThread()
</span><span class="cx"> {
</span><span class="cx">     return currentThread() == mainThreadIdentifier;
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit216SourceWTFwtfRunLoopcpp"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.16/Source/WTF/wtf/RunLoop.cpp (213128 => 213129)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.16/Source/WTF/wtf/RunLoop.cpp        2017-02-28 09:05:24 UTC (rev 213128)
+++ releases/WebKitGTK/webkit-2.16/Source/WTF/wtf/RunLoop.cpp        2017-02-28 09:07:22 UTC (rev 213129)
</span><span class="lines">@@ -52,6 +52,7 @@
</span><span class="cx"> {
</span><span class="cx">     if (s_mainRunLoop)
</span><span class="cx">         return;
</span><ins>+    initializeMainThread();
</ins><span class="cx">     s_mainRunLoop = &amp;RunLoop::current();
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit216SourceWTFwtfglibMainThreadGLibcpp"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.16/Source/WTF/wtf/glib/MainThreadGLib.cpp (213128 => 213129)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.16/Source/WTF/wtf/glib/MainThreadGLib.cpp        2017-02-28 09:05:24 UTC (rev 213128)
+++ releases/WebKitGTK/webkit-2.16/Source/WTF/wtf/glib/MainThreadGLib.cpp        2017-02-28 09:07:22 UTC (rev 213129)
</span><span class="lines">@@ -33,6 +33,8 @@
</span><span class="cx"> #include &lt;glib.h&gt;
</span><span class="cx"> #include &lt;wtf/RunLoop.h&gt;
</span><span class="cx"> 
</span><ins>+static pthread_t mainThreadPthread;
+
</ins><span class="cx"> namespace WTF {
</span><span class="cx"> 
</span><span class="cx"> class MainThreadDispatcher {
</span><span class="lines">@@ -59,8 +61,15 @@
</span><span class="cx"> 
</span><span class="cx"> void initializeMainThreadPlatform()
</span><span class="cx"> {
</span><ins>+    mainThreadPthread = pthread_self();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><ins>+bool isMainThread()
+{
+    ASSERT(mainThreadPthread);
+    return pthread_equal(pthread_self(), mainThreadPthread);
+}
+
</ins><span class="cx"> void scheduleDispatchFunctionsOnMainThread()
</span><span class="cx"> {
</span><span class="cx">     // Use a RunLoop::Timer instead of RunLoop::dispatch() to be able to use a different priority and
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit216SourceWTFwtfmacMainThreadMacmm"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.16/Source/WTF/wtf/mac/MainThreadMac.mm (213128 => 213129)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.16/Source/WTF/wtf/mac/MainThreadMac.mm        2017-02-28 09:05:24 UTC (rev 213128)
+++ releases/WebKitGTK/webkit-2.16/Source/WTF/wtf/mac/MainThreadMac.mm        2017-02-28 09:07:22 UTC (rev 213129)
</span><span class="lines">@@ -82,8 +82,6 @@
</span><span class="cx">     ASSERT(!mainThreadPthread);
</span><span class="cx">     ASSERT(!mainThreadNSThread);
</span><span class="cx"> #endif
</span><del>-
-    initializeGCThreads();
</del><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> #if !USE(WEB_THREAD)
</span><span class="lines">@@ -98,8 +96,6 @@
</span><span class="cx">     mainThreadEstablishedAsPthreadMain = true;
</span><span class="cx">     mainThreadPthread = 0;
</span><span class="cx">     mainThreadNSThread = nil;
</span><del>-    
-    initializeGCThreads();
</del><span class="cx"> }
</span><span class="cx"> #endif // !USE(WEB_THREAD)
</span><span class="cx"> 
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit216SourceWebKitwinChangeLog"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.16/Source/WebKit/win/ChangeLog (213128 => 213129)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.16/Source/WebKit/win/ChangeLog        2017-02-28 09:05:24 UTC (rev 213128)
+++ releases/WebKitGTK/webkit-2.16/Source/WebKit/win/ChangeLog        2017-02-28 09:07:22 UTC (rev 213129)
</span><span class="lines">@@ -1,3 +1,15 @@
</span><ins>+2017-02-22  Carlos Garcia Campos  &lt;cgarcia@igalia.com&gt;
+
+        Better handle Thread and RunLoop initialization
+        https://bugs.webkit.org/show_bug.cgi?id=167828
+
+        Reviewed by Yusuke Suzuki.
+
+        Remove unnecessary call to WTF::initializeMainThread().
+
+        * WebView.cpp:
+        (WebView::WebView):
+
</ins><span class="cx"> 2017-02-16  Daniel Bates  &lt;dabates@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Remove Chromium-specific code to call FrameLoaderClient::redirectDataToPlugin(nullptr)
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit216SourceWebKitwinWebViewcpp"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.16/Source/WebKit/win/WebView.cpp (213128 => 213129)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.16/Source/WebKit/win/WebView.cpp        2017-02-28 09:05:24 UTC (rev 213128)
+++ releases/WebKitGTK/webkit-2.16/Source/WebKit/win/WebView.cpp        2017-02-28 09:07:22 UTC (rev 213129)
</span><span class="lines">@@ -409,7 +409,6 @@
</span><span class="cx"> WebView::WebView()
</span><span class="cx"> {
</span><span class="cx">     JSC::initializeThreading();
</span><del>-    WTF::initializeMainThread();
</del><span class="cx">     RunLoop::initializeMainRunLoop();
</span><span class="cx"> 
</span><span class="cx">     m_backingStoreSize.cx = m_backingStoreSize.cy = 0;
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit216SourceWebKit2ChangeLog"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.16/Source/WebKit2/ChangeLog (213128 => 213129)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.16/Source/WebKit2/ChangeLog        2017-02-28 09:05:24 UTC (rev 213128)
+++ releases/WebKitGTK/webkit-2.16/Source/WebKit2/ChangeLog        2017-02-28 09:07:22 UTC (rev 213129)
</span><span class="lines">@@ -1,3 +1,15 @@
</span><ins>+2017-02-22  Carlos Garcia Campos  &lt;cgarcia@igalia.com&gt;
+
+        Better handle Thread and RunLoop initialization
+        https://bugs.webkit.org/show_bug.cgi?id=167828
+
+        Reviewed by Yusuke Suzuki.
+
+        Remove unnecessary call to WTF::initializeMainThread().
+
+        * Shared/WebKit2Initialize.cpp:
+        (WebKit::InitializeWebKit2):
+
</ins><span class="cx"> 2017-02-27  Carlos Garcia Campos  &lt;cgarcia@igalia.com&gt;
</span><span class="cx"> 
</span><span class="cx">         [GTK] Flickering when leaving accelerated compositing mode
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit216SourceWebKit2SharedWebKit2Initializecpp"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.16/Source/WebKit2/Shared/WebKit2Initialize.cpp (213128 => 213129)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.16/Source/WebKit2/Shared/WebKit2Initialize.cpp        2017-02-28 09:05:24 UTC (rev 213128)
+++ releases/WebKitGTK/webkit-2.16/Source/WebKit2/Shared/WebKit2Initialize.cpp        2017-02-28 09:07:22 UTC (rev 213129)
</span><span class="lines">@@ -51,7 +51,6 @@
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx">     JSC::initializeThreading();
</span><del>-    WTF::initializeMainThread();
</del><span class="cx">     RunLoop::initializeMainRunLoop();
</span><span class="cx"> 
</span><span class="cx"> #if !LOG_DISABLED || !RELEASE_LOG_DISABLED
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit216ToolsChangeLog"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.16/Tools/ChangeLog (213128 => 213129)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.16/Tools/ChangeLog        2017-02-28 09:05:24 UTC (rev 213128)
+++ releases/WebKitGTK/webkit-2.16/Tools/ChangeLog        2017-02-28 09:07:22 UTC (rev 213129)
</span><span class="lines">@@ -1,5 +1,21 @@
</span><span class="cx"> 2017-02-22  Carlos Garcia Campos  &lt;cgarcia@igalia.com&gt;
</span><span class="cx"> 
</span><ins>+        Better handle Thread and RunLoop initialization
+        https://bugs.webkit.org/show_bug.cgi?id=167828
+
+        Reviewed by Yusuke Suzuki.
+
+        Remove unnecessary calls to WTF::initializeMainThread().
+
+        * TestWebKitAPI/Tests/WebCore/ComplexTextController.cpp:
+        (TestWebKitAPI::ComplexTextControllerTest::SetUp):
+        * TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp:
+        (TestWebKitAPI::ContentExtensionTest::SetUp):
+        * WebKitTestRunner/TestController.cpp:
+        (WTR::TestController::initialize):
+
+2017-02-22  Carlos Garcia Campos  &lt;cgarcia@igalia.com&gt;
+
</ins><span class="cx">         [GTK] Do not use g_return_if_fail in EventSenderProxy::continuousMouseScrollBy
</span><span class="cx">         https://bugs.webkit.org/show_bug.cgi?id=168721
</span><span class="cx"> 
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit216ToolsTestWebKitAPITestsWebCoreComplexTextControllercpp"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.16/Tools/TestWebKitAPI/Tests/WebCore/ComplexTextController.cpp (213128 => 213129)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.16/Tools/TestWebKitAPI/Tests/WebCore/ComplexTextController.cpp        2017-02-28 09:05:24 UTC (rev 213128)
+++ releases/WebKitGTK/webkit-2.16/Tools/TestWebKitAPI/Tests/WebCore/ComplexTextController.cpp        2017-02-28 09:07:22 UTC (rev 213129)
</span><span class="lines">@@ -39,7 +39,6 @@
</span><span class="cx"> public:
</span><span class="cx">     virtual void SetUp()
</span><span class="cx">     {
</span><del>-        WTF::initializeMainThread();
</del><span class="cx">         JSC::initializeThreading();
</span><span class="cx">         RunLoop::initializeMainRunLoop();
</span><span class="cx">     }
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit216ToolsTestWebKitAPITestsWebCoreContentExtensionscpp"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.16/Tools/TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp (213128 => 213129)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.16/Tools/TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp        2017-02-28 09:05:24 UTC (rev 213128)
+++ releases/WebKitGTK/webkit-2.16/Tools/TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp        2017-02-28 09:07:22 UTC (rev 213129)
</span><span class="lines">@@ -76,7 +76,6 @@
</span><span class="cx"> public:
</span><span class="cx">     virtual void SetUp()
</span><span class="cx">     {
</span><del>-        WTF::initializeMainThread();
</del><span class="cx">         JSC::initializeThreading();
</span><span class="cx">         RunLoop::initializeMainRunLoop();
</span><span class="cx">     }
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit216ToolsWebKitTestRunnerTestControllercpp"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.16/Tools/WebKitTestRunner/TestController.cpp (213128 => 213129)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.16/Tools/WebKitTestRunner/TestController.cpp        2017-02-28 09:05:24 UTC (rev 213128)
+++ releases/WebKitGTK/webkit-2.16/Tools/WebKitTestRunner/TestController.cpp        2017-02-28 09:07:22 UTC (rev 213129)
</span><span class="lines">@@ -331,7 +331,6 @@
</span><span class="cx"> void TestController::initialize(int argc, const char* argv[])
</span><span class="cx"> {
</span><span class="cx">     JSC::initializeThreading();
</span><del>-    WTF::initializeMainThread();
</del><span class="cx">     RunLoop::initializeMainRunLoop();
</span><span class="cx"> 
</span><span class="cx">     platformInitialize();
</span></span></pre>
</div>
</div>

</body>
</html>