<!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>[164158] trunk/Source/WebCore</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/164158">164158</a></dd>
<dt>Author</dt> <dd>akling@apple.com</dd>
<dt>Date</dt> <dd>2014-02-14 23:41:12 -0800 (Fri, 14 Feb 2014)</dd>
</dl>

<h3>Log Message</h3>
<pre>CTTE: WorkerGlobalScope is always owned by a WorkerThread.
&lt;https://webkit.org/b/128834&gt;

Codify this by storing the owner thread as a WorkerThread&amp; and making
thread() return a reference.

This exposed a couple of unnecessary assertions.

Reviewed by Anders Carlsson.

* Modules/notifications/WorkerGlobalScopeNotifications.cpp:
(WebCore::WorkerGlobalScopeNotifications::webkitNotifications):
* Modules/websockets/ThreadableWebSocketChannel.cpp:
(WebCore::ThreadableWebSocketChannel::create):
* Modules/websockets/WorkerThreadableWebSocketChannel.cpp:
(WebCore::WorkerThreadableWebSocketChannel::Bridge::Bridge):
(WebCore::WorkerThreadableWebSocketChannel::Bridge::waitForMethodCompletion):
* bindings/js/ScheduledAction.cpp:
(WebCore::ScheduledAction::execute):
* bindings/js/WorkerScriptDebugServer.cpp:
(WebCore::WorkerScriptDebugServer::runEventLoopWhilePaused):
* dom/ScriptExecutionContext.cpp:
(WebCore::ScriptExecutionContext::createdMessagePort):
(WebCore::ScriptExecutionContext::destroyedMessagePort):
* inspector/WorkerDebuggerAgent.cpp:
(WebCore::WorkerDebuggerAgent::WorkerDebuggerAgent):
(WebCore::WorkerDebuggerAgent::~WorkerDebuggerAgent):
* inspector/WorkerInspectorController.cpp:
* inspector/WorkerRuntimeAgent.cpp:
(WebCore::WorkerRuntimeAgent::pauseWorkerGlobalScope):
* loader/WorkerThreadableLoader.cpp:
(WebCore::WorkerThreadableLoader::WorkerThreadableLoader):
(WebCore::WorkerThreadableLoader::loadResourceSynchronously):
* loader/cache/MemoryCache.cpp:
(WebCore::MemoryCache::removeRequestFromCache):
* workers/DedicatedWorkerGlobalScope.cpp:
(WebCore::DedicatedWorkerGlobalScope::create):
(WebCore::DedicatedWorkerGlobalScope::DedicatedWorkerGlobalScope):
(WebCore::DedicatedWorkerGlobalScope::postMessage):
(WebCore::DedicatedWorkerGlobalScope::importScripts):
(WebCore::DedicatedWorkerGlobalScope::thread):
* workers/DedicatedWorkerGlobalScope.h:
* workers/DedicatedWorkerThread.cpp:
(WebCore::DedicatedWorkerThread::createWorkerGlobalScope):
* workers/SharedWorkerGlobalScope.cpp:
(WebCore::SharedWorkerGlobalScope::create):
(WebCore::SharedWorkerGlobalScope::SharedWorkerGlobalScope):
(WebCore::SharedWorkerGlobalScope::thread):
* workers/SharedWorkerGlobalScope.h:
* workers/SharedWorkerThread.cpp:
(WebCore::SharedWorkerThread::createWorkerGlobalScope):
* workers/WorkerGlobalScope.cpp:
(WebCore::CloseWorkerGlobalScopeTask::performTask):
(WebCore::WorkerGlobalScope::WorkerGlobalScope):
(WebCore::WorkerGlobalScope::~WorkerGlobalScope):
(WebCore::WorkerGlobalScope::postTask):
(WebCore::WorkerGlobalScope::logExceptionToConsole):
(WebCore::WorkerGlobalScope::addConsoleMessage):
(WebCore::WorkerGlobalScope::addMessage):
(WebCore::WorkerGlobalScope::isContextThread):
* workers/WorkerGlobalScope.h:
(WebCore::WorkerGlobalScope::thread):
* workers/WorkerMessagingProxy.cpp:
(WebCore::MessageWorkerGlobalScopeTask::performTask):
(WebCore::WorkerMessagingProxy::WorkerMessagingProxy):
(WebCore::WorkerMessagingProxy::~WorkerMessagingProxy):
* workers/WorkerRunLoop.cpp:
(WebCore::WorkerRunLoop::runInMode):
(WebCore::WorkerRunLoop::runCleanupTasks):</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCoreModulesnotificationsWorkerGlobalScopeNotificationscpp">trunk/Source/WebCore/Modules/notifications/WorkerGlobalScopeNotifications.cpp</a></li>
<li><a href="#trunkSourceWebCoreModuleswebsocketsThreadableWebSocketChannelcpp">trunk/Source/WebCore/Modules/websockets/ThreadableWebSocketChannel.cpp</a></li>
<li><a href="#trunkSourceWebCoreModuleswebsocketsWorkerThreadableWebSocketChannelcpp">trunk/Source/WebCore/Modules/websockets/WorkerThreadableWebSocketChannel.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsScheduledActioncpp">trunk/Source/WebCore/bindings/js/ScheduledAction.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsWorkerScriptDebugServercpp">trunk/Source/WebCore/bindings/js/WorkerScriptDebugServer.cpp</a></li>
<li><a href="#trunkSourceWebCoredomScriptExecutionContextcpp">trunk/Source/WebCore/dom/ScriptExecutionContext.cpp</a></li>
<li><a href="#trunkSourceWebCoreinspectorWorkerDebuggerAgentcpp">trunk/Source/WebCore/inspector/WorkerDebuggerAgent.cpp</a></li>
<li><a href="#trunkSourceWebCoreinspectorWorkerInspectorControllercpp">trunk/Source/WebCore/inspector/WorkerInspectorController.cpp</a></li>
<li><a href="#trunkSourceWebCoreinspectorWorkerRuntimeAgentcpp">trunk/Source/WebCore/inspector/WorkerRuntimeAgent.cpp</a></li>
<li><a href="#trunkSourceWebCoreloaderWorkerThreadableLoadercpp">trunk/Source/WebCore/loader/WorkerThreadableLoader.cpp</a></li>
<li><a href="#trunkSourceWebCoreloadercacheMemoryCachecpp">trunk/Source/WebCore/loader/cache/MemoryCache.cpp</a></li>
<li><a href="#trunkSourceWebCoreworkersDedicatedWorkerGlobalScopecpp">trunk/Source/WebCore/workers/DedicatedWorkerGlobalScope.cpp</a></li>
<li><a href="#trunkSourceWebCoreworkersDedicatedWorkerGlobalScopeh">trunk/Source/WebCore/workers/DedicatedWorkerGlobalScope.h</a></li>
<li><a href="#trunkSourceWebCoreworkersDedicatedWorkerThreadcpp">trunk/Source/WebCore/workers/DedicatedWorkerThread.cpp</a></li>
<li><a href="#trunkSourceWebCoreworkersSharedWorkerGlobalScopecpp">trunk/Source/WebCore/workers/SharedWorkerGlobalScope.cpp</a></li>
<li><a href="#trunkSourceWebCoreworkersSharedWorkerGlobalScopeh">trunk/Source/WebCore/workers/SharedWorkerGlobalScope.h</a></li>
<li><a href="#trunkSourceWebCoreworkersSharedWorkerThreadcpp">trunk/Source/WebCore/workers/SharedWorkerThread.cpp</a></li>
<li><a href="#trunkSourceWebCoreworkersWorkerGlobalScopecpp">trunk/Source/WebCore/workers/WorkerGlobalScope.cpp</a></li>
<li><a href="#trunkSourceWebCoreworkersWorkerGlobalScopeh">trunk/Source/WebCore/workers/WorkerGlobalScope.h</a></li>
<li><a href="#trunkSourceWebCoreworkersWorkerMessagingProxycpp">trunk/Source/WebCore/workers/WorkerMessagingProxy.cpp</a></li>
<li><a href="#trunkSourceWebCoreworkersWorkerRunLoopcpp">trunk/Source/WebCore/workers/WorkerRunLoop.cpp</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (164157 => 164158)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2014-02-15 05:45:26 UTC (rev 164157)
+++ trunk/Source/WebCore/ChangeLog        2014-02-15 07:41:12 UTC (rev 164158)
</span><span class="lines">@@ -1,3 +1,75 @@
</span><ins>+2014-02-14  Andreas Kling  &lt;akling@apple.com&gt;
+
+        CTTE: WorkerGlobalScope is always owned by a WorkerThread.
+        &lt;https://webkit.org/b/128834&gt;
+
+        Codify this by storing the owner thread as a WorkerThread&amp; and making
+        thread() return a reference.
+
+        This exposed a couple of unnecessary assertions.
+
+        Reviewed by Anders Carlsson.
+
+        * Modules/notifications/WorkerGlobalScopeNotifications.cpp:
+        (WebCore::WorkerGlobalScopeNotifications::webkitNotifications):
+        * Modules/websockets/ThreadableWebSocketChannel.cpp:
+        (WebCore::ThreadableWebSocketChannel::create):
+        * Modules/websockets/WorkerThreadableWebSocketChannel.cpp:
+        (WebCore::WorkerThreadableWebSocketChannel::Bridge::Bridge):
+        (WebCore::WorkerThreadableWebSocketChannel::Bridge::waitForMethodCompletion):
+        * bindings/js/ScheduledAction.cpp:
+        (WebCore::ScheduledAction::execute):
+        * bindings/js/WorkerScriptDebugServer.cpp:
+        (WebCore::WorkerScriptDebugServer::runEventLoopWhilePaused):
+        * dom/ScriptExecutionContext.cpp:
+        (WebCore::ScriptExecutionContext::createdMessagePort):
+        (WebCore::ScriptExecutionContext::destroyedMessagePort):
+        * inspector/WorkerDebuggerAgent.cpp:
+        (WebCore::WorkerDebuggerAgent::WorkerDebuggerAgent):
+        (WebCore::WorkerDebuggerAgent::~WorkerDebuggerAgent):
+        * inspector/WorkerInspectorController.cpp:
+        * inspector/WorkerRuntimeAgent.cpp:
+        (WebCore::WorkerRuntimeAgent::pauseWorkerGlobalScope):
+        * loader/WorkerThreadableLoader.cpp:
+        (WebCore::WorkerThreadableLoader::WorkerThreadableLoader):
+        (WebCore::WorkerThreadableLoader::loadResourceSynchronously):
+        * loader/cache/MemoryCache.cpp:
+        (WebCore::MemoryCache::removeRequestFromCache):
+        * workers/DedicatedWorkerGlobalScope.cpp:
+        (WebCore::DedicatedWorkerGlobalScope::create):
+        (WebCore::DedicatedWorkerGlobalScope::DedicatedWorkerGlobalScope):
+        (WebCore::DedicatedWorkerGlobalScope::postMessage):
+        (WebCore::DedicatedWorkerGlobalScope::importScripts):
+        (WebCore::DedicatedWorkerGlobalScope::thread):
+        * workers/DedicatedWorkerGlobalScope.h:
+        * workers/DedicatedWorkerThread.cpp:
+        (WebCore::DedicatedWorkerThread::createWorkerGlobalScope):
+        * workers/SharedWorkerGlobalScope.cpp:
+        (WebCore::SharedWorkerGlobalScope::create):
+        (WebCore::SharedWorkerGlobalScope::SharedWorkerGlobalScope):
+        (WebCore::SharedWorkerGlobalScope::thread):
+        * workers/SharedWorkerGlobalScope.h:
+        * workers/SharedWorkerThread.cpp:
+        (WebCore::SharedWorkerThread::createWorkerGlobalScope):
+        * workers/WorkerGlobalScope.cpp:
+        (WebCore::CloseWorkerGlobalScopeTask::performTask):
+        (WebCore::WorkerGlobalScope::WorkerGlobalScope):
+        (WebCore::WorkerGlobalScope::~WorkerGlobalScope):
+        (WebCore::WorkerGlobalScope::postTask):
+        (WebCore::WorkerGlobalScope::logExceptionToConsole):
+        (WebCore::WorkerGlobalScope::addConsoleMessage):
+        (WebCore::WorkerGlobalScope::addMessage):
+        (WebCore::WorkerGlobalScope::isContextThread):
+        * workers/WorkerGlobalScope.h:
+        (WebCore::WorkerGlobalScope::thread):
+        * workers/WorkerMessagingProxy.cpp:
+        (WebCore::MessageWorkerGlobalScopeTask::performTask):
+        (WebCore::WorkerMessagingProxy::WorkerMessagingProxy):
+        (WebCore::WorkerMessagingProxy::~WorkerMessagingProxy):
+        * workers/WorkerRunLoop.cpp:
+        (WebCore::WorkerRunLoop::runInMode):
+        (WebCore::WorkerRunLoop::runCleanupTasks):
+
</ins><span class="cx"> 2014-02-14  Ryosuke Niwa  &lt;rniwa@webkit.org&gt;
</span><span class="cx"> 
</span><span class="cx">         setSelectionRange shouldn't trigger a synchronous layout to check focusability when text field is already focused
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesnotificationsWorkerGlobalScopeNotificationscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/notifications/WorkerGlobalScopeNotifications.cpp (164157 => 164158)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/notifications/WorkerGlobalScopeNotifications.cpp        2014-02-15 05:45:26 UTC (rev 164157)
+++ trunk/Source/WebCore/Modules/notifications/WorkerGlobalScopeNotifications.cpp        2014-02-15 07:41:12 UTC (rev 164158)
</span><span class="lines">@@ -68,7 +68,7 @@
</span><span class="cx"> NotificationCenter* WorkerGlobalScopeNotifications::webkitNotifications()
</span><span class="cx"> {
</span><span class="cx">     if (!m_notificationCenter)
</span><del>-        m_notificationCenter = NotificationCenter::create(m_context, m_context-&gt;thread()-&gt;getNotificationClient());
</del><ins>+        m_notificationCenter = NotificationCenter::create(m_context, m_context-&gt;thread().getNotificationClient());
</ins><span class="cx">     return m_notificationCenter.get();
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreModuleswebsocketsThreadableWebSocketChannelcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/websockets/ThreadableWebSocketChannel.cpp (164157 => 164158)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/websockets/ThreadableWebSocketChannel.cpp        2014-02-15 05:45:26 UTC (rev 164157)
+++ trunk/Source/WebCore/Modules/websockets/ThreadableWebSocketChannel.cpp        2014-02-15 07:41:12 UTC (rev 164158)
</span><span class="lines">@@ -57,7 +57,7 @@
</span><span class="cx"> 
</span><span class="cx">     if (context-&gt;isWorkerGlobalScope()) {
</span><span class="cx">         WorkerGlobalScope* workerGlobalScope = static_cast&lt;WorkerGlobalScope*&gt;(context);
</span><del>-        WorkerRunLoop&amp; runLoop = workerGlobalScope-&gt;thread()-&gt;runLoop();
</del><ins>+        WorkerRunLoop&amp; runLoop = workerGlobalScope-&gt;thread().runLoop();
</ins><span class="cx">         String mode = webSocketChannelMode;
</span><span class="cx">         mode.append(String::number(runLoop.createUniqueId()));
</span><span class="cx">         return WorkerThreadableWebSocketChannel::create(workerGlobalScope, client, mode);
</span></span></pre></div>
<a id="trunkSourceWebCoreModuleswebsocketsWorkerThreadableWebSocketChannelcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/websockets/WorkerThreadableWebSocketChannel.cpp (164157 => 164158)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/websockets/WorkerThreadableWebSocketChannel.cpp        2014-02-15 05:45:26 UTC (rev 164157)
+++ trunk/Source/WebCore/Modules/websockets/WorkerThreadableWebSocketChannel.cpp        2014-02-15 07:41:12 UTC (rev 164158)
</span><span class="lines">@@ -347,7 +347,7 @@
</span><span class="cx"> WorkerThreadableWebSocketChannel::Bridge::Bridge(PassRefPtr&lt;ThreadableWebSocketChannelClientWrapper&gt; workerClientWrapper, PassRefPtr&lt;WorkerGlobalScope&gt; workerGlobalScope, const String&amp; taskMode)
</span><span class="cx">     : m_workerClientWrapper(workerClientWrapper)
</span><span class="cx">     , m_workerGlobalScope(workerGlobalScope)
</span><del>-    , m_loaderProxy(m_workerGlobalScope-&gt;thread()-&gt;workerLoaderProxy())
</del><ins>+    , m_loaderProxy(m_workerGlobalScope-&gt;thread().workerLoaderProxy())
</ins><span class="cx">     , m_taskMode(taskMode)
</span><span class="cx">     , m_peer(0)
</span><span class="cx"> {
</span><span class="lines">@@ -645,7 +645,7 @@
</span><span class="cx"> {
</span><span class="cx">     if (!m_workerGlobalScope)
</span><span class="cx">         return;
</span><del>-    WorkerRunLoop&amp; runLoop = m_workerGlobalScope-&gt;thread()-&gt;runLoop();
</del><ins>+    WorkerRunLoop&amp; runLoop = m_workerGlobalScope-&gt;thread().runLoop();
</ins><span class="cx">     MessageQueueWaitResult result = MessageQueueMessageReceived;
</span><span class="cx">     ThreadableWebSocketChannelClientWrapper* clientWrapper = m_workerClientWrapper.get();
</span><span class="cx">     while (m_workerGlobalScope &amp;&amp; clientWrapper &amp;&amp; !clientWrapper-&gt;syncMethodDone() &amp;&amp; result != MessageQueueTerminated) {
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsScheduledActioncpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/ScheduledAction.cpp (164157 => 164158)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/ScheduledAction.cpp        2014-02-15 05:45:26 UTC (rev 164157)
+++ trunk/Source/WebCore/bindings/js/ScheduledAction.cpp        2014-02-15 07:41:12 UTC (rev 164158)
</span><span class="lines">@@ -131,7 +131,7 @@
</span><span class="cx"> void ScheduledAction::execute(WorkerGlobalScope* workerGlobalScope)
</span><span class="cx"> {
</span><span class="cx">     // In a Worker, the execution should always happen on a worker thread.
</span><del>-    ASSERT(workerGlobalScope-&gt;thread()-&gt;threadID() == currentThread());
</del><ins>+    ASSERT(workerGlobalScope-&gt;thread().threadID() == currentThread());
</ins><span class="cx"> 
</span><span class="cx">     WorkerScriptController* scriptController = workerGlobalScope-&gt;script();
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsWorkerScriptDebugServercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/WorkerScriptDebugServer.cpp (164157 => 164158)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/WorkerScriptDebugServer.cpp        2014-02-15 05:45:26 UTC (rev 164157)
+++ trunk/Source/WebCore/bindings/js/WorkerScriptDebugServer.cpp        2014-02-15 07:41:12 UTC (rev 164158)
</span><span class="lines">@@ -96,7 +96,7 @@
</span><span class="cx"> 
</span><span class="cx">     MessageQueueWaitResult result;
</span><span class="cx">     do {
</span><del>-        result = m_workerGlobalScope-&gt;thread()-&gt;runLoop().runInMode(m_workerGlobalScope, m_debuggerTaskMode);
</del><ins>+        result = m_workerGlobalScope-&gt;thread().runLoop().runInMode(m_workerGlobalScope, m_debuggerTaskMode);
</ins><span class="cx">     // Keep waiting until execution is resumed.
</span><span class="cx">     } while (result != MessageQueueTerminated &amp;&amp; !m_doneProcessingDebuggerEvents);
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoredomScriptExecutionContextcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/ScriptExecutionContext.cpp (164157 => 164158)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/ScriptExecutionContext.cpp        2014-02-15 05:45:26 UTC (rev 164157)
+++ trunk/Source/WebCore/dom/ScriptExecutionContext.cpp        2014-02-15 07:41:12 UTC (rev 164158)
</span><span class="lines">@@ -146,7 +146,7 @@
</span><span class="cx"> {
</span><span class="cx">     ASSERT(port);
</span><span class="cx">     ASSERT((isDocument() &amp;&amp; isMainThread())
</span><del>-        || (isWorkerGlobalScope() &amp;&amp; currentThread() == static_cast&lt;WorkerGlobalScope*&gt;(this)-&gt;thread()-&gt;threadID()));
</del><ins>+        || (isWorkerGlobalScope() &amp;&amp; currentThread() == static_cast&lt;WorkerGlobalScope*&gt;(this)-&gt;thread().threadID()));
</ins><span class="cx"> 
</span><span class="cx">     m_messagePorts.add(port);
</span><span class="cx"> }
</span><span class="lines">@@ -155,7 +155,7 @@
</span><span class="cx"> {
</span><span class="cx">     ASSERT(port);
</span><span class="cx">     ASSERT((isDocument() &amp;&amp; isMainThread())
</span><del>-        || (isWorkerGlobalScope() &amp;&amp; currentThread() == static_cast&lt;WorkerGlobalScope*&gt;(this)-&gt;thread()-&gt;threadID()));
</del><ins>+        || (isWorkerGlobalScope() &amp;&amp; currentThread() == static_cast&lt;WorkerGlobalScope*&gt;(this)-&gt;thread().threadID()));
</ins><span class="cx"> 
</span><span class="cx">     m_messagePorts.remove(port);
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorWorkerDebuggerAgentcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/WorkerDebuggerAgent.cpp (164157 => 164158)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/WorkerDebuggerAgent.cpp        2014-02-15 05:45:26 UTC (rev 164157)
+++ trunk/Source/WebCore/inspector/WorkerDebuggerAgent.cpp        2014-02-15 07:41:12 UTC (rev 164158)
</span><span class="lines">@@ -98,15 +98,15 @@
</span><span class="cx">     , m_inspectedWorkerGlobalScope(inspectedWorkerGlobalScope)
</span><span class="cx"> {
</span><span class="cx">     std::lock_guard&lt;std::mutex&gt; lock(workerDebuggerAgentsMutex());
</span><del>-    workerDebuggerAgents().set(inspectedWorkerGlobalScope-&gt;thread(), this);
</del><ins>+    workerDebuggerAgents().set(&amp;inspectedWorkerGlobalScope-&gt;thread(), this);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> WorkerDebuggerAgent::~WorkerDebuggerAgent()
</span><span class="cx"> {
</span><span class="cx">     std::lock_guard&lt;std::mutex&gt; lock(workerDebuggerAgentsMutex());
</span><span class="cx"> 
</span><del>-    ASSERT(workerDebuggerAgents().contains(m_inspectedWorkerGlobalScope-&gt;thread()));
-    workerDebuggerAgents().remove(m_inspectedWorkerGlobalScope-&gt;thread());
</del><ins>+    ASSERT(workerDebuggerAgents().contains(&amp;m_inspectedWorkerGlobalScope-&gt;thread()));
+    workerDebuggerAgents().remove(&amp;m_inspectedWorkerGlobalScope-&gt;thread());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void WorkerDebuggerAgent::interruptAndDispatchInspectorCommands(WorkerThread* thread)
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorWorkerInspectorControllercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/WorkerInspectorController.cpp (164157 => 164158)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/WorkerInspectorController.cpp        2014-02-15 05:45:26 UTC (rev 164157)
+++ trunk/Source/WebCore/inspector/WorkerInspectorController.cpp        2014-02-15 07:41:12 UTC (rev 164158)
</span><span class="lines">@@ -70,7 +70,7 @@
</span><span class="cx"> private:
</span><span class="cx">     virtual bool sendMessageToFrontend(const String&amp; message) override
</span><span class="cx">     {
</span><del>-        m_workerGlobalScope.thread()-&gt;workerReportingProxy().postMessageToPageInspector(message);
</del><ins>+        m_workerGlobalScope.thread().workerReportingProxy().postMessageToPageInspector(message);
</ins><span class="cx">         return true;
</span><span class="cx">     }
</span><span class="cx">     WorkerGlobalScope&amp; m_workerGlobalScope;
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorWorkerRuntimeAgentcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/WorkerRuntimeAgent.cpp (164157 => 164158)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/WorkerRuntimeAgent.cpp        2014-02-15 05:45:26 UTC (rev 164157)
+++ trunk/Source/WebCore/inspector/WorkerRuntimeAgent.cpp        2014-02-15 07:41:12 UTC (rev 164158)
</span><span class="lines">@@ -100,7 +100,7 @@
</span><span class="cx">     m_paused = true;
</span><span class="cx">     MessageQueueWaitResult result;
</span><span class="cx">     do {
</span><del>-        result = context-&gt;thread()-&gt;runLoop().runInMode(context, WorkerDebuggerAgent::debuggerTaskMode);
</del><ins>+        result = context-&gt;thread().runLoop().runInMode(context, WorkerDebuggerAgent::debuggerTaskMode);
</ins><span class="cx">     // Keep waiting until execution is resumed.
</span><span class="cx">     } while (result == MessageQueueMessageReceived &amp;&amp; m_paused);
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderWorkerThreadableLoadercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/WorkerThreadableLoader.cpp (164157 => 164158)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/WorkerThreadableLoader.cpp        2014-02-15 05:45:26 UTC (rev 164157)
+++ trunk/Source/WebCore/loader/WorkerThreadableLoader.cpp        2014-02-15 07:41:12 UTC (rev 164158)
</span><span class="lines">@@ -53,7 +53,7 @@
</span><span class="cx"> WorkerThreadableLoader::WorkerThreadableLoader(WorkerGlobalScope* workerGlobalScope, ThreadableLoaderClient* client, const String&amp; taskMode, const ResourceRequest&amp; request, const ThreadableLoaderOptions&amp; options)
</span><span class="cx">     : m_workerGlobalScope(workerGlobalScope)
</span><span class="cx">     , m_workerClientWrapper(ThreadableLoaderClientWrapper::create(client))
</span><del>-    , m_bridge(*(new MainThreadBridge(m_workerClientWrapper, m_workerGlobalScope-&gt;thread()-&gt;workerLoaderProxy(), taskMode, request, options, workerGlobalScope-&gt;url().strippedForUseAsReferrer())))
</del><ins>+    , m_bridge(*(new MainThreadBridge(m_workerClientWrapper, m_workerGlobalScope-&gt;thread().workerLoaderProxy(), taskMode, request, options, workerGlobalScope-&gt;url().strippedForUseAsReferrer())))
</ins><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -64,7 +64,7 @@
</span><span class="cx"> 
</span><span class="cx"> void WorkerThreadableLoader::loadResourceSynchronously(WorkerGlobalScope* workerGlobalScope, const ResourceRequest&amp; request, ThreadableLoaderClient&amp; client, const ThreadableLoaderOptions&amp; options)
</span><span class="cx"> {
</span><del>-    WorkerRunLoop&amp; runLoop = workerGlobalScope-&gt;thread()-&gt;runLoop();
</del><ins>+    WorkerRunLoop&amp; runLoop = workerGlobalScope-&gt;thread().runLoop();
</ins><span class="cx"> 
</span><span class="cx">     // Create a unique mode just for this synchronous resource load.
</span><span class="cx">     String mode = loadResourceSynchronouslyMode;
</span></span></pre></div>
<a id="trunkSourceWebCoreloadercacheMemoryCachecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/cache/MemoryCache.cpp (164157 => 164158)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/cache/MemoryCache.cpp        2014-02-15 05:45:26 UTC (rev 164157)
+++ trunk/Source/WebCore/loader/cache/MemoryCache.cpp        2014-02-15 07:41:12 UTC (rev 164158)
</span><span class="lines">@@ -817,7 +817,7 @@
</span><span class="cx"> {
</span><span class="cx">     if (context-&gt;isWorkerGlobalScope()) {
</span><span class="cx">         WorkerGlobalScope* workerGlobalScope = static_cast&lt;WorkerGlobalScope*&gt;(context);
</span><del>-        workerGlobalScope-&gt;thread()-&gt;workerLoaderProxy().postTaskToLoader(createCallbackTask(&amp;crossThreadRemoveRequestFromCache, request));
</del><ins>+        workerGlobalScope-&gt;thread().workerLoaderProxy().postTaskToLoader(createCallbackTask(&amp;crossThreadRemoveRequestFromCache, request));
</ins><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreworkersDedicatedWorkerGlobalScopecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/workers/DedicatedWorkerGlobalScope.cpp (164157 => 164158)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/workers/DedicatedWorkerGlobalScope.cpp        2014-02-15 05:45:26 UTC (rev 164157)
+++ trunk/Source/WebCore/workers/DedicatedWorkerGlobalScope.cpp        2014-02-15 07:41:12 UTC (rev 164158)
</span><span class="lines">@@ -39,14 +39,14 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;DedicatedWorkerGlobalScope&gt; DedicatedWorkerGlobalScope::create(const URL&amp; url, const String&amp; userAgent, std::unique_ptr&lt;GroupSettings&gt; settings, DedicatedWorkerThread* thread, const String&amp; contentSecurityPolicy, ContentSecurityPolicy::HeaderType contentSecurityPolicyType, PassRefPtr&lt;SecurityOrigin&gt; topOrigin)
</del><ins>+PassRefPtr&lt;DedicatedWorkerGlobalScope&gt; DedicatedWorkerGlobalScope::create(const URL&amp; url, const String&amp; userAgent, std::unique_ptr&lt;GroupSettings&gt; settings, DedicatedWorkerThread&amp; thread, const String&amp; contentSecurityPolicy, ContentSecurityPolicy::HeaderType contentSecurityPolicyType, PassRefPtr&lt;SecurityOrigin&gt; topOrigin)
</ins><span class="cx"> {
</span><span class="cx">     RefPtr&lt;DedicatedWorkerGlobalScope&gt; context = adoptRef(new DedicatedWorkerGlobalScope(url, userAgent, std::move(settings), thread, topOrigin));
</span><span class="cx">     context-&gt;applyContentSecurityPolicyFromString(contentSecurityPolicy, contentSecurityPolicyType);
</span><span class="cx">     return context.release();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-DedicatedWorkerGlobalScope::DedicatedWorkerGlobalScope(const URL&amp; url, const String&amp; userAgent, std::unique_ptr&lt;GroupSettings&gt; settings, DedicatedWorkerThread* thread, PassRefPtr&lt;SecurityOrigin&gt; topOrigin)
</del><ins>+DedicatedWorkerGlobalScope::DedicatedWorkerGlobalScope(const URL&amp; url, const String&amp; userAgent, std::unique_ptr&lt;GroupSettings&gt; settings, DedicatedWorkerThread&amp; thread, PassRefPtr&lt;SecurityOrigin&gt; topOrigin)
</ins><span class="cx">     : WorkerGlobalScope(url, userAgent, std::move(settings), thread, topOrigin)
</span><span class="cx"> {
</span><span class="cx"> }
</span><span class="lines">@@ -74,18 +74,18 @@
</span><span class="cx">     std::unique_ptr&lt;MessagePortChannelArray&gt; channels = MessagePort::disentanglePorts(ports, ec);
</span><span class="cx">     if (ec)
</span><span class="cx">         return;
</span><del>-    thread()-&gt;workerObjectProxy().postMessageToWorkerObject(message, std::move(channels));
</del><ins>+    thread().workerObjectProxy().postMessageToWorkerObject(message, std::move(channels));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void DedicatedWorkerGlobalScope::importScripts(const Vector&lt;String&gt;&amp; urls, ExceptionCode&amp; ec)
</span><span class="cx"> {
</span><span class="cx">     Base::importScripts(urls, ec);
</span><del>-    thread()-&gt;workerObjectProxy().reportPendingActivity(hasPendingActivity());
</del><ins>+    thread().workerObjectProxy().reportPendingActivity(hasPendingActivity());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-DedicatedWorkerThread* DedicatedWorkerGlobalScope::thread()
</del><ins>+DedicatedWorkerThread&amp; DedicatedWorkerGlobalScope::thread()
</ins><span class="cx"> {
</span><del>-    return static_cast&lt;DedicatedWorkerThread*&gt;(Base::thread());
</del><ins>+    return static_cast&lt;DedicatedWorkerThread&amp;&gt;(Base::thread());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="trunkSourceWebCoreworkersDedicatedWorkerGlobalScopeh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/workers/DedicatedWorkerGlobalScope.h (164157 => 164158)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/workers/DedicatedWorkerGlobalScope.h        2014-02-15 05:45:26 UTC (rev 164157)
+++ trunk/Source/WebCore/workers/DedicatedWorkerGlobalScope.h        2014-02-15 07:41:12 UTC (rev 164158)
</span><span class="lines">@@ -42,7 +42,7 @@
</span><span class="cx">     class DedicatedWorkerGlobalScope : public WorkerGlobalScope {
</span><span class="cx">     public:
</span><span class="cx">         typedef WorkerGlobalScope Base;
</span><del>-        static PassRefPtr&lt;DedicatedWorkerGlobalScope&gt; create(const URL&amp;, const String&amp; userAgent, std::unique_ptr&lt;GroupSettings&gt;, DedicatedWorkerThread*, const String&amp; contentSecurityPolicy, ContentSecurityPolicy::HeaderType contentSecurityPolicyType, PassRefPtr&lt;SecurityOrigin&gt; topOrigin);
</del><ins>+        static PassRefPtr&lt;DedicatedWorkerGlobalScope&gt; create(const URL&amp;, const String&amp; userAgent, std::unique_ptr&lt;GroupSettings&gt;, DedicatedWorkerThread&amp;, const String&amp; contentSecurityPolicy, ContentSecurityPolicy::HeaderType contentSecurityPolicyType, PassRefPtr&lt;SecurityOrigin&gt; topOrigin);
</ins><span class="cx">         virtual ~DedicatedWorkerGlobalScope();
</span><span class="cx"> 
</span><span class="cx">         virtual bool isDedicatedWorkerGlobalScope() const override { return true; }
</span><span class="lines">@@ -59,10 +59,10 @@
</span><span class="cx"> 
</span><span class="cx">         DEFINE_ATTRIBUTE_EVENT_LISTENER(message);
</span><span class="cx"> 
</span><del>-        DedicatedWorkerThread* thread();
</del><ins>+        DedicatedWorkerThread&amp; thread();
</ins><span class="cx"> 
</span><span class="cx">     private:
</span><del>-        DedicatedWorkerGlobalScope(const URL&amp;, const String&amp; userAgent, std::unique_ptr&lt;GroupSettings&gt;, DedicatedWorkerThread*, PassRefPtr&lt;SecurityOrigin&gt; topOrigin);
</del><ins>+        DedicatedWorkerGlobalScope(const URL&amp;, const String&amp; userAgent, std::unique_ptr&lt;GroupSettings&gt;, DedicatedWorkerThread&amp;, PassRefPtr&lt;SecurityOrigin&gt; topOrigin);
</ins><span class="cx">     };
</span><span class="cx"> 
</span><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="trunkSourceWebCoreworkersDedicatedWorkerThreadcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/workers/DedicatedWorkerThread.cpp (164157 => 164158)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/workers/DedicatedWorkerThread.cpp        2014-02-15 05:45:26 UTC (rev 164157)
+++ trunk/Source/WebCore/workers/DedicatedWorkerThread.cpp        2014-02-15 07:41:12 UTC (rev 164158)
</span><span class="lines">@@ -55,7 +55,7 @@
</span><span class="cx"> 
</span><span class="cx"> PassRefPtr&lt;WorkerGlobalScope&gt; DedicatedWorkerThread::createWorkerGlobalScope(const URL&amp; url, const String&amp; userAgent, std::unique_ptr&lt;GroupSettings&gt; settings, const String&amp; contentSecurityPolicy, ContentSecurityPolicy::HeaderType contentSecurityPolicyType, PassRefPtr&lt;SecurityOrigin&gt; topOrigin)
</span><span class="cx"> {
</span><del>-    return DedicatedWorkerGlobalScope::create(url, userAgent, std::move(settings), this, contentSecurityPolicy, contentSecurityPolicyType, topOrigin);
</del><ins>+    return DedicatedWorkerGlobalScope::create(url, userAgent, std::move(settings), *this, contentSecurityPolicy, contentSecurityPolicyType, topOrigin);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void DedicatedWorkerThread::runEventLoop()
</span></span></pre></div>
<a id="trunkSourceWebCoreworkersSharedWorkerGlobalScopecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/workers/SharedWorkerGlobalScope.cpp (164157 => 164158)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/workers/SharedWorkerGlobalScope.cpp        2014-02-15 05:45:26 UTC (rev 164157)
+++ trunk/Source/WebCore/workers/SharedWorkerGlobalScope.cpp        2014-02-15 07:41:12 UTC (rev 164158)
</span><span class="lines">@@ -53,14 +53,14 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> // static
</span><del>-PassRefPtr&lt;SharedWorkerGlobalScope&gt; SharedWorkerGlobalScope::create(const String&amp; name, const URL&amp; url, const String&amp; userAgent, std::unique_ptr&lt;GroupSettings&gt; settings, SharedWorkerThread* thread, const String&amp; contentSecurityPolicy, ContentSecurityPolicy::HeaderType contentSecurityPolicyType)
</del><ins>+PassRefPtr&lt;SharedWorkerGlobalScope&gt; SharedWorkerGlobalScope::create(const String&amp; name, const URL&amp; url, const String&amp; userAgent, std::unique_ptr&lt;GroupSettings&gt; settings, SharedWorkerThread&amp; thread, const String&amp; contentSecurityPolicy, ContentSecurityPolicy::HeaderType contentSecurityPolicyType)
</ins><span class="cx"> {
</span><span class="cx">     RefPtr&lt;SharedWorkerGlobalScope&gt; context = adoptRef(new SharedWorkerGlobalScope(name, url, userAgent, std::move(settings), thread));
</span><span class="cx">     context-&gt;applyContentSecurityPolicyFromString(contentSecurityPolicy, contentSecurityPolicyType);
</span><span class="cx">     return context.release();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-SharedWorkerGlobalScope::SharedWorkerGlobalScope(const String&amp; name, const URL&amp; url, const String&amp; userAgent, std::unique_ptr&lt;GroupSettings&gt; settings, SharedWorkerThread* thread)
</del><ins>+SharedWorkerGlobalScope::SharedWorkerGlobalScope(const String&amp; name, const URL&amp; url, const String&amp; userAgent, std::unique_ptr&lt;GroupSettings&gt; settings, SharedWorkerThread&amp; thread)
</ins><span class="cx">     : WorkerGlobalScope(url, userAgent, std::move(settings), thread, 0)
</span><span class="cx">     , m_name(name)
</span><span class="cx"> {
</span><span class="lines">@@ -75,9 +75,9 @@
</span><span class="cx">     return SharedWorkerGlobalScopeEventTargetInterfaceType;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-SharedWorkerThread* SharedWorkerGlobalScope::thread()
</del><ins>+SharedWorkerThread&amp; SharedWorkerGlobalScope::thread()
</ins><span class="cx"> {
</span><del>-    return static_cast&lt;SharedWorkerThread*&gt;(Base::thread());
</del><ins>+    return static_cast&lt;SharedWorkerThread&amp;&gt;(Base::thread());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void SharedWorkerGlobalScope::logExceptionToConsole(const String&amp; errorMessage, const String&amp; sourceURL, int lineNumber, int columnNumber, PassRefPtr&lt;Inspector::ScriptCallStack&gt; callStack)
</span></span></pre></div>
<a id="trunkSourceWebCoreworkersSharedWorkerGlobalScopeh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/workers/SharedWorkerGlobalScope.h (164157 => 164158)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/workers/SharedWorkerGlobalScope.h        2014-02-15 05:45:26 UTC (rev 164157)
+++ trunk/Source/WebCore/workers/SharedWorkerGlobalScope.h        2014-02-15 07:41:12 UTC (rev 164158)
</span><span class="lines">@@ -44,7 +44,7 @@
</span><span class="cx">     class SharedWorkerGlobalScope : public WorkerGlobalScope {
</span><span class="cx">     public:
</span><span class="cx">         typedef WorkerGlobalScope Base;
</span><del>-        static PassRefPtr&lt;SharedWorkerGlobalScope&gt; create(const String&amp; name, const URL&amp;, const String&amp; userAgent, std::unique_ptr&lt;GroupSettings&gt;, SharedWorkerThread*, const String&amp; contentSecurityPolicy, ContentSecurityPolicy::HeaderType contentSecurityPolicyType);
</del><ins>+        static PassRefPtr&lt;SharedWorkerGlobalScope&gt; create(const String&amp; name, const URL&amp;, const String&amp; userAgent, std::unique_ptr&lt;GroupSettings&gt;, SharedWorkerThread&amp;, const String&amp; contentSecurityPolicy, ContentSecurityPolicy::HeaderType contentSecurityPolicyType);
</ins><span class="cx">         virtual ~SharedWorkerGlobalScope();
</span><span class="cx"> 
</span><span class="cx">         virtual bool isSharedWorkerGlobalScope() const override { return true; }
</span><span class="lines">@@ -56,10 +56,10 @@
</span><span class="cx">         DEFINE_ATTRIBUTE_EVENT_LISTENER(connect);
</span><span class="cx">         String name() const { return m_name; }
</span><span class="cx"> 
</span><del>-        SharedWorkerThread* thread();
</del><ins>+        SharedWorkerThread&amp; thread();
</ins><span class="cx"> 
</span><span class="cx">     private:
</span><del>-        SharedWorkerGlobalScope(const String&amp; name, const URL&amp;, const String&amp; userAgent, std::unique_ptr&lt;GroupSettings&gt;, SharedWorkerThread*);
</del><ins>+        SharedWorkerGlobalScope(const String&amp; name, const URL&amp;, const String&amp; userAgent, std::unique_ptr&lt;GroupSettings&gt;, SharedWorkerThread&amp;);
</ins><span class="cx">         virtual void logExceptionToConsole(const String&amp; errorMessage, const String&amp; sourceURL, int lineNumber, int columnNumber, PassRefPtr&lt;Inspector::ScriptCallStack&gt;) override;
</span><span class="cx"> 
</span><span class="cx">         String m_name;
</span></span></pre></div>
<a id="trunkSourceWebCoreworkersSharedWorkerThreadcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/workers/SharedWorkerThread.cpp (164157 => 164158)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/workers/SharedWorkerThread.cpp        2014-02-15 05:45:26 UTC (rev 164157)
+++ trunk/Source/WebCore/workers/SharedWorkerThread.cpp        2014-02-15 07:41:12 UTC (rev 164158)
</span><span class="lines">@@ -55,7 +55,7 @@
</span><span class="cx"> 
</span><span class="cx"> PassRefPtr&lt;WorkerGlobalScope&gt; SharedWorkerThread::createWorkerGlobalScope(const URL&amp; url, const String&amp; userAgent, std::unique_ptr&lt;GroupSettings&gt; settings, const String&amp; contentSecurityPolicy, ContentSecurityPolicy::HeaderType contentSecurityPolicyType, PassRefPtr&lt;SecurityOrigin&gt;)
</span><span class="cx"> {
</span><del>-    return SharedWorkerGlobalScope::create(m_name, url, userAgent, std::move(settings), this, contentSecurityPolicy, contentSecurityPolicyType);
</del><ins>+    return SharedWorkerGlobalScope::create(m_name, url, userAgent, std::move(settings), *this, contentSecurityPolicy, contentSecurityPolicyType);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="trunkSourceWebCoreworkersWorkerGlobalScopecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/workers/WorkerGlobalScope.cpp (164157 => 164158)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/workers/WorkerGlobalScope.cpp        2014-02-15 05:45:26 UTC (rev 164157)
+++ trunk/Source/WebCore/workers/WorkerGlobalScope.cpp        2014-02-15 07:41:12 UTC (rev 164158)
</span><span class="lines">@@ -76,13 +76,13 @@
</span><span class="cx">         ASSERT_WITH_SECURITY_IMPLICATION(context-&gt;isWorkerGlobalScope());
</span><span class="cx">         WorkerGlobalScope* workerGlobalScope = static_cast&lt;WorkerGlobalScope*&gt;(context);
</span><span class="cx">         // Notify parent that this context is closed. Parent is responsible for calling WorkerThread::stop().
</span><del>-        workerGlobalScope-&gt;thread()-&gt;workerReportingProxy().workerGlobalScopeClosed();
</del><ins>+        workerGlobalScope-&gt;thread().workerReportingProxy().workerGlobalScopeClosed();
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     virtual bool isCleanupTask() const { return true; }
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-WorkerGlobalScope::WorkerGlobalScope(const URL&amp; url, const String&amp; userAgent, std::unique_ptr&lt;GroupSettings&gt; settings, WorkerThread* thread, PassRefPtr&lt;SecurityOrigin&gt; topOrigin)
</del><ins>+WorkerGlobalScope::WorkerGlobalScope(const URL&amp; url, const String&amp; userAgent, std::unique_ptr&lt;GroupSettings&gt; settings, WorkerThread&amp; thread, PassRefPtr&lt;SecurityOrigin&gt; topOrigin)
</ins><span class="cx">     : m_url(url)
</span><span class="cx">     , m_userAgent(userAgent)
</span><span class="cx">     , m_groupSettings(std::move(settings))
</span><span class="lines">@@ -100,13 +100,13 @@
</span><span class="cx"> 
</span><span class="cx"> WorkerGlobalScope::~WorkerGlobalScope()
</span><span class="cx"> {
</span><del>-    ASSERT(currentThread() == thread()-&gt;threadID());
</del><ins>+    ASSERT(currentThread() == thread().threadID());
</ins><span class="cx"> 
</span><span class="cx">     // Make sure we have no observers.
</span><span class="cx">     notifyObserversOfStop();
</span><span class="cx"> 
</span><span class="cx">     // Notify proxy that we are going away. This can free the WorkerThread object, so do not access it after this.
</span><del>-    thread()-&gt;workerReportingProxy().workerGlobalScopeDestroyed();
</del><ins>+    thread().workerReportingProxy().workerGlobalScopeDestroyed();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void WorkerGlobalScope::applyContentSecurityPolicyFromString(const String&amp; policy, ContentSecurityPolicy::HeaderType contentSecurityPolicyType)
</span><span class="lines">@@ -180,7 +180,7 @@
</span><span class="cx"> 
</span><span class="cx"> void WorkerGlobalScope::postTask(PassOwnPtr&lt;Task&gt; task)
</span><span class="cx"> {
</span><del>-    thread()-&gt;runLoop().postTask(task);
</del><ins>+    thread().runLoop().postTask(task);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> int WorkerGlobalScope::setTimeout(PassOwnPtr&lt;ScheduledAction&gt; action, int timeout)
</span><span class="lines">@@ -247,7 +247,7 @@
</span><span class="cx"> 
</span><span class="cx"> void WorkerGlobalScope::logExceptionToConsole(const String&amp; errorMessage, const String&amp; sourceURL, int lineNumber, int columnNumber, PassRefPtr&lt;ScriptCallStack&gt;)
</span><span class="cx"> {
</span><del>-    thread()-&gt;workerReportingProxy().postExceptionToWorkerObject(errorMessage, lineNumber, columnNumber, sourceURL);
</del><ins>+    thread().workerReportingProxy().postExceptionToWorkerObject(errorMessage, lineNumber, columnNumber, sourceURL);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void WorkerGlobalScope::addConsoleMessage(MessageSource source, MessageLevel level, const String&amp; message, unsigned long requestIdentifier)
</span><span class="lines">@@ -257,7 +257,7 @@
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    thread()-&gt;workerReportingProxy().postConsoleMessageToWorkerObject(source, level, message, 0, 0, String());
</del><ins>+    thread().workerReportingProxy().postConsoleMessageToWorkerObject(source, level, message, 0, 0, String());
</ins><span class="cx">     addMessageToWorkerConsole(source, level, message, String(), 0, 0, 0, 0, requestIdentifier);
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -268,7 +268,7 @@
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    thread()-&gt;workerReportingProxy().postConsoleMessageToWorkerObject(source, level, message, lineNumber, columnNumber, sourceURL);
</del><ins>+    thread().workerReportingProxy().postConsoleMessageToWorkerObject(source, level, message, lineNumber, columnNumber, sourceURL);
</ins><span class="cx">     addMessageToWorkerConsole(source, level, message, sourceURL, lineNumber, columnNumber, callStack, state, requestIdentifier);
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -283,7 +283,7 @@
</span><span class="cx"> 
</span><span class="cx"> bool WorkerGlobalScope::isContextThread() const
</span><span class="cx"> {
</span><del>-    return currentThread() == thread()-&gt;threadID();
</del><ins>+    return currentThread() == thread().threadID();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> bool WorkerGlobalScope::isJSExecutionForbidden() const
</span></span></pre></div>
<a id="trunkSourceWebCoreworkersWorkerGlobalScopeh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/workers/WorkerGlobalScope.h (164157 => 164158)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/workers/WorkerGlobalScope.h        2014-02-15 05:45:26 UTC (rev 164157)
+++ trunk/Source/WebCore/workers/WorkerGlobalScope.h        2014-02-15 07:41:12 UTC (rev 164158)
</span><span class="lines">@@ -74,7 +74,7 @@
</span><span class="cx">         WorkerScriptController* script() { return m_script.get(); }
</span><span class="cx">         void clearScript() { m_script.clear(); }
</span><span class="cx"> 
</span><del>-        WorkerThread* thread() const { return m_thread; }
</del><ins>+        WorkerThread&amp; thread() const { return m_thread; }
</ins><span class="cx"> 
</span><span class="cx">         bool hasPendingActivity() const;
</span><span class="cx"> 
</span><span class="lines">@@ -141,7 +141,7 @@
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx">     protected:
</span><del>-        WorkerGlobalScope(const URL&amp;, const String&amp; userAgent, std::unique_ptr&lt;GroupSettings&gt;, WorkerThread*, PassRefPtr&lt;SecurityOrigin&gt; topOrigin);
</del><ins>+        WorkerGlobalScope(const URL&amp;, const String&amp; userAgent, std::unique_ptr&lt;GroupSettings&gt;, WorkerThread&amp;, PassRefPtr&lt;SecurityOrigin&gt; topOrigin);
</ins><span class="cx">         void applyContentSecurityPolicyFromString(const String&amp; contentSecurityPolicy, ContentSecurityPolicy::HeaderType);
</span><span class="cx"> 
</span><span class="cx">         virtual void logExceptionToConsole(const String&amp; errorMessage, const String&amp; sourceURL, int lineNumber, int columnNumber, PassRefPtr&lt;Inspector::ScriptCallStack&gt;) override;
</span><span class="lines">@@ -168,7 +168,7 @@
</span><span class="cx">         mutable RefPtr&lt;WorkerNavigator&gt; m_navigator;
</span><span class="cx"> 
</span><span class="cx">         OwnPtr&lt;WorkerScriptController&gt; m_script;
</span><del>-        WorkerThread* m_thread;
</del><ins>+        WorkerThread&amp; m_thread;
</ins><span class="cx"> 
</span><span class="cx"> #if ENABLE(INSPECTOR)
</span><span class="cx">         const std::unique_ptr&lt;WorkerInspectorController&gt; m_workerInspectorController;
</span></span></pre></div>
<a id="trunkSourceWebCoreworkersWorkerMessagingProxycpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/workers/WorkerMessagingProxy.cpp (164157 => 164158)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/workers/WorkerMessagingProxy.cpp        2014-02-15 05:45:26 UTC (rev 164157)
+++ trunk/Source/WebCore/workers/WorkerMessagingProxy.cpp        2014-02-15 07:41:12 UTC (rev 164158)
</span><span class="lines">@@ -73,7 +73,7 @@
</span><span class="cx">         DedicatedWorkerGlobalScope* context = static_cast&lt;DedicatedWorkerGlobalScope*&gt;(scriptContext);
</span><span class="cx">         std::unique_ptr&lt;MessagePortArray&gt; ports = MessagePort::entanglePorts(*scriptContext, std::move(m_channels));
</span><span class="cx">         context-&gt;dispatchEvent(MessageEvent::create(std::move(ports), m_message));
</span><del>-        context-&gt;thread()-&gt;workerObjectProxy().confirmMessageFromWorkerObject(context-&gt;hasPendingActivity());
</del><ins>+        context-&gt;thread().workerObjectProxy().confirmMessageFromWorkerObject(context-&gt;hasPendingActivity());
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx"> private:
</span><span class="lines">@@ -285,14 +285,14 @@
</span><span class="cx"> {
</span><span class="cx">     ASSERT(m_workerObject);
</span><span class="cx">     ASSERT((m_scriptExecutionContext-&gt;isDocument() &amp;&amp; isMainThread())
</span><del>-           || (m_scriptExecutionContext-&gt;isWorkerGlobalScope() &amp;&amp; currentThread() == static_cast&lt;WorkerGlobalScope*&gt;(m_scriptExecutionContext.get())-&gt;thread()-&gt;threadID()));
</del><ins>+           || (m_scriptExecutionContext-&gt;isWorkerGlobalScope() &amp;&amp; currentThread() == static_cast&lt;WorkerGlobalScope*&gt;(m_scriptExecutionContext.get())-&gt;thread().threadID()));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> WorkerMessagingProxy::~WorkerMessagingProxy()
</span><span class="cx"> {
</span><span class="cx">     ASSERT(!m_workerObject);
</span><span class="cx">     ASSERT((m_scriptExecutionContext-&gt;isDocument() &amp;&amp; isMainThread())
</span><del>-           || (m_scriptExecutionContext-&gt;isWorkerGlobalScope() &amp;&amp; currentThread() == static_cast&lt;WorkerGlobalScope*&gt;(m_scriptExecutionContext.get())-&gt;thread()-&gt;threadID()));
</del><ins>+           || (m_scriptExecutionContext-&gt;isWorkerGlobalScope() &amp;&amp; currentThread() == static_cast&lt;WorkerGlobalScope*&gt;(m_scriptExecutionContext.get())-&gt;thread().threadID()));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void WorkerMessagingProxy::startWorkerGlobalScope(const URL&amp; scriptURL, const String&amp; userAgent, const String&amp; sourceCode, WorkerThreadStartMode startMode)
</span></span></pre></div>
<a id="trunkSourceWebCoreworkersWorkerRunLoopcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/workers/WorkerRunLoop.cpp (164157 => 164158)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/workers/WorkerRunLoop.cpp        2014-02-15 05:45:26 UTC (rev 164157)
+++ trunk/Source/WebCore/workers/WorkerRunLoop.cpp        2014-02-15 07:41:12 UTC (rev 164158)
</span><span class="lines">@@ -146,8 +146,7 @@
</span><span class="cx"> MessageQueueWaitResult WorkerRunLoop::runInMode(WorkerGlobalScope* context, const ModePredicate&amp; predicate, WaitMode waitMode)
</span><span class="cx"> {
</span><span class="cx">     ASSERT(context);
</span><del>-    ASSERT(context-&gt;thread());
-    ASSERT(context-&gt;thread()-&gt;threadID() == currentThread());
</del><ins>+    ASSERT(context-&gt;thread().threadID() == currentThread());
</ins><span class="cx"> 
</span><span class="cx">     double absoluteTime = 0.0;
</span><span class="cx">     if (waitMode == WaitForMessage)
</span><span class="lines">@@ -177,8 +176,7 @@
</span><span class="cx"> void WorkerRunLoop::runCleanupTasks(WorkerGlobalScope* context)
</span><span class="cx"> {
</span><span class="cx">     ASSERT(context);
</span><del>-    ASSERT(context-&gt;thread());
-    ASSERT(context-&gt;thread()-&gt;threadID() == currentThread());
</del><ins>+    ASSERT(context-&gt;thread().threadID() == currentThread());
</ins><span class="cx">     ASSERT(m_messageQueue.killed());
</span><span class="cx"> 
</span><span class="cx">     while (true) {
</span></span></pre>
</div>
</div>

</body>
</html>