<!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>[202439] 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/202439">202439</a></dd>
<dt>Author</dt> <dd>andersca@apple.com</dd>
<dt>Date</dt> <dd>2016-06-24 12:40:19 -0700 (Fri, 24 Jun 2016)</dd>
</dl>

<h3>Log Message</h3>
<pre>Rename NoncopyableFunction to Function
https://bugs.webkit.org/show_bug.cgi?id=158354

Reviewed by Chris Dumez.

Source/WebCore:

* Modules/mediastream/MediaEndpointPeerConnection.cpp:
(WebCore::MediaEndpointPeerConnection::runTask):
* Modules/mediastream/MediaEndpointPeerConnection.h:
* Modules/webaudio/AudioDestinationNode.h:
(WebCore::AudioDestinationNode::resume):
(WebCore::AudioDestinationNode::suspend):
(WebCore::AudioDestinationNode::close):
* Modules/webaudio/DefaultAudioDestinationNode.cpp:
(WebCore::DefaultAudioDestinationNode::resume):
(WebCore::DefaultAudioDestinationNode::suspend):
(WebCore::DefaultAudioDestinationNode::close):
* Modules/webaudio/DefaultAudioDestinationNode.h:
* dom/ActiveDOMCallbackMicrotask.cpp:
(WebCore::ActiveDOMCallbackMicrotask::ActiveDOMCallbackMicrotask):
* dom/ActiveDOMCallbackMicrotask.h:
* dom/ScriptExecutionContext.h:
(WebCore::ScriptExecutionContext::Task::Task):
* fileapi/AsyncFileStream.cpp:
(WebCore::callOnFileThread):
(WebCore::AsyncFileStream::perform):
* fileapi/AsyncFileStream.h:
* page/FrameView.cpp:
(WebCore::FrameView::queuePostLayoutCallback):
(WebCore::FrameView::flushPostLayoutTasksQueue):
* page/FrameView.h:
* page/scrolling/ScrollingThread.cpp:
(WebCore::ScrollingThread::dispatch):
(WebCore::ScrollingThread::dispatchBarrier):
(WebCore::ScrollingThread::dispatchFunctionsFromScrollingThread):
* page/scrolling/ScrollingThread.h:
* platform/GenericTaskQueue.cpp:
(WebCore::TaskDispatcher&lt;Timer&gt;::postTask):
* platform/GenericTaskQueue.h:
(WebCore::TaskDispatcher::postTask):
* platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.h:
* platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm:
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::scheduleDeferredTask):
* platform/mediastream/MediaStreamPrivate.cpp:
(WebCore::MediaStreamPrivate::scheduleDeferredTask):
* platform/mediastream/MediaStreamPrivate.h:
* platform/mediastream/mac/AVMediaCaptureSource.h:
* platform/mediastream/mac/AVMediaCaptureSource.mm:
(WebCore::AVMediaCaptureSource::scheduleDeferredTask):
* style/StyleTreeResolver.cpp:
(WebCore::Style::postResolutionCallbackQueue):
(WebCore::Style::queuePostResolutionCallback):
* style/StyleTreeResolver.h:

Source/WebKit:

* Storage/StorageSyncManager.cpp:
(WebCore::StorageSyncManager::dispatch):
* Storage/StorageSyncManager.h:
* Storage/StorageThread.cpp:
(WebCore::StorageThread::dispatch):
(WebCore::StorageThread::terminate):
* Storage/StorageThread.h:

Source/WebKit2:

* NetworkProcess/NetworkProcess.cpp:
(WebKit::fetchDiskCacheEntries):
(WebKit::NetworkProcess::fetchWebsiteData):
(WebKit::clearDiskCacheEntries):
* NetworkProcess/NetworkProcess.h:
* NetworkProcess/cache/NetworkCache.cpp:
(WebKit::NetworkCache::Cache::traverse):
* NetworkProcess/cache/NetworkCache.h:
* NetworkProcess/cache/NetworkCacheIOChannelSoup.cpp:
(WebKit::NetworkCache::runTaskInQueue):
* NetworkProcess/cache/NetworkCacheStorage.h:

Source/WTF:

* WTF.xcodeproj/project.pbxproj:
* wtf/CrossThreadTask.h:
(WTF::CrossThreadTask::CrossThreadTask):
* wtf/Function.h: Renamed from Source/WTF/wtf/NoncopyableFunction.h.
* wtf/FunctionDispatcher.h:
* wtf/MainThread.cpp:
(WTF::functionQueue):
(WTF::dispatchFunctionsFromMainThread):
(WTF::callOnMainThread):
* wtf/MainThread.h:
* wtf/RunLoop.cpp:
(WTF::RunLoop::performWork):
(WTF::RunLoop::dispatch):
* wtf/RunLoop.h:
* wtf/WorkQueue.h:
* wtf/cocoa/WorkQueueCocoa.cpp:
(WTF::WorkQueue::dispatch):
(WTF::WorkQueue::dispatchAfter):
* wtf/efl/DispatchQueueWorkItemEfl.h:
(WorkItem::WorkItem):
(TimerWorkItem::create):
(TimerWorkItem::TimerWorkItem):
* wtf/efl/WorkQueueEfl.cpp:
(WTF::WorkQueue::dispatch):
(WTF::WorkQueue::dispatchAfter):
* wtf/generic/RunLoopGeneric.cpp:
(WTF::RunLoop::TimerBase::ScheduledTask::create):
(WTF::RunLoop::TimerBase::ScheduledTask::ScheduledTask):
(WTF::RunLoop::dispatchAfter):
* wtf/generic/WorkQueueGeneric.cpp:
(WorkQueue::dispatch):
(WorkQueue::dispatchAfter):
* wtf/glib/RunLoopGLib.cpp:
(WTF::DispatchAfterContext::DispatchAfterContext):
(WTF::RunLoop::dispatchAfter):
* wtf/win/WorkItemWin.cpp:
(WTF::WorkItemWin::WorkItemWin):
(WTF::WorkItemWin::create):
(WTF::HandleWorkItem::HandleWorkItem):
(WTF::HandleWorkItem::createByAdoptingHandle):
* wtf/win/WorkItemWin.h:
(WTF::WorkItemWin::function):
* wtf/win/WorkQueueWin.cpp:
(WTF::WorkQueue::dispatch):
(WTF::WorkQueue::dispatchAfter):</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceWTFChangeLog">trunk/Source/WTF/ChangeLog</a></li>
<li><a href="#trunkSourceWTFWTFxcodeprojprojectpbxproj">trunk/Source/WTF/WTF.xcodeproj/project.pbxproj</a></li>
<li><a href="#trunkSourceWTFwtfCrossThreadTaskh">trunk/Source/WTF/wtf/CrossThreadTask.h</a></li>
<li><a href="#trunkSourceWTFwtfFunctionDispatcherh">trunk/Source/WTF/wtf/FunctionDispatcher.h</a></li>
<li><a href="#trunkSourceWTFwtfMainThreadcpp">trunk/Source/WTF/wtf/MainThread.cpp</a></li>
<li><a href="#trunkSourceWTFwtfMainThreadh">trunk/Source/WTF/wtf/MainThread.h</a></li>
<li><a href="#trunkSourceWTFwtfRunLoopcpp">trunk/Source/WTF/wtf/RunLoop.cpp</a></li>
<li><a href="#trunkSourceWTFwtfRunLooph">trunk/Source/WTF/wtf/RunLoop.h</a></li>
<li><a href="#trunkSourceWTFwtfWorkQueueh">trunk/Source/WTF/wtf/WorkQueue.h</a></li>
<li><a href="#trunkSourceWTFwtfcocoaWorkQueueCocoacpp">trunk/Source/WTF/wtf/cocoa/WorkQueueCocoa.cpp</a></li>
<li><a href="#trunkSourceWTFwtfeflDispatchQueueWorkItemEflh">trunk/Source/WTF/wtf/efl/DispatchQueueWorkItemEfl.h</a></li>
<li><a href="#trunkSourceWTFwtfeflWorkQueueEflcpp">trunk/Source/WTF/wtf/efl/WorkQueueEfl.cpp</a></li>
<li><a href="#trunkSourceWTFwtfgenericRunLoopGenericcpp">trunk/Source/WTF/wtf/generic/RunLoopGeneric.cpp</a></li>
<li><a href="#trunkSourceWTFwtfgenericWorkQueueGenericcpp">trunk/Source/WTF/wtf/generic/WorkQueueGeneric.cpp</a></li>
<li><a href="#trunkSourceWTFwtfglibRunLoopGLibcpp">trunk/Source/WTF/wtf/glib/RunLoopGLib.cpp</a></li>
<li><a href="#trunkSourceWTFwtfwinWorkQueueWincpp">trunk/Source/WTF/wtf/win/WorkQueueWin.cpp</a></li>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCoreModulesmediastreamMediaEndpointPeerConnectioncpp">trunk/Source/WebCore/Modules/mediastream/MediaEndpointPeerConnection.cpp</a></li>
<li><a href="#trunkSourceWebCoreModulesmediastreamMediaEndpointPeerConnectionh">trunk/Source/WebCore/Modules/mediastream/MediaEndpointPeerConnection.h</a></li>
<li><a href="#trunkSourceWebCoreModuleswebaudioAudioDestinationNodeh">trunk/Source/WebCore/Modules/webaudio/AudioDestinationNode.h</a></li>
<li><a href="#trunkSourceWebCoreModuleswebaudioDefaultAudioDestinationNodecpp">trunk/Source/WebCore/Modules/webaudio/DefaultAudioDestinationNode.cpp</a></li>
<li><a href="#trunkSourceWebCoreModuleswebaudioDefaultAudioDestinationNodeh">trunk/Source/WebCore/Modules/webaudio/DefaultAudioDestinationNode.h</a></li>
<li><a href="#trunkSourceWebCorebindingsjsSerializedScriptValuecpp">trunk/Source/WebCore/bindings/js/SerializedScriptValue.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsSerializedScriptValueh">trunk/Source/WebCore/bindings/js/SerializedScriptValue.h</a></li>
<li><a href="#trunkSourceWebCoredomActiveDOMCallbackMicrotaskcpp">trunk/Source/WebCore/dom/ActiveDOMCallbackMicrotask.cpp</a></li>
<li><a href="#trunkSourceWebCoredomActiveDOMCallbackMicrotaskh">trunk/Source/WebCore/dom/ActiveDOMCallbackMicrotask.h</a></li>
<li><a href="#trunkSourceWebCoredomScriptExecutionContexth">trunk/Source/WebCore/dom/ScriptExecutionContext.h</a></li>
<li><a href="#trunkSourceWebCorefileapiAsyncFileStreamcpp">trunk/Source/WebCore/fileapi/AsyncFileStream.cpp</a></li>
<li><a href="#trunkSourceWebCorefileapiAsyncFileStreamh">trunk/Source/WebCore/fileapi/AsyncFileStream.h</a></li>
<li><a href="#trunkSourceWebCorepageFrameViewcpp">trunk/Source/WebCore/page/FrameView.cpp</a></li>
<li><a href="#trunkSourceWebCorepageFrameViewh">trunk/Source/WebCore/page/FrameView.h</a></li>
<li><a href="#trunkSourceWebCorepagescrollingScrollingThreadcpp">trunk/Source/WebCore/page/scrolling/ScrollingThread.cpp</a></li>
<li><a href="#trunkSourceWebCorepagescrollingScrollingThreadh">trunk/Source/WebCore/page/scrolling/ScrollingThread.h</a></li>
<li><a href="#trunkSourceWebCoreplatformGenericTaskQueuecpp">trunk/Source/WebCore/platform/GenericTaskQueue.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformGenericTaskQueueh">trunk/Source/WebCore/platform/GenericTaskQueue.h</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsavfoundationobjcMediaPlayerPrivateMediaStreamAVFObjCh">trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.h</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsavfoundationobjcMediaPlayerPrivateMediaStreamAVFObjCmm">trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm</a></li>
<li><a href="#trunkSourceWebCoreplatformmediastreamMediaStreamPrivatecpp">trunk/Source/WebCore/platform/mediastream/MediaStreamPrivate.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformmediastreamMediaStreamPrivateh">trunk/Source/WebCore/platform/mediastream/MediaStreamPrivate.h</a></li>
<li><a href="#trunkSourceWebCoreplatformmediastreammacAVMediaCaptureSourceh">trunk/Source/WebCore/platform/mediastream/mac/AVMediaCaptureSource.h</a></li>
<li><a href="#trunkSourceWebCoreplatformmediastreammacAVMediaCaptureSourcemm">trunk/Source/WebCore/platform/mediastream/mac/AVMediaCaptureSource.mm</a></li>
<li><a href="#trunkSourceWebCoreplatformnetworkBlobRegistryh">trunk/Source/WebCore/platform/network/BlobRegistry.h</a></li>
<li><a href="#trunkSourceWebCoreplatformnetworkBlobRegistryImplcpp">trunk/Source/WebCore/platform/network/BlobRegistryImpl.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformnetworkBlobRegistryImplh">trunk/Source/WebCore/platform/network/BlobRegistryImpl.h</a></li>
<li><a href="#trunkSourceWebCorestyleStyleTreeResolvercpp">trunk/Source/WebCore/style/StyleTreeResolver.cpp</a></li>
<li><a href="#trunkSourceWebCorestyleStyleTreeResolverh">trunk/Source/WebCore/style/StyleTreeResolver.h</a></li>
<li><a href="#trunkSourceWebKitChangeLog">trunk/Source/WebKit/ChangeLog</a></li>
<li><a href="#trunkSourceWebKitStorageStorageSyncManagercpp">trunk/Source/WebKit/Storage/StorageSyncManager.cpp</a></li>
<li><a href="#trunkSourceWebKitStorageStorageSyncManagerh">trunk/Source/WebKit/Storage/StorageSyncManager.h</a></li>
<li><a href="#trunkSourceWebKitStorageStorageThreadcpp">trunk/Source/WebKit/Storage/StorageThread.cpp</a></li>
<li><a href="#trunkSourceWebKitStorageStorageThreadh">trunk/Source/WebKit/Storage/StorageThread.h</a></li>
<li><a href="#trunkSourceWebKit2ChangeLog">trunk/Source/WebKit2/ChangeLog</a></li>
<li><a href="#trunkSourceWebKit2NetworkProcessFileAPINetworkBlobRegistrycpp">trunk/Source/WebKit2/NetworkProcess/FileAPI/NetworkBlobRegistry.cpp</a></li>
<li><a href="#trunkSourceWebKit2NetworkProcessFileAPINetworkBlobRegistryh">trunk/Source/WebKit2/NetworkProcess/FileAPI/NetworkBlobRegistry.h</a></li>
<li><a href="#trunkSourceWebKit2NetworkProcessNetworkDataTaskh">trunk/Source/WebKit2/NetworkProcess/NetworkDataTask.h</a></li>
<li><a href="#trunkSourceWebKit2NetworkProcessNetworkProcesscpp">trunk/Source/WebKit2/NetworkProcess/NetworkProcess.cpp</a></li>
<li><a href="#trunkSourceWebKit2NetworkProcessNetworkProcessh">trunk/Source/WebKit2/NetworkProcess/NetworkProcess.h</a></li>
<li><a href="#trunkSourceWebKit2NetworkProcesscacheNetworkCachecpp">trunk/Source/WebKit2/NetworkProcess/cache/NetworkCache.cpp</a></li>
<li><a href="#trunkSourceWebKit2NetworkProcesscacheNetworkCacheh">trunk/Source/WebKit2/NetworkProcess/cache/NetworkCache.h</a></li>
<li><a href="#trunkSourceWebKit2NetworkProcesscacheNetworkCacheIOChannelSoupcpp">trunk/Source/WebKit2/NetworkProcess/cache/NetworkCacheIOChannelSoup.cpp</a></li>
<li><a href="#trunkSourceWebKit2NetworkProcesscacheNetworkCacheStorageh">trunk/Source/WebKit2/NetworkProcess/cache/NetworkCacheStorage.h</a></li>
<li><a href="#trunkSourceWebKit2WebProcessFileAPIBlobRegistryProxycpp">trunk/Source/WebKit2/WebProcess/FileAPI/BlobRegistryProxy.cpp</a></li>
<li><a href="#trunkSourceWebKit2WebProcessFileAPIBlobRegistryProxyh">trunk/Source/WebKit2/WebProcess/FileAPI/BlobRegistryProxy.h</a></li>
<li><a href="#trunkSourceWebKit2WebProcessNetworkNetworkProcessConnectioncpp">trunk/Source/WebKit2/WebProcess/Network/NetworkProcessConnection.cpp</a></li>
<li><a href="#trunkSourceWebKit2WebProcessNetworkNetworkProcessConnectionh">trunk/Source/WebKit2/WebProcess/Network/NetworkProcessConnection.h</a></li>
</ul>

<h3>Added Paths</h3>
<ul>
<li><a href="#trunkSourceWTFwtfFunctionh">trunk/Source/WTF/wtf/Function.h</a></li>
</ul>

<h3>Removed Paths</h3>
<ul>
<li><a href="#trunkSourceWTFwtfNoncopyableFunctionh">trunk/Source/WTF/wtf/NoncopyableFunction.h</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceWTFChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WTF/ChangeLog (202438 => 202439)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WTF/ChangeLog        2016-06-24 19:26:50 UTC (rev 202438)
+++ trunk/Source/WTF/ChangeLog        2016-06-24 19:40:19 UTC (rev 202439)
</span><span class="lines">@@ -1,3 +1,56 @@
</span><ins>+2016-06-21  Anders Carlsson  &lt;andersca@apple.com&gt;
+
+        Rename NoncopyableFunction to Function
+        https://bugs.webkit.org/show_bug.cgi?id=158354
+
+        Reviewed by Chris Dumez.
+
+        * WTF.xcodeproj/project.pbxproj:
+        * wtf/CrossThreadTask.h:
+        (WTF::CrossThreadTask::CrossThreadTask):
+        * wtf/Function.h: Renamed from Source/WTF/wtf/NoncopyableFunction.h.
+        * wtf/FunctionDispatcher.h:
+        * wtf/MainThread.cpp:
+        (WTF::functionQueue):
+        (WTF::dispatchFunctionsFromMainThread):
+        (WTF::callOnMainThread):
+        * wtf/MainThread.h:
+        * wtf/RunLoop.cpp:
+        (WTF::RunLoop::performWork):
+        (WTF::RunLoop::dispatch):
+        * wtf/RunLoop.h:
+        * wtf/WorkQueue.h:
+        * wtf/cocoa/WorkQueueCocoa.cpp:
+        (WTF::WorkQueue::dispatch):
+        (WTF::WorkQueue::dispatchAfter):
+        * wtf/efl/DispatchQueueWorkItemEfl.h:
+        (WorkItem::WorkItem):
+        (TimerWorkItem::create):
+        (TimerWorkItem::TimerWorkItem):
+        * wtf/efl/WorkQueueEfl.cpp:
+        (WTF::WorkQueue::dispatch):
+        (WTF::WorkQueue::dispatchAfter):
+        * wtf/generic/RunLoopGeneric.cpp:
+        (WTF::RunLoop::TimerBase::ScheduledTask::create):
+        (WTF::RunLoop::TimerBase::ScheduledTask::ScheduledTask):
+        (WTF::RunLoop::dispatchAfter):
+        * wtf/generic/WorkQueueGeneric.cpp:
+        (WorkQueue::dispatch):
+        (WorkQueue::dispatchAfter):
+        * wtf/glib/RunLoopGLib.cpp:
+        (WTF::DispatchAfterContext::DispatchAfterContext):
+        (WTF::RunLoop::dispatchAfter):
+        * wtf/win/WorkItemWin.cpp:
+        (WTF::WorkItemWin::WorkItemWin):
+        (WTF::WorkItemWin::create):
+        (WTF::HandleWorkItem::HandleWorkItem):
+        (WTF::HandleWorkItem::createByAdoptingHandle):
+        * wtf/win/WorkItemWin.h:
+        (WTF::WorkItemWin::function):
+        * wtf/win/WorkQueueWin.cpp:
+        (WTF::WorkQueue::dispatch):
+        (WTF::WorkQueue::dispatchAfter):
+
</ins><span class="cx"> 2016-06-23  David Kilzer  &lt;ddkilzer@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         REGRESSION (r202380): iOS 9.x internal builds are broken
</span></span></pre></div>
<a id="trunkSourceWTFWTFxcodeprojprojectpbxproj"></a>
<div class="modfile"><h4>Modified: trunk/Source/WTF/WTF.xcodeproj/project.pbxproj (202438 => 202439)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WTF/WTF.xcodeproj/project.pbxproj        2016-06-24 19:26:50 UTC (rev 202438)
+++ trunk/Source/WTF/WTF.xcodeproj/project.pbxproj        2016-06-24 19:40:19 UTC (rev 202439)
</span><span class="lines">@@ -119,7 +119,7 @@
</span><span class="cx">                 7E29C33E15FFD79B00516D61 /* ObjcRuntimeExtras.h in Headers */ = {isa = PBXBuildFile; fileRef = 7E29C33D15FFD79B00516D61 /* ObjcRuntimeExtras.h */; };
</span><span class="cx">                 8134013815B092FD001FF0B8 /* Base64.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8134013615B092FD001FF0B8 /* Base64.cpp */; };
</span><span class="cx">                 8134013915B092FD001FF0B8 /* Base64.h in Headers */ = {isa = PBXBuildFile; fileRef = 8134013715B092FD001FF0B8 /* Base64.h */; };
</span><del>-                83F2BADF1CF9524E003E99C3 /* NoncopyableFunction.h in Headers */ = {isa = PBXBuildFile; fileRef = 83F2BADE1CF9524E003E99C3 /* NoncopyableFunction.h */; };
</del><ins>+                83F2BADF1CF9524E003E99C3 /* Function.h in Headers */ = {isa = PBXBuildFile; fileRef = 83F2BADE1CF9524E003E99C3 /* Function.h */; };
</ins><span class="cx">                 83FBA93219DF459700F30ADB /* TypeCasts.h in Headers */ = {isa = PBXBuildFile; fileRef = 83FBA93119DF459700F30ADB /* TypeCasts.h */; };
</span><span class="cx">                 86F46F611A2840EE00CCBF22 /* RefCounter.h in Headers */ = {isa = PBXBuildFile; fileRef = 86F46F5F1A2840EE00CCBF22 /* RefCounter.h */; };
</span><span class="cx">                 93934BD318A1E8C300D0D6A1 /* StringViewObjC.mm in Sources */ = {isa = PBXBuildFile; fileRef = 93934BD218A1E8C300D0D6A1 /* StringViewObjC.mm */; };
</span><span class="lines">@@ -449,7 +449,7 @@
</span><span class="cx">                 7E29C33D15FFD79B00516D61 /* ObjcRuntimeExtras.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ObjcRuntimeExtras.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 8134013615B092FD001FF0B8 /* Base64.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Base64.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 8134013715B092FD001FF0B8 /* Base64.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Base64.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><del>-                83F2BADE1CF9524E003E99C3 /* NoncopyableFunction.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NoncopyableFunction.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</del><ins>+                83F2BADE1CF9524E003E99C3 /* Function.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Function.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</ins><span class="cx">                 83FBA93119DF459700F30ADB /* TypeCasts.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TypeCasts.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 86F46F5F1A2840EE00CCBF22 /* RefCounter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RefCounter.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 93934BD218A1E8C300D0D6A1 /* StringViewObjC.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = StringViewObjC.mm; path = mac/StringViewObjC.mm; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="lines">@@ -843,6 +843,7 @@
</span><span class="cx">                                 0F9D335C165DBA73005AD387 /* FilePrintStream.h */,
</span><span class="cx">                                 0F2B66A517B6B4F700A7AE3F /* FlipBytes.h */,
</span><span class="cx">                                 A8A472A6151A825A004123FF /* Forward.h */,
</span><ins>+                                83F2BADE1CF9524E003E99C3 /* Function.h */,
</ins><span class="cx">                                 1A1D8B9D1731879800141DA4 /* FunctionDispatcher.cpp */,
</span><span class="cx">                                 1A1D8B9B173186CE00141DA4 /* FunctionDispatcher.h */,
</span><span class="cx">                                 A8A472A8151A825A004123FF /* GetPtr.h */,
</span><span class="lines">@@ -889,7 +890,6 @@
</span><span class="cx">                                 1A3F6BE6174ADA2100B2EEA7 /* NeverDestroyed.h */,
</span><span class="cx">                                 0F0D85B317234CB100338210 /* NoLock.h */,
</span><span class="cx">                                 A8A472D0151A825B004123FF /* Noncopyable.h */,
</span><del>-                                83F2BADE1CF9524E003E99C3 /* NoncopyableFunction.h */,
</del><span class="cx">                                 A8A472D5151A825B004123FF /* NumberOfCores.cpp */,
</span><span class="cx">                                 A8A472D6151A825B004123FF /* NumberOfCores.h */,
</span><span class="cx">                                 7E29C33D15FFD79B00516D61 /* ObjcRuntimeExtras.h */,
</span><span class="lines">@@ -1254,7 +1254,7 @@
</span><span class="cx">                                 A8A473D9151A825B004123FF /* HashTable.h in Headers */,
</span><span class="cx">                                 A8A473DA151A825B004123FF /* HashTraits.h in Headers */,
</span><span class="cx">                                 A8A473DB151A825B004123FF /* HexNumber.h in Headers */,
</span><del>-                                83F2BADF1CF9524E003E99C3 /* NoncopyableFunction.h in Headers */,
</del><ins>+                                83F2BADF1CF9524E003E99C3 /* Function.h in Headers */,
</ins><span class="cx">                                 2684D4361C000D400081D663 /* IndexSparseSet.h in Headers */,
</span><span class="cx">                                 A8A473DC151A825B004123FF /* InlineASM.h in Headers */,
</span><span class="cx">                                 A70DA0841799F04D00529A9B /* Insertion.h in Headers */,
</span></span></pre></div>
<a id="trunkSourceWTFwtfCrossThreadTaskh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WTF/wtf/CrossThreadTask.h (202438 => 202439)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WTF/wtf/CrossThreadTask.h        2016-06-24 19:26:50 UTC (rev 202438)
+++ trunk/Source/WTF/wtf/CrossThreadTask.h        2016-06-24 19:40:19 UTC (rev 202439)
</span><span class="lines">@@ -26,7 +26,7 @@
</span><span class="cx"> #pragma once
</span><span class="cx"> 
</span><span class="cx"> #include &lt;wtf/CrossThreadCopier.h&gt;
</span><del>-#include &lt;wtf/NoncopyableFunction.h&gt;
</del><ins>+#include &lt;wtf/Function.h&gt;
</ins><span class="cx"> #include &lt;wtf/StdLibExtras.h&gt;
</span><span class="cx"> 
</span><span class="cx"> namespace WTF {
</span><span class="lines">@@ -35,7 +35,7 @@
</span><span class="cx"> public:
</span><span class="cx">     CrossThreadTask() = default;
</span><span class="cx"> 
</span><del>-    CrossThreadTask(NoncopyableFunction&lt;void ()&gt;&amp;&amp; taskFunction)
</del><ins>+    CrossThreadTask(Function&lt;void ()&gt;&amp;&amp; taskFunction)
</ins><span class="cx">         : m_taskFunction(WTFMove(taskFunction))
</span><span class="cx">     {
</span><span class="cx">         ASSERT(m_taskFunction);
</span><span class="lines">@@ -47,7 +47,7 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx"> protected:
</span><del>-    NoncopyableFunction&lt;void ()&gt; m_taskFunction;
</del><ins>+    Function&lt;void ()&gt; m_taskFunction;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> template &lt;typename T&gt;
</span></span></pre></div>
<a id="trunkSourceWTFwtfFunctionhfromrev202438trunkSourceWTFwtfNoncopyableFunctionh"></a>
<div class="copfile"><h4>Copied: trunk/Source/WTF/wtf/Function.h (from rev 202438, trunk/Source/WTF/wtf/NoncopyableFunction.h) (0 => 202439)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WTF/wtf/Function.h                                (rev 0)
+++ trunk/Source/WTF/wtf/Function.h        2016-06-24 19:40:19 UTC (rev 202439)
</span><span class="lines">@@ -0,0 +1,100 @@
</span><ins>+/*
+ * Copyright (C) 2016 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#pragma once
+
+#include &lt;memory&gt;
+#include &lt;wtf/FastMalloc.h&gt;
+
+namespace WTF {
+
+template&lt;typename&gt; class Function;
+
+template &lt;typename Out, typename... In&gt;
+class Function&lt;Out(In...)&gt; {
+public:
+    Function() = default;
+    Function(std::nullptr_t) { }
+
+    template&lt;typename CallableType, class = typename std::enable_if&lt;std::is_rvalue_reference&lt;CallableType&amp;&amp;&gt;::value&gt;::type&gt;
+    Function(CallableType&amp;&amp; callable)
+        : m_callableWrapper(std::make_unique&lt;CallableWrapper&lt;CallableType&gt;&gt;(WTFMove(callable)))
+    {
+    }
+
+    Out operator()(In... in) const
+    {
+        if (m_callableWrapper)
+            return m_callableWrapper-&gt;call(std::forward&lt;In&gt;(in)...);
+        return Out();
+    }
+
+    explicit operator bool() const { return !!m_callableWrapper; }
+
+    template&lt;typename CallableType, class = typename std::enable_if&lt;std::is_rvalue_reference&lt;CallableType&amp;&amp;&gt;::value&gt;::type&gt;
+    Function&amp; operator=(CallableType&amp;&amp; callable)
+    {
+        m_callableWrapper = std::make_unique&lt;CallableWrapper&lt;CallableType&gt;&gt;(WTFMove(callable));
+        return *this;
+    }
+
+    Function&amp; operator=(std::nullptr_t)
+    {
+        m_callableWrapper = nullptr;
+        return *this;
+    }
+
+private:
+    class CallableWrapperBase {
+        WTF_MAKE_FAST_ALLOCATED;
+    public:
+        virtual ~CallableWrapperBase() { }
+
+        virtual Out call(In...) = 0;
+    };
+
+    template&lt;typename CallableType&gt;
+    class CallableWrapper : public CallableWrapperBase {
+    public:
+        explicit CallableWrapper(CallableType&amp;&amp; callable)
+            : m_callable(WTFMove(callable))
+        {
+        }
+
+        CallableWrapper(const CallableWrapper&amp;) = delete;
+        CallableWrapper&amp; operator=(const CallableWrapper&amp;) = delete;
+
+        Out call(In... in) final { return m_callable(std::forward&lt;In&gt;(in)...); }
+
+    private:
+        CallableType m_callable;
+    };
+
+    std::unique_ptr&lt;CallableWrapperBase&gt; m_callableWrapper;
+};
+
+} // namespace WTF
+
+using WTF::Function;
</ins></span></pre></div>
<a id="trunkSourceWTFwtfFunctionDispatcherh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WTF/wtf/FunctionDispatcher.h (202438 => 202439)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WTF/wtf/FunctionDispatcher.h        2016-06-24 19:26:50 UTC (rev 202438)
+++ trunk/Source/WTF/wtf/FunctionDispatcher.h        2016-06-24 19:40:19 UTC (rev 202439)
</span><span class="lines">@@ -27,7 +27,7 @@
</span><span class="cx"> #define FunctionDispatcher_h
</span><span class="cx"> 
</span><span class="cx"> #include &lt;functional&gt;
</span><del>-#include &lt;wtf/NoncopyableFunction.h&gt;
</del><ins>+#include &lt;wtf/Function.h&gt;
</ins><span class="cx"> #include &lt;wtf/ThreadSafeRefCounted.h&gt;
</span><span class="cx"> 
</span><span class="cx"> namespace WTF {
</span><span class="lines">@@ -39,7 +39,7 @@
</span><span class="cx"> public:
</span><span class="cx">     WTF_EXPORT_PRIVATE virtual ~FunctionDispatcher();
</span><span class="cx"> 
</span><del>-    virtual void dispatch(NoncopyableFunction&lt;void ()&gt;&amp;&amp;) = 0;
</del><ins>+    virtual void dispatch(Function&lt;void ()&gt;&amp;&amp;) = 0;
</ins><span class="cx"> 
</span><span class="cx"> protected:
</span><span class="cx">     WTF_EXPORT_PRIVATE FunctionDispatcher();
</span></span></pre></div>
<a id="trunkSourceWTFwtfMainThreadcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WTF/wtf/MainThread.cpp (202438 => 202439)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WTF/wtf/MainThread.cpp        2016-06-24 19:26:50 UTC (rev 202438)
+++ trunk/Source/WTF/wtf/MainThread.cpp        2016-06-24 19:40:19 UTC (rev 202439)
</span><span class="lines">@@ -47,9 +47,9 @@
</span><span class="cx"> 
</span><span class="cx"> static StaticLock mainThreadFunctionQueueMutex;
</span><span class="cx"> 
</span><del>-static Deque&lt;NoncopyableFunction&lt;void ()&gt;&gt;&amp; functionQueue()
</del><ins>+static Deque&lt;Function&lt;void ()&gt;&gt;&amp; functionQueue()
</ins><span class="cx"> {
</span><del>-    static NeverDestroyed&lt;Deque&lt;NoncopyableFunction&lt;void ()&gt;&gt;&gt; functionQueue;
</del><ins>+    static NeverDestroyed&lt;Deque&lt;Function&lt;void ()&gt;&gt;&gt; functionQueue;
</ins><span class="cx">     return functionQueue;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -120,7 +120,7 @@
</span><span class="cx"> 
</span><span class="cx">     auto startTime = std::chrono::steady_clock::now();
</span><span class="cx"> 
</span><del>-    NoncopyableFunction&lt;void ()&gt; function;
</del><ins>+    Function&lt;void ()&gt; function;
</ins><span class="cx"> 
</span><span class="cx">     while (true) {
</span><span class="cx">         {
</span><span class="lines">@@ -144,7 +144,7 @@
</span><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void callOnMainThread(NoncopyableFunction&lt;void ()&gt;&amp;&amp; function)
</del><ins>+void callOnMainThread(Function&lt;void ()&gt;&amp;&amp; function)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(function);
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWTFwtfMainThreadh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WTF/wtf/MainThread.h (202438 => 202439)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WTF/wtf/MainThread.h        2016-06-24 19:26:50 UTC (rev 202438)
+++ trunk/Source/WTF/wtf/MainThread.h        2016-06-24 19:40:19 UTC (rev 202439)
</span><span class="lines">@@ -32,7 +32,7 @@
</span><span class="cx"> 
</span><span class="cx"> #include &lt;functional&gt;
</span><span class="cx"> #include &lt;stdint.h&gt;
</span><del>-#include &lt;wtf/NoncopyableFunction.h&gt;
</del><ins>+#include &lt;wtf/Function.h&gt;
</ins><span class="cx"> 
</span><span class="cx"> namespace WTF {
</span><span class="cx"> 
</span><span class="lines">@@ -41,7 +41,7 @@
</span><span class="cx"> // Must be called from the main thread.
</span><span class="cx"> WTF_EXPORT_PRIVATE void initializeMainThread();
</span><span class="cx"> 
</span><del>-WTF_EXPORT_PRIVATE void callOnMainThread(NoncopyableFunction&lt;void ()&gt;&amp;&amp;);
</del><ins>+WTF_EXPORT_PRIVATE void callOnMainThread(Function&lt;void ()&gt;&amp;&amp;);
</ins><span class="cx"> 
</span><span class="cx"> #if PLATFORM(COCOA)
</span><span class="cx"> WTF_EXPORT_PRIVATE void callOnWebThreadOrDispatchAsyncOnMainThread(void (^block)());
</span></span></pre></div>
<a id="trunkSourceWTFwtfNoncopyableFunctionh"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WTF/wtf/NoncopyableFunction.h (202438 => 202439)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WTF/wtf/NoncopyableFunction.h        2016-06-24 19:26:50 UTC (rev 202438)
+++ trunk/Source/WTF/wtf/NoncopyableFunction.h        2016-06-24 19:40:19 UTC (rev 202439)
</span><span class="lines">@@ -1,100 +0,0 @@
</span><del>-/*
- * Copyright (C) 2016 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
- * THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#pragma once
-
-#include &lt;memory&gt;
-#include &lt;wtf/FastMalloc.h&gt;
-
-namespace WTF {
-
-template&lt;typename&gt; class NoncopyableFunction;
-
-template &lt;typename Out, typename... In&gt;
-class NoncopyableFunction&lt;Out(In...)&gt; {
-public:
-    NoncopyableFunction() = default;
-    NoncopyableFunction(std::nullptr_t) { }
-
-    template&lt;typename CallableType, class = typename std::enable_if&lt;std::is_rvalue_reference&lt;CallableType&amp;&amp;&gt;::value&gt;::type&gt;
-    NoncopyableFunction(CallableType&amp;&amp; callable)
-        : m_callableWrapper(std::make_unique&lt;CallableWrapper&lt;CallableType&gt;&gt;(WTFMove(callable)))
-    {
-    }
-
-    Out operator()(In... in) const
-    {
-        if (m_callableWrapper)
-            return m_callableWrapper-&gt;call(std::forward&lt;In&gt;(in)...);
-        return Out();
-    }
-
-    explicit operator bool() const { return !!m_callableWrapper; }
-
-    template&lt;typename CallableType, class = typename std::enable_if&lt;std::is_rvalue_reference&lt;CallableType&amp;&amp;&gt;::value&gt;::type&gt;
-    NoncopyableFunction&amp; operator=(CallableType&amp;&amp; callable)
-    {
-        m_callableWrapper = std::make_unique&lt;CallableWrapper&lt;CallableType&gt;&gt;(WTFMove(callable));
-        return *this;
-    }
-
-    NoncopyableFunction&amp; operator=(std::nullptr_t)
-    {
-        m_callableWrapper = nullptr;
-        return *this;
-    }
-
-private:
-    class CallableWrapperBase {
-        WTF_MAKE_FAST_ALLOCATED;
-    public:
-        virtual ~CallableWrapperBase() { }
-
-        virtual Out call(In...) = 0;
-    };
-
-    template&lt;typename CallableType&gt;
-    class CallableWrapper : public CallableWrapperBase {
-    public:
-        explicit CallableWrapper(CallableType&amp;&amp; callable)
-            : m_callable(WTFMove(callable))
-        {
-        }
-
-        CallableWrapper(const CallableWrapper&amp;) = delete;
-        CallableWrapper&amp; operator=(const CallableWrapper&amp;) = delete;
-
-        Out call(In... in) final { return m_callable(std::forward&lt;In&gt;(in)...); }
-
-    private:
-        CallableType m_callable;
-    };
-
-    std::unique_ptr&lt;CallableWrapperBase&gt; m_callableWrapper;
-};
-
-} // namespace WTF
-
-using WTF::NoncopyableFunction;
</del></span></pre></div>
<a id="trunkSourceWTFwtfRunLoopcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WTF/wtf/RunLoop.cpp (202438 => 202439)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WTF/wtf/RunLoop.cpp        2016-06-24 19:26:50 UTC (rev 202438)
+++ trunk/Source/WTF/wtf/RunLoop.cpp        2016-06-24 19:40:19 UTC (rev 202439)
</span><span class="lines">@@ -91,7 +91,7 @@
</span><span class="cx"> 
</span><span class="cx">     size_t functionsToHandle = 0;
</span><span class="cx">     {
</span><del>-        NoncopyableFunction&lt;void ()&gt; function;
</del><ins>+        Function&lt;void ()&gt; function;
</ins><span class="cx">         {
</span><span class="cx">             MutexLocker locker(m_functionQueueLock);
</span><span class="cx">             functionsToHandle = m_functionQueue.size();
</span><span class="lines">@@ -106,7 +106,7 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     for (size_t functionsHandled = 1; functionsHandled &lt; functionsToHandle; ++functionsHandled) {
</span><del>-        NoncopyableFunction&lt;void ()&gt; function;
</del><ins>+        Function&lt;void ()&gt; function;
</ins><span class="cx">         {
</span><span class="cx">             MutexLocker locker(m_functionQueueLock);
</span><span class="cx"> 
</span><span class="lines">@@ -123,7 +123,7 @@
</span><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void RunLoop::dispatch(NoncopyableFunction&lt;void ()&gt;&amp;&amp; function)
</del><ins>+void RunLoop::dispatch(Function&lt;void ()&gt;&amp;&amp; function)
</ins><span class="cx"> {
</span><span class="cx">     {
</span><span class="cx">         MutexLocker locker(m_functionQueueLock);
</span></span></pre></div>
<a id="trunkSourceWTFwtfRunLooph"></a>
<div class="modfile"><h4>Modified: trunk/Source/WTF/wtf/RunLoop.h (202438 => 202439)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WTF/wtf/RunLoop.h        2016-06-24 19:26:50 UTC (rev 202438)
+++ trunk/Source/WTF/wtf/RunLoop.h        2016-06-24 19:40:19 UTC (rev 202439)
</span><span class="lines">@@ -59,7 +59,7 @@
</span><span class="cx">     WTF_EXPORT_PRIVATE static bool isMain();
</span><span class="cx">     ~RunLoop();
</span><span class="cx"> 
</span><del>-    void dispatch(NoncopyableFunction&lt;void ()&gt;&amp;&amp;) override;
</del><ins>+    void dispatch(Function&lt;void ()&gt;&amp;&amp;) override;
</ins><span class="cx"> 
</span><span class="cx">     WTF_EXPORT_PRIVATE static void run();
</span><span class="cx">     WTF_EXPORT_PRIVATE void stop();
</span><span class="lines">@@ -79,7 +79,7 @@
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> #if USE(GLIB_EVENT_LOOP) || USE(GENERIC_EVENT_LOOP)
</span><del>-    WTF_EXPORT_PRIVATE void dispatchAfter(std::chrono::nanoseconds, NoncopyableFunction&lt;void ()&gt;&amp;&amp;);
</del><ins>+    WTF_EXPORT_PRIVATE void dispatchAfter(std::chrono::nanoseconds, Function&lt;void ()&gt;&amp;&amp;);
</ins><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx">     class TimerBase {
</span><span class="lines">@@ -155,7 +155,7 @@
</span><span class="cx">     void performWork();
</span><span class="cx"> 
</span><span class="cx">     Mutex m_functionQueueLock;
</span><del>-    Deque&lt;NoncopyableFunction&lt;void ()&gt;&gt; m_functionQueue;
</del><ins>+    Deque&lt;Function&lt;void ()&gt;&gt; m_functionQueue;
</ins><span class="cx"> 
</span><span class="cx"> #if USE(WINDOWS_EVENT_LOOP)
</span><span class="cx">     static bool registerRunLoopMessageWindowClass();
</span></span></pre></div>
<a id="trunkSourceWTFwtfWorkQueueh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WTF/wtf/WorkQueue.h (202438 => 202439)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WTF/wtf/WorkQueue.h        2016-06-24 19:26:50 UTC (rev 202438)
+++ trunk/Source/WTF/wtf/WorkQueue.h        2016-06-24 19:40:19 UTC (rev 202439)
</span><span class="lines">@@ -70,8 +70,8 @@
</span><span class="cx">     WTF_EXPORT_PRIVATE static Ref&lt;WorkQueue&gt; create(const char* name, Type = Type::Serial, QOS = QOS::Default);
</span><span class="cx">     virtual ~WorkQueue();
</span><span class="cx"> 
</span><del>-    WTF_EXPORT_PRIVATE void dispatch(NoncopyableFunction&lt;void ()&gt;&amp;&amp;) override;
-    WTF_EXPORT_PRIVATE void dispatchAfter(std::chrono::nanoseconds, NoncopyableFunction&lt;void ()&gt;&amp;&amp;);
</del><ins>+    WTF_EXPORT_PRIVATE void dispatch(Function&lt;void ()&gt;&amp;&amp;) override;
+    WTF_EXPORT_PRIVATE void dispatchAfter(std::chrono::nanoseconds, Function&lt;void ()&gt;&amp;&amp;);
</ins><span class="cx"> 
</span><span class="cx">     WTF_EXPORT_PRIVATE static void concurrentApply(size_t iterations, const std::function&lt;void (size_t index)&gt;&amp;);
</span><span class="cx"> 
</span><span class="lines">@@ -108,7 +108,7 @@
</span><span class="cx">     volatile LONG m_isWorkThreadRegistered;
</span><span class="cx"> 
</span><span class="cx">     Mutex m_functionQueueLock;
</span><del>-    Vector&lt;NoncopyableFunction&lt;void ()&gt;&gt; m_functionQueue;
</del><ins>+    Vector&lt;Function&lt;void ()&gt;&gt; m_functionQueue;
</ins><span class="cx"> 
</span><span class="cx">     HANDLE m_timerQueue;
</span><span class="cx"> #elif USE(GLIB_EVENT_LOOP) || USE(GENERIC_EVENT_LOOP)
</span></span></pre></div>
<a id="trunkSourceWTFwtfcocoaWorkQueueCocoacpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WTF/wtf/cocoa/WorkQueueCocoa.cpp (202438 => 202439)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WTF/wtf/cocoa/WorkQueueCocoa.cpp        2016-06-24 19:26:50 UTC (rev 202438)
+++ trunk/Source/WTF/wtf/cocoa/WorkQueueCocoa.cpp        2016-06-24 19:40:19 UTC (rev 202439)
</span><span class="lines">@@ -28,10 +28,10 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WTF {
</span><span class="cx"> 
</span><del>-void WorkQueue::dispatch(NoncopyableFunction&lt;void ()&gt;&amp;&amp; function)
</del><ins>+void WorkQueue::dispatch(Function&lt;void ()&gt;&amp;&amp; function)
</ins><span class="cx"> {
</span><span class="cx">     ref();
</span><del>-    auto* functionPtr = new NoncopyableFunction&lt;void ()&gt;(WTFMove(function));
</del><ins>+    auto* functionPtr = new Function&lt;void ()&gt;(WTFMove(function));
</ins><span class="cx">     dispatch_async(m_dispatchQueue, ^{
</span><span class="cx">         (*functionPtr)();
</span><span class="cx">         delete functionPtr;
</span><span class="lines">@@ -39,10 +39,10 @@
</span><span class="cx">     });
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WorkQueue::dispatchAfter(std::chrono::nanoseconds duration, NoncopyableFunction&lt;void ()&gt;&amp;&amp; function)
</del><ins>+void WorkQueue::dispatchAfter(std::chrono::nanoseconds duration, Function&lt;void ()&gt;&amp;&amp; function)
</ins><span class="cx"> {
</span><span class="cx">     ref();
</span><del>-    auto* functionPtr = new NoncopyableFunction&lt;void ()&gt;(WTFMove(function));
</del><ins>+    auto* functionPtr = new Function&lt;void ()&gt;(WTFMove(function));
</ins><span class="cx">     dispatch_after(dispatch_time(DISPATCH_TIME_NOW, duration.count()), m_dispatchQueue, ^{
</span><span class="cx">         (*functionPtr)();
</span><span class="cx">         delete functionPtr;
</span></span></pre></div>
<a id="trunkSourceWTFwtfeflDispatchQueueWorkItemEflh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WTF/wtf/efl/DispatchQueueWorkItemEfl.h (202438 => 202439)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WTF/wtf/efl/DispatchQueueWorkItemEfl.h        2016-06-24 19:26:50 UTC (rev 202438)
+++ trunk/Source/WTF/wtf/efl/DispatchQueueWorkItemEfl.h        2016-06-24 19:40:19 UTC (rev 202439)
</span><span class="lines">@@ -34,7 +34,7 @@
</span><span class="cx"> 
</span><span class="cx"> class WorkItem {
</span><span class="cx"> public:
</span><del>-    WorkItem(Ref&lt;WorkQueue&gt;&amp;&amp; workQueue, NoncopyableFunction&lt;void ()&gt;&amp;&amp; function)
</del><ins>+    WorkItem(Ref&lt;WorkQueue&gt;&amp;&amp; workQueue, Function&lt;void ()&gt;&amp;&amp; function)
</ins><span class="cx">         : m_workQueue(WTFMove(workQueue))
</span><span class="cx">         , m_function(WTFMove(function))
</span><span class="cx">     {
</span><span class="lines">@@ -44,12 +44,12 @@
</span><span class="cx"> 
</span><span class="cx"> private:
</span><span class="cx">     Ref&lt;WorkQueue&gt; m_workQueue;
</span><del>-    NoncopyableFunction&lt;void ()&gt; m_function;
</del><ins>+    Function&lt;void ()&gt; m_function;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> class TimerWorkItem : public WorkItem {
</span><span class="cx"> public:
</span><del>-    static std::unique_ptr&lt;TimerWorkItem&gt; create(Ref&lt;WorkQueue&gt;&amp;&amp; workQueue, NoncopyableFunction&lt;void ()&gt;&amp;&amp; function, std::chrono::nanoseconds delayNanoSeconds)
</del><ins>+    static std::unique_ptr&lt;TimerWorkItem&gt; create(Ref&lt;WorkQueue&gt;&amp;&amp; workQueue, Function&lt;void ()&gt;&amp;&amp; function, std::chrono::nanoseconds delayNanoSeconds)
</ins><span class="cx">     {
</span><span class="cx">         ASSERT(delayNanoSeconds.count() &gt;= 0);
</span><span class="cx">         return std::unique_ptr&lt;TimerWorkItem&gt;(new TimerWorkItem(WTFMove(workQueue), WTFMove(function), monotonicallyIncreasingTime() * 1000000000.0 + delayNanoSeconds.count()));
</span><span class="lines">@@ -58,7 +58,7 @@
</span><span class="cx">     bool hasExpired(double currentTimeNanoSeconds) const { return currentTimeNanoSeconds &gt;= m_expirationTimeNanoSeconds; }
</span><span class="cx"> 
</span><span class="cx"> protected:
</span><del>-    TimerWorkItem(Ref&lt;WorkQueue&gt;&amp;&amp; workQueue, NoncopyableFunction&lt;void ()&gt;&amp;&amp; function, double expirationTimeNanoSeconds)
</del><ins>+    TimerWorkItem(Ref&lt;WorkQueue&gt;&amp;&amp; workQueue, Function&lt;void ()&gt;&amp;&amp; function, double expirationTimeNanoSeconds)
</ins><span class="cx">         : WorkItem(WTFMove(workQueue), WTFMove(function))
</span><span class="cx">         , m_expirationTimeNanoSeconds(expirationTimeNanoSeconds)
</span><span class="cx">     {
</span></span></pre></div>
<a id="trunkSourceWTFwtfeflWorkQueueEflcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WTF/wtf/efl/WorkQueueEfl.cpp (202438 => 202439)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WTF/wtf/efl/WorkQueueEfl.cpp        2016-06-24 19:26:50 UTC (rev 202438)
+++ trunk/Source/WTF/wtf/efl/WorkQueueEfl.cpp        2016-06-24 19:40:19 UTC (rev 202439)
</span><span class="lines">@@ -54,7 +54,7 @@
</span><span class="cx">     m_dispatchQueue-&gt;clearSocketEventHandler();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WorkQueue::dispatch(NoncopyableFunction&lt;void ()&gt;&amp;&amp; function)
</del><ins>+void WorkQueue::dispatch(Function&lt;void ()&gt;&amp;&amp; function)
</ins><span class="cx"> {
</span><span class="cx">     if (!m_dispatchQueue)
</span><span class="cx">         return;
</span><span class="lines">@@ -62,7 +62,7 @@
</span><span class="cx">     m_dispatchQueue-&gt;dispatch(std::make_unique&lt;WorkItem&gt;(*this, WTFMove(function)));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WorkQueue::dispatchAfter(std::chrono::nanoseconds duration, NoncopyableFunction&lt;void ()&gt;&amp;&amp; function)
</del><ins>+void WorkQueue::dispatchAfter(std::chrono::nanoseconds duration, Function&lt;void ()&gt;&amp;&amp; function)
</ins><span class="cx"> {
</span><span class="cx">     if (!m_dispatchQueue)
</span><span class="cx">         return;
</span></span></pre></div>
<a id="trunkSourceWTFwtfgenericRunLoopGenericcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WTF/wtf/generic/RunLoopGeneric.cpp (202438 => 202439)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WTF/wtf/generic/RunLoopGeneric.cpp        2016-06-24 19:26:50 UTC (rev 202438)
+++ trunk/Source/WTF/wtf/generic/RunLoopGeneric.cpp        2016-06-24 19:40:19 UTC (rev 202439)
</span><span class="lines">@@ -32,12 +32,12 @@
</span><span class="cx"> class RunLoop::TimerBase::ScheduledTask : public ThreadSafeRefCounted&lt;ScheduledTask&gt; {
</span><span class="cx"> WTF_MAKE_NONCOPYABLE(ScheduledTask);
</span><span class="cx"> public:
</span><del>-    static RefPtr&lt;ScheduledTask&gt; create(NoncopyableFunction&lt;void ()&gt;&amp;&amp; function, double interval, bool repeating)
</del><ins>+    static RefPtr&lt;ScheduledTask&gt; create(Function&lt;void ()&gt;&amp;&amp; function, double interval, bool repeating)
</ins><span class="cx">     {
</span><span class="cx">         return adoptRef(new ScheduledTask(WTFMove(function), interval, repeating));
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    ScheduledTask(NoncopyableFunction&lt;void ()&gt;&amp;&amp; function, double interval, bool repeating)
</del><ins>+    ScheduledTask(Function&lt;void ()&gt;&amp;&amp; function, double interval, bool repeating)
</ins><span class="cx">         : m_function(WTFMove(function))
</span><span class="cx">         , m_fireInterval(std::chrono::duration_cast&lt;std::chrono::microseconds&gt;(std::chrono::duration&lt;double&gt;(interval)))
</span><span class="cx">         , m_isRepeating(repeating)
</span><span class="lines">@@ -90,7 +90,7 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx"> private:
</span><del>-    NoncopyableFunction&lt;void ()&gt; m_function;
</del><ins>+    Function&lt;void ()&gt; m_function;
</ins><span class="cx">     Condition::Clock::time_point m_scheduledTimePoint;
</span><span class="cx">     std::chrono::microseconds m_fireInterval;
</span><span class="cx">     std::atomic&lt;bool&gt; m_isActive { true };
</span><span class="lines">@@ -237,7 +237,7 @@
</span><span class="cx">     wakeUp(locker);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void RunLoop::dispatchAfter(std::chrono::nanoseconds delay, NoncopyableFunction&lt;void ()&gt;&amp;&amp; function)
</del><ins>+void RunLoop::dispatchAfter(std::chrono::nanoseconds delay, Function&lt;void ()&gt;&amp;&amp; function)
</ins><span class="cx"> {
</span><span class="cx">     LockHolder locker(m_loopLock);
</span><span class="cx">     bool repeating = false;
</span></span></pre></div>
<a id="trunkSourceWTFwtfgenericWorkQueueGenericcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WTF/wtf/generic/WorkQueueGeneric.cpp (202438 => 202439)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WTF/wtf/generic/WorkQueueGeneric.cpp        2016-06-24 19:26:50 UTC (rev 202438)
+++ trunk/Source/WTF/wtf/generic/WorkQueueGeneric.cpp        2016-06-24 19:40:19 UTC (rev 202439)
</span><span class="lines">@@ -81,7 +81,7 @@
</span><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WorkQueue::dispatch(NoncopyableFunction&lt;void ()&gt;&amp;&amp; function)
</del><ins>+void WorkQueue::dispatch(Function&lt;void ()&gt;&amp;&amp; function)
</ins><span class="cx"> {
</span><span class="cx">     RefPtr&lt;WorkQueue&gt; protect(this);
</span><span class="cx">     m_runLoop-&gt;dispatch([protect, function = WTFMove(function)] {
</span><span class="lines">@@ -89,7 +89,7 @@
</span><span class="cx">     });
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WorkQueue::dispatchAfter(std::chrono::nanoseconds delay, NoncopyableFunction&lt;void ()&gt;&amp;&amp; function)
</del><ins>+void WorkQueue::dispatchAfter(std::chrono::nanoseconds delay, Function&lt;void ()&gt;&amp;&amp; function)
</ins><span class="cx"> {
</span><span class="cx">     RefPtr&lt;WorkQueue&gt; protect(this);
</span><span class="cx">     m_runLoop-&gt;dispatchAfter(delay, [protect, function = WTFMove(function)] {
</span></span></pre></div>
<a id="trunkSourceWTFwtfglibRunLoopGLibcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WTF/wtf/glib/RunLoopGLib.cpp (202438 => 202439)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WTF/wtf/glib/RunLoopGLib.cpp        2016-06-24 19:26:50 UTC (rev 202438)
+++ trunk/Source/WTF/wtf/glib/RunLoopGLib.cpp        2016-06-24 19:40:19 UTC (rev 202439)
</span><span class="lines">@@ -124,7 +124,7 @@
</span><span class="cx"> class DispatchAfterContext {
</span><span class="cx">     WTF_MAKE_FAST_ALLOCATED;
</span><span class="cx"> public:
</span><del>-    DispatchAfterContext(NoncopyableFunction&lt;void ()&gt;&amp;&amp; function)
</del><ins>+    DispatchAfterContext(Function&lt;void ()&gt;&amp;&amp; function)
</ins><span class="cx">         : m_function(WTFMove(function))
</span><span class="cx">     {
</span><span class="cx">     }
</span><span class="lines">@@ -135,10 +135,10 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx"> private:
</span><del>-    NoncopyableFunction&lt;void ()&gt; m_function;
</del><ins>+    Function&lt;void ()&gt; m_function;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><del>-void RunLoop::dispatchAfter(std::chrono::nanoseconds duration, NoncopyableFunction&lt;void ()&gt;&amp;&amp; function)
</del><ins>+void RunLoop::dispatchAfter(std::chrono::nanoseconds duration, Function&lt;void ()&gt;&amp;&amp; function)
</ins><span class="cx"> {
</span><span class="cx">     GRefPtr&lt;GSource&gt; source = adoptGRef(g_timeout_source_new(std::chrono::duration_cast&lt;std::chrono::milliseconds&gt;(duration).count()));
</span><span class="cx">     g_source_set_name(source.get(), &quot;[WebKit] RunLoop dispatchAfter&quot;);
</span></span></pre></div>
<a id="trunkSourceWTFwtfwinWorkQueueWincpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WTF/wtf/win/WorkQueueWin.cpp (202438 => 202439)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WTF/wtf/win/WorkQueueWin.cpp        2016-06-24 19:26:50 UTC (rev 202438)
+++ trunk/Source/WTF/wtf/win/WorkQueueWin.cpp        2016-06-24 19:40:19 UTC (rev 202439)
</span><span class="lines">@@ -51,7 +51,7 @@
</span><span class="cx">     m_functionQueueLock.lock();
</span><span class="cx"> 
</span><span class="cx">     while (!m_functionQueue.isEmpty()) {
</span><del>-        Vector&lt;NoncopyableFunction&lt;void ()&gt;&gt; functionQueue;
</del><ins>+        Vector&lt;Function&lt;void ()&gt;&gt; functionQueue;
</ins><span class="cx">         m_functionQueue.swap(functionQueue);
</span><span class="cx"> 
</span><span class="cx">         // Allow more work to be scheduled while we're not using the queue directly.
</span><span class="lines">@@ -98,7 +98,7 @@
</span><span class="cx">     ::DeleteTimerQueueEx(m_timerQueue, 0);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WorkQueue::dispatch(NoncopyableFunction&lt;void ()&gt;&amp;&amp; function)
</del><ins>+void WorkQueue::dispatch(Function&lt;void ()&gt;&amp;&amp; function)
</ins><span class="cx"> {
</span><span class="cx">     MutexLocker locker(m_functionQueueLock);
</span><span class="cx">     ref();
</span><span class="lines">@@ -118,7 +118,7 @@
</span><span class="cx">     static RefPtr&lt;TimerContext&gt; create() { return adoptRef(new TimerContext); }
</span><span class="cx"> 
</span><span class="cx">     WorkQueue* queue;
</span><del>-    NoncopyableFunction&lt;void ()&gt; function;
</del><ins>+    Function&lt;void ()&gt; function;
</ins><span class="cx">     Mutex timerMutex;
</span><span class="cx">     HANDLE timer;
</span><span class="cx"> 
</span><span class="lines">@@ -149,7 +149,7 @@
</span><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WorkQueue::dispatchAfter(std::chrono::nanoseconds duration, NoncopyableFunction&lt;void ()&gt;&amp;&amp; function)
</del><ins>+void WorkQueue::dispatchAfter(std::chrono::nanoseconds duration, Function&lt;void ()&gt;&amp;&amp; function)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(m_timerQueue);
</span><span class="cx">     ref();
</span></span></pre></div>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (202438 => 202439)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2016-06-24 19:26:50 UTC (rev 202438)
+++ trunk/Source/WebCore/ChangeLog        2016-06-24 19:40:19 UTC (rev 202439)
</span><span class="lines">@@ -1,3 +1,58 @@
</span><ins>+2016-06-21  Anders Carlsson  &lt;andersca@apple.com&gt;
+
+        Rename NoncopyableFunction to Function
+        https://bugs.webkit.org/show_bug.cgi?id=158354
+
+        Reviewed by Chris Dumez.
+
+        * Modules/mediastream/MediaEndpointPeerConnection.cpp:
+        (WebCore::MediaEndpointPeerConnection::runTask):
+        * Modules/mediastream/MediaEndpointPeerConnection.h:
+        * Modules/webaudio/AudioDestinationNode.h:
+        (WebCore::AudioDestinationNode::resume):
+        (WebCore::AudioDestinationNode::suspend):
+        (WebCore::AudioDestinationNode::close):
+        * Modules/webaudio/DefaultAudioDestinationNode.cpp:
+        (WebCore::DefaultAudioDestinationNode::resume):
+        (WebCore::DefaultAudioDestinationNode::suspend):
+        (WebCore::DefaultAudioDestinationNode::close):
+        * Modules/webaudio/DefaultAudioDestinationNode.h:
+        * dom/ActiveDOMCallbackMicrotask.cpp:
+        (WebCore::ActiveDOMCallbackMicrotask::ActiveDOMCallbackMicrotask):
+        * dom/ActiveDOMCallbackMicrotask.h:
+        * dom/ScriptExecutionContext.h:
+        (WebCore::ScriptExecutionContext::Task::Task):
+        * fileapi/AsyncFileStream.cpp:
+        (WebCore::callOnFileThread):
+        (WebCore::AsyncFileStream::perform):
+        * fileapi/AsyncFileStream.h:
+        * page/FrameView.cpp:
+        (WebCore::FrameView::queuePostLayoutCallback):
+        (WebCore::FrameView::flushPostLayoutTasksQueue):
+        * page/FrameView.h:
+        * page/scrolling/ScrollingThread.cpp:
+        (WebCore::ScrollingThread::dispatch):
+        (WebCore::ScrollingThread::dispatchBarrier):
+        (WebCore::ScrollingThread::dispatchFunctionsFromScrollingThread):
+        * page/scrolling/ScrollingThread.h:
+        * platform/GenericTaskQueue.cpp:
+        (WebCore::TaskDispatcher&lt;Timer&gt;::postTask):
+        * platform/GenericTaskQueue.h:
+        (WebCore::TaskDispatcher::postTask):
+        * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.h:
+        * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm:
+        (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::scheduleDeferredTask):
+        * platform/mediastream/MediaStreamPrivate.cpp:
+        (WebCore::MediaStreamPrivate::scheduleDeferredTask):
+        * platform/mediastream/MediaStreamPrivate.h:
+        * platform/mediastream/mac/AVMediaCaptureSource.h:
+        * platform/mediastream/mac/AVMediaCaptureSource.mm:
+        (WebCore::AVMediaCaptureSource::scheduleDeferredTask):
+        * style/StyleTreeResolver.cpp:
+        (WebCore::Style::postResolutionCallbackQueue):
+        (WebCore::Style::queuePostResolutionCallback):
+        * style/StyleTreeResolver.h:
+
</ins><span class="cx"> 2016-06-24  Amir Alavi  &lt;aalavi@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Use _CFHTTPCookieStorageGetDefault directly instead of NSHTTPCookieStorage to get default cookie storage
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesmediastreamMediaEndpointPeerConnectioncpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/mediastream/MediaEndpointPeerConnection.cpp (202438 => 202439)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/mediastream/MediaEndpointPeerConnection.cpp        2016-06-24 19:26:50 UTC (rev 202438)
+++ trunk/Source/WebCore/Modules/mediastream/MediaEndpointPeerConnection.cpp        2016-06-24 19:40:19 UTC (rev 202439)
</span><span class="lines">@@ -108,7 +108,7 @@
</span><span class="cx">     });
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void MediaEndpointPeerConnection::runTask(NoncopyableFunction&lt;void ()&gt;&amp;&amp; task)
</del><ins>+void MediaEndpointPeerConnection::runTask(Function&lt;void ()&gt;&amp;&amp; task)
</ins><span class="cx"> {
</span><span class="cx">     if (m_dtlsFingerprint.isNull()) {
</span><span class="cx">         // Only one task needs to be deferred since it will hold off any others until completed.
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesmediastreamMediaEndpointPeerConnectionh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/mediastream/MediaEndpointPeerConnection.h (202438 => 202439)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/mediastream/MediaEndpointPeerConnection.h        2016-06-24 19:26:50 UTC (rev 202438)
+++ trunk/Source/WebCore/Modules/mediastream/MediaEndpointPeerConnection.h        2016-06-24 19:40:19 UTC (rev 202439)
</span><span class="lines">@@ -37,7 +37,7 @@
</span><span class="cx"> #include &quot;MediaEndpointSessionDescription.h&quot;
</span><span class="cx"> #include &quot;NotImplemented.h&quot;
</span><span class="cx"> #include &quot;PeerConnectionBackend.h&quot;
</span><del>-#include &lt;wtf/NoncopyableFunction.h&gt;
</del><ins>+#include &lt;wtf/Function.h&gt;
</ins><span class="cx"> #include &lt;wtf/RefPtr.h&gt;
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="lines">@@ -85,7 +85,7 @@
</span><span class="cx">     void clearNegotiationNeededState() override { m_negotiationNeeded = false; };
</span><span class="cx"> 
</span><span class="cx"> private:
</span><del>-    void runTask(NoncopyableFunction&lt;void ()&gt;&amp;&amp;);
</del><ins>+    void runTask(Function&lt;void ()&gt;&amp;&amp;);
</ins><span class="cx">     void startRunningTasks();
</span><span class="cx"> 
</span><span class="cx">     void createOfferTask(RTCOfferOptions&amp;, PeerConnection::SessionDescriptionPromise&amp;);
</span><span class="lines">@@ -113,7 +113,7 @@
</span><span class="cx">     PeerConnectionBackendClient* m_client;
</span><span class="cx">     std::unique_ptr&lt;MediaEndpoint&gt; m_mediaEndpoint;
</span><span class="cx"> 
</span><del>-    NoncopyableFunction&lt;void ()&gt; m_initialDeferredTask;
</del><ins>+    Function&lt;void ()&gt; m_initialDeferredTask;
</ins><span class="cx"> 
</span><span class="cx">     std::unique_ptr&lt;SDPProcessor&gt; m_sdpProcessor;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreModuleswebaudioAudioDestinationNodeh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/webaudio/AudioDestinationNode.h (202438 => 202439)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/webaudio/AudioDestinationNode.h        2016-06-24 19:26:50 UTC (rev 202438)
+++ trunk/Source/WebCore/Modules/webaudio/AudioDestinationNode.h        2016-06-24 19:40:19 UTC (rev 202439)
</span><span class="lines">@@ -30,7 +30,7 @@
</span><span class="cx"> #include &quot;AudioIOCallback.h&quot;
</span><span class="cx"> #include &quot;AudioNode.h&quot;
</span><span class="cx"> #include &quot;AudioSourceProvider.h&quot;
</span><del>-#include &lt;wtf/NoncopyableFunction.h&gt;
</del><ins>+#include &lt;wtf/Function.h&gt;
</ins><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="lines">@@ -59,9 +59,9 @@
</span><span class="cx">     virtual void enableInput(const String&amp; inputDeviceId) = 0;
</span><span class="cx"> 
</span><span class="cx">     virtual void startRendering() = 0;
</span><del>-    virtual void resume(NoncopyableFunction&lt;void ()&gt;&amp;&amp;) { }
-    virtual void suspend(NoncopyableFunction&lt;void ()&gt;&amp;&amp;) { }
-    virtual void close(NoncopyableFunction&lt;void ()&gt;&amp;&amp;) { }
</del><ins>+    virtual void resume(Function&lt;void ()&gt;&amp;&amp;) { }
+    virtual void suspend(Function&lt;void ()&gt;&amp;&amp;) { }
+    virtual void close(Function&lt;void ()&gt;&amp;&amp;) { }
</ins><span class="cx"> 
</span><span class="cx">     virtual bool isPlaying() { return false; }
</span><span class="cx">     void isPlayingDidChange() override;
</span></span></pre></div>
<a id="trunkSourceWebCoreModuleswebaudioDefaultAudioDestinationNodecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/webaudio/DefaultAudioDestinationNode.cpp (202438 => 202439)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/webaudio/DefaultAudioDestinationNode.cpp        2016-06-24 19:26:50 UTC (rev 202438)
+++ trunk/Source/WebCore/Modules/webaudio/DefaultAudioDestinationNode.cpp        2016-06-24 19:40:19 UTC (rev 202439)
</span><span class="lines">@@ -106,7 +106,7 @@
</span><span class="cx">         m_destination-&gt;start();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void DefaultAudioDestinationNode::resume(NoncopyableFunction&lt;void ()&gt;&amp;&amp; function)
</del><ins>+void DefaultAudioDestinationNode::resume(Function&lt;void ()&gt;&amp;&amp; function)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(isInitialized());
</span><span class="cx">     if (isInitialized())
</span><span class="lines">@@ -115,7 +115,7 @@
</span><span class="cx">         scriptExecutionContext-&gt;postTask(WTFMove(function));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void DefaultAudioDestinationNode::suspend(NoncopyableFunction&lt;void ()&gt;&amp;&amp; function)
</del><ins>+void DefaultAudioDestinationNode::suspend(Function&lt;void ()&gt;&amp;&amp; function)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(isInitialized());
</span><span class="cx">     if (isInitialized())
</span><span class="lines">@@ -124,7 +124,7 @@
</span><span class="cx">         scriptExecutionContext-&gt;postTask(WTFMove(function));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void DefaultAudioDestinationNode::close(NoncopyableFunction&lt;void()&gt;&amp;&amp; function)
</del><ins>+void DefaultAudioDestinationNode::close(Function&lt;void()&gt;&amp;&amp; function)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(isInitialized());
</span><span class="cx">     uninitialize();
</span></span></pre></div>
<a id="trunkSourceWebCoreModuleswebaudioDefaultAudioDestinationNodeh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/webaudio/DefaultAudioDestinationNode.h (202438 => 202439)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/webaudio/DefaultAudioDestinationNode.h        2016-06-24 19:26:50 UTC (rev 202438)
+++ trunk/Source/WebCore/Modules/webaudio/DefaultAudioDestinationNode.h        2016-06-24 19:40:19 UTC (rev 202439)
</span><span class="lines">@@ -50,9 +50,9 @@
</span><span class="cx">     // AudioDestinationNode
</span><span class="cx">     void enableInput(const String&amp; inputDeviceId) override;
</span><span class="cx">     void startRendering() override;
</span><del>-    void resume(NoncopyableFunction&lt;void ()&gt;&amp;&amp;) override;
-    void suspend(NoncopyableFunction&lt;void ()&gt;&amp;&amp;) override;
-    void close(NoncopyableFunction&lt;void ()&gt;&amp;&amp;) override;
</del><ins>+    void resume(Function&lt;void ()&gt;&amp;&amp;) override;
+    void suspend(Function&lt;void ()&gt;&amp;&amp;) override;
+    void close(Function&lt;void ()&gt;&amp;&amp;) override;
</ins><span class="cx">     unsigned long maxChannelCount() const override;
</span><span class="cx">     bool isPlaying() override;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsSerializedScriptValuecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/SerializedScriptValue.cpp (202438 => 202439)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/SerializedScriptValue.cpp        2016-06-24 19:26:50 UTC (rev 202438)
+++ trunk/Source/WebCore/bindings/js/SerializedScriptValue.cpp        2016-06-24 19:40:19 UTC (rev 202439)
</span><span class="lines">@@ -2798,7 +2798,7 @@
</span><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void SerializedScriptValue::writeBlobsToDiskForIndexedDB(NoncopyableFunction&lt;void (const IDBValue&amp;)&gt;&amp;&amp; completionHandler)
</del><ins>+void SerializedScriptValue::writeBlobsToDiskForIndexedDB(WTF::Function&lt;void (const IDBValue&amp;)&gt;&amp;&amp; completionHandler)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(isMainThread());
</span><span class="cx">     ASSERT(hasBlobURLs());
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsSerializedScriptValueh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/SerializedScriptValue.h (202438 => 202439)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/SerializedScriptValue.h        2016-06-24 19:26:50 UTC (rev 202438)
+++ trunk/Source/WebCore/bindings/js/SerializedScriptValue.h        2016-06-24 19:40:19 UTC (rev 202439)
</span><span class="lines">@@ -31,7 +31,7 @@
</span><span class="cx"> #include &lt;runtime/ArrayBuffer.h&gt;
</span><span class="cx"> #include &lt;runtime/JSCJSValue.h&gt;
</span><span class="cx"> #include &lt;wtf/Forward.h&gt;
</span><del>-#include &lt;wtf/NoncopyableFunction.h&gt;
</del><ins>+#include &lt;wtf/Function.h&gt;
</ins><span class="cx"> #include &lt;wtf/RefCounted.h&gt;
</span><span class="cx"> #include &lt;wtf/text/WTFString.h&gt;
</span><span class="cx"> 
</span><span class="lines">@@ -87,7 +87,7 @@
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(INDEXED_DATABASE)
</span><span class="cx">     Vector&lt;String&gt; blobURLsIsolatedCopy() const;
</span><del>-    void writeBlobsToDiskForIndexedDB(NoncopyableFunction&lt;void (const IDBValue&amp;)&gt;&amp;&amp; completionHandler);
</del><ins>+    void writeBlobsToDiskForIndexedDB(Function&lt;void (const IDBValue&amp;)&gt;&amp;&amp; completionHandler);
</ins><span class="cx">     IDBValue writeBlobsToDiskForIndexedDBSynchronously();
</span><span class="cx"> #endif // ENABLE(INDEXED_DATABASE)
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoredomActiveDOMCallbackMicrotaskcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/ActiveDOMCallbackMicrotask.cpp (202438 => 202439)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/ActiveDOMCallbackMicrotask.cpp        2016-06-24 19:26:50 UTC (rev 202438)
+++ trunk/Source/WebCore/dom/ActiveDOMCallbackMicrotask.cpp        2016-06-24 19:40:19 UTC (rev 202439)
</span><span class="lines">@@ -28,7 +28,7 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-ActiveDOMCallbackMicrotask::ActiveDOMCallbackMicrotask(MicrotaskQueue&amp; queue, ScriptExecutionContext&amp; scriptExecutionContext, NoncopyableFunction&lt;void()&gt;&amp;&amp; task)
</del><ins>+ActiveDOMCallbackMicrotask::ActiveDOMCallbackMicrotask(MicrotaskQueue&amp; queue, ScriptExecutionContext&amp; scriptExecutionContext, Function&lt;void()&gt;&amp;&amp; task)
</ins><span class="cx">     : ActiveDOMCallback(&amp;scriptExecutionContext)
</span><span class="cx">     , m_queue(queue)
</span><span class="cx">     , m_task(WTFMove(task))
</span></span></pre></div>
<a id="trunkSourceWebCoredomActiveDOMCallbackMicrotaskh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/ActiveDOMCallbackMicrotask.h (202438 => 202439)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/ActiveDOMCallbackMicrotask.h        2016-06-24 19:26:50 UTC (rev 202438)
+++ trunk/Source/WebCore/dom/ActiveDOMCallbackMicrotask.h        2016-06-24 19:40:19 UTC (rev 202439)
</span><span class="lines">@@ -27,7 +27,7 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;ActiveDOMCallback.h&quot;
</span><span class="cx"> #include &quot;Microtasks.h&quot;
</span><del>-#include &lt;wtf/NoncopyableFunction.h&gt;
</del><ins>+#include &lt;wtf/Function.h&gt;
</ins><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="lines">@@ -34,7 +34,7 @@
</span><span class="cx"> class ActiveDOMCallbackMicrotask final : public Microtask, public ActiveDOMCallback {
</span><span class="cx">     WTF_MAKE_FAST_ALLOCATED;
</span><span class="cx"> public:
</span><del>-    WEBCORE_EXPORT ActiveDOMCallbackMicrotask(MicrotaskQueue&amp;, ScriptExecutionContext&amp;, NoncopyableFunction&lt;void()&gt;&amp;&amp;);
</del><ins>+    WEBCORE_EXPORT ActiveDOMCallbackMicrotask(MicrotaskQueue&amp;, ScriptExecutionContext&amp;, Function&lt;void()&gt;&amp;&amp;);
</ins><span class="cx">     WEBCORE_EXPORT virtual ~ActiveDOMCallbackMicrotask();
</span><span class="cx"> 
</span><span class="cx">     Result run() override;
</span><span class="lines">@@ -46,7 +46,7 @@
</span><span class="cx">     // be accessed via the ScriptExecutionContext, which should hold a reference to the relevent
</span><span class="cx">     // queue.
</span><span class="cx">     MicrotaskQueue&amp; m_queue;
</span><del>-    NoncopyableFunction&lt;void()&gt; m_task;
</del><ins>+    Function&lt;void()&gt; m_task;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="trunkSourceWebCoredomScriptExecutionContexth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/ScriptExecutionContext.h (202438 => 202439)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/ScriptExecutionContext.h        2016-06-24 19:26:50 UTC (rev 202438)
+++ trunk/Source/WebCore/dom/ScriptExecutionContext.h        2016-06-24 19:40:19 UTC (rev 202439)
</span><span class="lines">@@ -33,8 +33,8 @@
</span><span class="cx"> #include &quot;Supplementable.h&quot;
</span><span class="cx"> #include &lt;runtime/ConsoleTypes.h&gt;
</span><span class="cx"> #include &lt;wtf/CrossThreadTask.h&gt;
</span><ins>+#include &lt;wtf/Function.h&gt;
</ins><span class="cx"> #include &lt;wtf/HashSet.h&gt;
</span><del>-#include &lt;wtf/NoncopyableFunction.h&gt;
</del><span class="cx"> 
</span><span class="cx"> namespace Deprecated {
</span><span class="cx"> class ScriptValue;
</span><span class="lines">@@ -138,7 +138,7 @@
</span><span class="cx">     public:
</span><span class="cx">         enum CleanupTaskTag { CleanupTask };
</span><span class="cx"> 
</span><del>-        template&lt;typename T, typename = typename std::enable_if&lt;!std::is_base_of&lt;Task, T&gt;::value &amp;&amp; std::is_convertible&lt;T, NoncopyableFunction&lt;void (ScriptExecutionContext&amp;)&gt;&gt;::value&gt;::type&gt;
</del><ins>+        template&lt;typename T, typename = typename std::enable_if&lt;!std::is_base_of&lt;Task, T&gt;::value &amp;&amp; std::is_convertible&lt;T, WTF::Function&lt;void (ScriptExecutionContext&amp;)&gt;&gt;::value&gt;::type&gt;
</ins><span class="cx">         Task(T task)
</span><span class="cx">             : m_task(WTFMove(task))
</span><span class="cx">             , m_isCleanupTask(false)
</span><span class="lines">@@ -145,13 +145,13 @@
</span><span class="cx">         {
</span><span class="cx">         }
</span><span class="cx"> 
</span><del>-        Task(NoncopyableFunction&lt;void ()&gt;&amp;&amp; task)
</del><ins>+        Task(WTF::Function&lt;void ()&gt;&amp;&amp; task)
</ins><span class="cx">             : m_task([task = WTFMove(task)](ScriptExecutionContext&amp;) { task(); })
</span><span class="cx">             , m_isCleanupTask(false)
</span><span class="cx">         {
</span><span class="cx">         }
</span><span class="cx"> 
</span><del>-        template&lt;typename T, typename = typename std::enable_if&lt;std::is_convertible&lt;T, NoncopyableFunction&lt;void (ScriptExecutionContext&amp;)&gt;&gt;::value&gt;::type&gt;
</del><ins>+        template&lt;typename T, typename = typename std::enable_if&lt;std::is_convertible&lt;T, WTF::Function&lt;void (ScriptExecutionContext&amp;)&gt;&gt;::value&gt;::type&gt;
</ins><span class="cx">         Task(CleanupTaskTag, T task)
</span><span class="cx">             : m_task(WTFMove(task))
</span><span class="cx">             , m_isCleanupTask(true)
</span><span class="lines">@@ -162,7 +162,7 @@
</span><span class="cx">         bool isCleanupTask() const { return m_isCleanupTask; }
</span><span class="cx"> 
</span><span class="cx">     protected:
</span><del>-        NoncopyableFunction&lt;void (ScriptExecutionContext&amp;)&gt; m_task;
</del><ins>+        WTF::Function&lt;void (ScriptExecutionContext&amp;)&gt; m_task;
</ins><span class="cx">         bool m_isCleanupTask;
</span><span class="cx">     };
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorefileapiAsyncFileStreamcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/fileapi/AsyncFileStream.cpp (202438 => 202439)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/fileapi/AsyncFileStream.cpp        2016-06-24 19:26:50 UTC (rev 202438)
+++ trunk/Source/WebCore/fileapi/AsyncFileStream.cpp        2016-06-24 19:40:19 UTC (rev 202439)
</span><span class="lines">@@ -36,10 +36,10 @@
</span><span class="cx"> #include &quot;FileStreamClient.h&quot;
</span><span class="cx"> #include &quot;URL.h&quot;
</span><span class="cx"> #include &lt;wtf/AutodrainedPool.h&gt;
</span><ins>+#include &lt;wtf/Function.h&gt;
</ins><span class="cx"> #include &lt;wtf/MainThread.h&gt;
</span><span class="cx"> #include &lt;wtf/MessageQueue.h&gt;
</span><span class="cx"> #include &lt;wtf/NeverDestroyed.h&gt;
</span><del>-#include &lt;wtf/NoncopyableFunction.h&gt;
</del><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="lines">@@ -64,12 +64,12 @@
</span><span class="cx"> #endif
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static void callOnFileThread(NoncopyableFunction&lt;void ()&gt;&amp;&amp; function)
</del><ins>+static void callOnFileThread(Function&lt;void ()&gt;&amp;&amp; function)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(isMainThread());
</span><span class="cx">     ASSERT(function);
</span><span class="cx"> 
</span><del>-    static NeverDestroyed&lt;MessageQueue&lt;NoncopyableFunction&lt;void ()&gt;&gt;&gt; queue;
</del><ins>+    static NeverDestroyed&lt;MessageQueue&lt;Function&lt;void ()&gt;&gt;&gt; queue;
</ins><span class="cx"> 
</span><span class="cx">     static std::once_flag createFileThreadOnce;
</span><span class="cx">     std::call_once(createFileThreadOnce, [] {
</span><span class="lines">@@ -90,7 +90,7 @@
</span><span class="cx">         });
</span><span class="cx">     });
</span><span class="cx"> 
</span><del>-    queue.get().append(std::make_unique&lt;NoncopyableFunction&lt;void ()&gt;&gt;(WTFMove(function)));
</del><ins>+    queue.get().append(std::make_unique&lt;Function&lt;void ()&gt;&gt;(WTFMove(function)));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> AsyncFileStream::AsyncFileStream(FileStreamClient&amp; client)
</span><span class="lines">@@ -114,7 +114,7 @@
</span><span class="cx">     });
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void AsyncFileStream::perform(NoncopyableFunction&lt;std::function&lt;void(FileStreamClient&amp;)&gt;(FileStream&amp;)&gt;&amp;&amp; operation)
</del><ins>+void AsyncFileStream::perform(Function&lt;std::function&lt;void(FileStreamClient&amp;)&gt;(FileStream&amp;)&gt;&amp;&amp; operation)
</ins><span class="cx"> {
</span><span class="cx">     auto&amp; internals = *m_internals;
</span><span class="cx">     callOnFileThread([&amp;internals, operation = WTFMove(operation)] {
</span></span></pre></div>
<a id="trunkSourceWebCorefileapiAsyncFileStreamh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/fileapi/AsyncFileStream.h (202438 => 202439)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/fileapi/AsyncFileStream.h        2016-06-24 19:26:50 UTC (rev 202438)
+++ trunk/Source/WebCore/fileapi/AsyncFileStream.h        2016-06-24 19:40:19 UTC (rev 202439)
</span><span class="lines">@@ -34,7 +34,7 @@
</span><span class="cx"> 
</span><span class="cx"> #include &lt;functional&gt;
</span><span class="cx"> #include &lt;wtf/Forward.h&gt;
</span><del>-#include &lt;wtf/NoncopyableFunction.h&gt;
</del><ins>+#include &lt;wtf/Function.h&gt;
</ins><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="lines">@@ -57,7 +57,7 @@
</span><span class="cx"> 
</span><span class="cx"> private:
</span><span class="cx">     void start();
</span><del>-    void perform(NoncopyableFunction&lt;std::function&lt;void(FileStreamClient&amp;)&gt;(FileStream&amp;)&gt;&amp;&amp;);
</del><ins>+    void perform(Function&lt;std::function&lt;void(FileStreamClient&amp;)&gt;(FileStream&amp;)&gt;&amp;&amp;);
</ins><span class="cx"> 
</span><span class="cx">     struct Internals;
</span><span class="cx">     std::unique_ptr&lt;Internals&gt; m_internals;
</span></span></pre></div>
<a id="trunkSourceWebCorepageFrameViewcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/FrameView.cpp (202438 => 202439)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/FrameView.cpp        2016-06-24 19:26:50 UTC (rev 202438)
+++ trunk/Source/WebCore/page/FrameView.cpp        2016-06-24 19:40:19 UTC (rev 202439)
</span><span class="lines">@@ -3145,7 +3145,7 @@
</span><span class="cx">         updateEmbeddedObjectsTimerFired();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void FrameView::queuePostLayoutCallback(NoncopyableFunction&lt;void()&gt;&amp;&amp; callback)
</del><ins>+void FrameView::queuePostLayoutCallback(Function&lt;void()&gt;&amp;&amp; callback)
</ins><span class="cx"> {
</span><span class="cx">     m_postLayoutCallbackQueue.append(WTFMove(callback));
</span><span class="cx"> }
</span><span class="lines">@@ -3158,7 +3158,7 @@
</span><span class="cx">     if (!m_postLayoutCallbackQueue.size())
</span><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    Vector&lt;NoncopyableFunction&lt;void()&gt;&gt; queue = WTFMove(m_postLayoutCallbackQueue);
</del><ins>+    Vector&lt;Function&lt;void()&gt;&gt; queue = WTFMove(m_postLayoutCallbackQueue);
</ins><span class="cx">     for (auto&amp; task : queue)
</span><span class="cx">         task();
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCorepageFrameViewh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/FrameView.h (202438 => 202439)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/FrameView.h        2016-06-24 19:26:50 UTC (rev 202438)
+++ trunk/Source/WebCore/page/FrameView.h        2016-06-24 19:40:19 UTC (rev 202439)
</span><span class="lines">@@ -35,9 +35,9 @@
</span><span class="cx"> #include &quot;ScrollView.h&quot;
</span><span class="cx"> #include &lt;memory&gt;
</span><span class="cx"> #include &lt;wtf/Forward.h&gt;
</span><ins>+#include &lt;wtf/Function.h&gt;
</ins><span class="cx"> #include &lt;wtf/HashSet.h&gt;
</span><span class="cx"> #include &lt;wtf/ListHashSet.h&gt;
</span><del>-#include &lt;wtf/NoncopyableFunction.h&gt;
</del><span class="cx"> #include &lt;wtf/text/WTFString.h&gt;
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="lines">@@ -111,7 +111,7 @@
</span><span class="cx">     void scheduleRelayout();
</span><span class="cx">     void scheduleRelayoutOfSubtree(RenderElement&amp;);
</span><span class="cx">     void unscheduleRelayout();
</span><del>-    void queuePostLayoutCallback(NoncopyableFunction&lt;void()&gt;&amp;&amp;);
</del><ins>+    void queuePostLayoutCallback(Function&lt;void()&gt;&amp;&amp;);
</ins><span class="cx">     bool layoutPending() const;
</span><span class="cx">     bool isInLayout() const { return m_layoutPhase != OutsideLayout; }
</span><span class="cx">     bool isInRenderTreeLayout() const { return m_layoutPhase == InRenderTreeLayout; }
</span><span class="lines">@@ -828,7 +828,7 @@
</span><span class="cx">     ScrollPinningBehavior m_scrollPinningBehavior;
</span><span class="cx"> 
</span><span class="cx">     IntRect* m_cachedWindowClipRect { nullptr };
</span><del>-    Vector&lt;NoncopyableFunction&lt;void()&gt;&gt; m_postLayoutCallbackQueue;
</del><ins>+    Vector&lt;Function&lt;void()&gt;&gt; m_postLayoutCallbackQueue;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> inline void FrameView::incrementVisuallyNonEmptyCharacterCount(unsigned count)
</span></span></pre></div>
<a id="trunkSourceWebCorepagescrollingScrollingThreadcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/scrolling/ScrollingThread.cpp (202438 => 202439)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/scrolling/ScrollingThread.cpp        2016-06-24 19:26:50 UTC (rev 202438)
+++ trunk/Source/WebCore/page/scrolling/ScrollingThread.cpp        2016-06-24 19:40:19 UTC (rev 202439)
</span><span class="lines">@@ -45,7 +45,7 @@
</span><span class="cx">     return threadIdentifier &amp;&amp; currentThread() == threadIdentifier;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void ScrollingThread::dispatch(NoncopyableFunction&lt;void ()&gt;&amp;&amp; function)
</del><ins>+void ScrollingThread::dispatch(Function&lt;void ()&gt;&amp;&amp; function)
</ins><span class="cx"> {
</span><span class="cx">     auto&amp; scrollingThread = ScrollingThread::singleton();
</span><span class="cx">     scrollingThread.createThreadIfNeeded();
</span><span class="lines">@@ -58,7 +58,7 @@
</span><span class="cx">     scrollingThread.wakeUpRunLoop();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void ScrollingThread::dispatchBarrier(NoncopyableFunction&lt;void ()&gt;&amp;&amp; function)
</del><ins>+void ScrollingThread::dispatchBarrier(Function&lt;void ()&gt;&amp;&amp; function)
</ins><span class="cx"> {
</span><span class="cx">     dispatch([function = WTFMove(function)]() mutable {
</span><span class="cx">         callOnMainThread(WTFMove(function));
</span><span class="lines">@@ -104,7 +104,7 @@
</span><span class="cx"> {
</span><span class="cx">     ASSERT(isCurrentThread());
</span><span class="cx"> 
</span><del>-    Vector&lt;NoncopyableFunction&lt;void ()&gt;&gt; functions;
</del><ins>+    Vector&lt;Function&lt;void ()&gt;&gt; functions;
</ins><span class="cx">     
</span><span class="cx">     {
</span><span class="cx">         std::lock_guard&lt;Lock&gt; lock(m_functionsMutex);
</span></span></pre></div>
<a id="trunkSourceWebCorepagescrollingScrollingThreadh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/scrolling/ScrollingThread.h (202438 => 202439)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/scrolling/ScrollingThread.h        2016-06-24 19:26:50 UTC (rev 202438)
+++ trunk/Source/WebCore/page/scrolling/ScrollingThread.h        2016-06-24 19:40:19 UTC (rev 202439)
</span><span class="lines">@@ -31,9 +31,9 @@
</span><span class="cx"> #include &lt;functional&gt;
</span><span class="cx"> #include &lt;wtf/Condition.h&gt;
</span><span class="cx"> #include &lt;wtf/Forward.h&gt;
</span><ins>+#include &lt;wtf/Function.h&gt;
</ins><span class="cx"> #include &lt;wtf/Lock.h&gt;
</span><span class="cx"> #include &lt;wtf/Noncopyable.h&gt;
</span><del>-#include &lt;wtf/NoncopyableFunction.h&gt;
</del><span class="cx"> #include &lt;wtf/Threading.h&gt;
</span><span class="cx"> #include &lt;wtf/Vector.h&gt;
</span><span class="cx"> 
</span><span class="lines">@@ -48,11 +48,11 @@
</span><span class="cx"> 
</span><span class="cx"> public:
</span><span class="cx">     static bool isCurrentThread();
</span><del>-    WEBCORE_EXPORT static void dispatch(NoncopyableFunction&lt;void ()&gt;&amp;&amp;);
</del><ins>+    WEBCORE_EXPORT static void dispatch(Function&lt;void ()&gt;&amp;&amp;);
</ins><span class="cx"> 
</span><span class="cx">     // Will dispatch the given function on the main thread once all pending functions
</span><span class="cx">     // on the scrolling thread have finished executing. Used for synchronization purposes.
</span><del>-    WEBCORE_EXPORT static void dispatchBarrier(NoncopyableFunction&lt;void ()&gt;&amp;&amp;);
</del><ins>+    WEBCORE_EXPORT static void dispatchBarrier(Function&lt;void ()&gt;&amp;&amp;);
</ins><span class="cx"> 
</span><span class="cx"> private:
</span><span class="cx">     friend NeverDestroyed&lt;ScrollingThread&gt;;
</span><span class="lines">@@ -80,7 +80,7 @@
</span><span class="cx">     Lock m_initializeRunLoopMutex;
</span><span class="cx"> 
</span><span class="cx">     Lock m_functionsMutex;
</span><del>-    Vector&lt;NoncopyableFunction&lt;void ()&gt;&gt; m_functions;
</del><ins>+    Vector&lt;Function&lt;void ()&gt;&gt; m_functions;
</ins><span class="cx"> 
</span><span class="cx"> #if PLATFORM(COCOA)
</span><span class="cx">     // FIXME: We should use WebCore::RunLoop here.
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformGenericTaskQueuecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/GenericTaskQueue.cpp (202438 => 202439)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/GenericTaskQueue.cpp        2016-06-24 19:26:50 UTC (rev 202438)
+++ trunk/Source/WebCore/platform/GenericTaskQueue.cpp        2016-06-24 19:40:19 UTC (rev 202439)
</span><span class="lines">@@ -36,7 +36,7 @@
</span><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void TaskDispatcher&lt;Timer&gt;::postTask(NoncopyableFunction&lt;void()&gt;&amp;&amp; function)
</del><ins>+void TaskDispatcher&lt;Timer&gt;::postTask(Function&lt;void()&gt;&amp;&amp; function)
</ins><span class="cx"> {
</span><span class="cx">     m_pendingTasks.append(WTFMove(function));
</span><span class="cx">     pendingDispatchers().append(m_weakPtrFactory.createWeakPtr());
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformGenericTaskQueueh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/GenericTaskQueue.h (202438 => 202439)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/GenericTaskQueue.h        2016-06-24 19:26:50 UTC (rev 202438)
+++ trunk/Source/WebCore/platform/GenericTaskQueue.h        2016-06-24 19:40:19 UTC (rev 202439)
</span><span class="lines">@@ -27,7 +27,7 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;Timer.h&quot;
</span><span class="cx"> #include &lt;wtf/Deque.h&gt;
</span><del>-#include &lt;wtf/NoncopyableFunction.h&gt;
</del><ins>+#include &lt;wtf/Function.h&gt;
</ins><span class="cx"> #include &lt;wtf/WeakPtr.h&gt;
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="lines">@@ -40,7 +40,7 @@
</span><span class="cx">     {
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    void postTask(NoncopyableFunction&lt;void()&gt;&amp;&amp; f)
</del><ins>+    void postTask(Function&lt;void()&gt;&amp;&amp; f)
</ins><span class="cx">     {
</span><span class="cx">         m_context.postTask(WTFMove(f));
</span><span class="cx">     }
</span><span class="lines">@@ -53,7 +53,7 @@
</span><span class="cx"> class TaskDispatcher&lt;Timer&gt; {
</span><span class="cx"> public:
</span><span class="cx">     TaskDispatcher();
</span><del>-    void postTask(NoncopyableFunction&lt;void()&gt;&amp;&amp;);
</del><ins>+    void postTask(Function&lt;void()&gt;&amp;&amp;);
</ins><span class="cx"> 
</span><span class="cx"> private:
</span><span class="cx">     static Timer&amp; sharedTimer();
</span><span class="lines">@@ -63,7 +63,7 @@
</span><span class="cx">     void dispatchOneTask();
</span><span class="cx"> 
</span><span class="cx">     WeakPtrFactory&lt;TaskDispatcher&gt; m_weakPtrFactory;
</span><del>-    Deque&lt;NoncopyableFunction&lt;void()&gt;&gt; m_pendingTasks;
</del><ins>+    Deque&lt;Function&lt;void()&gt;&gt; m_pendingTasks;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> template &lt;typename T&gt;
</span><span class="lines">@@ -81,7 +81,7 @@
</span><span class="cx">     {
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    typedef NoncopyableFunction&lt;void()&gt; TaskFunction;
</del><ins>+    typedef Function&lt;void()&gt; TaskFunction;
</ins><span class="cx"> 
</span><span class="cx">     void enqueueTask(TaskFunction&amp;&amp; task)
</span><span class="cx">     {
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsavfoundationobjcMediaPlayerPrivateMediaStreamAVFObjCh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.h (202438 => 202439)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.h        2016-06-24 19:26:50 UTC (rev 202438)
+++ trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.h        2016-06-24 19:40:19 UTC (rev 202439)
</span><span class="lines">@@ -30,8 +30,8 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;MediaPlayerPrivate.h&quot;
</span><span class="cx"> #include &quot;MediaStreamPrivate.h&quot;
</span><ins>+#include &lt;wtf/Function.h&gt;
</ins><span class="cx"> #include &lt;wtf/MediaTime.h&gt;
</span><del>-#include &lt;wtf/NoncopyableFunction.h&gt;
</del><span class="cx"> #include &lt;wtf/Vector.h&gt;
</span><span class="cx"> #include &lt;wtf/WeakPtr.h&gt;
</span><span class="cx"> 
</span><span class="lines">@@ -143,7 +143,7 @@
</span><span class="cx">     void updateTracks();
</span><span class="cx">     void renderingModeChanged();
</span><span class="cx"> 
</span><del>-    void scheduleDeferredTask(NoncopyableFunction&lt;void ()&gt;&amp;&amp;);
</del><ins>+    void scheduleDeferredTask(Function&lt;void ()&gt;&amp;&amp;);
</ins><span class="cx"> 
</span><span class="cx">     enum DisplayMode {
</span><span class="cx">         None,
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsavfoundationobjcMediaPlayerPrivateMediaStreamAVFObjCmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm (202438 => 202439)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm        2016-06-24 19:26:50 UTC (rev 202438)
+++ trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm        2016-06-24 19:40:19 UTC (rev 202439)
</span><span class="lines">@@ -624,7 +624,7 @@
</span><span class="cx">     m_player-&gt;networkStateChanged();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void MediaPlayerPrivateMediaStreamAVFObjC::scheduleDeferredTask(NoncopyableFunction&lt;void ()&gt;&amp;&amp; function)
</del><ins>+void MediaPlayerPrivateMediaStreamAVFObjC::scheduleDeferredTask(Function&lt;void ()&gt;&amp;&amp; function)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(function);
</span><span class="cx">     callOnMainThread([weakThis = createWeakPtr(), function = WTFMove(function)] {
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformmediastreamMediaStreamPrivatecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/mediastream/MediaStreamPrivate.cpp (202438 => 202439)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/mediastream/MediaStreamPrivate.cpp        2016-06-24 19:26:50 UTC (rev 202438)
+++ trunk/Source/WebCore/platform/mediastream/MediaStreamPrivate.cpp        2016-06-24 19:40:19 UTC (rev 202439)
</span><span class="lines">@@ -299,7 +299,7 @@
</span><span class="cx">     });
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void MediaStreamPrivate::scheduleDeferredTask(NoncopyableFunction&lt;void ()&gt;&amp;&amp; function)
</del><ins>+void MediaStreamPrivate::scheduleDeferredTask(Function&lt;void ()&gt;&amp;&amp; function)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(function);
</span><span class="cx">     callOnMainThread([weakThis = createWeakPtr(), function = WTFMove(function)] {
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformmediastreamMediaStreamPrivateh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/mediastream/MediaStreamPrivate.h (202438 => 202439)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/mediastream/MediaStreamPrivate.h        2016-06-24 19:26:50 UTC (rev 202438)
+++ trunk/Source/WebCore/platform/mediastream/MediaStreamPrivate.h        2016-06-24 19:40:19 UTC (rev 202439)
</span><span class="lines">@@ -39,9 +39,9 @@
</span><span class="cx"> #include &quot;FloatSize.h&quot;
</span><span class="cx"> #include &quot;MediaStreamTrack.h&quot;
</span><span class="cx"> #include &quot;MediaStreamTrackPrivate.h&quot;
</span><ins>+#include &lt;wtf/Function.h&gt;
</ins><span class="cx"> #include &lt;wtf/HashMap.h&gt;
</span><span class="cx"> #include &lt;wtf/MediaTime.h&gt;
</span><del>-#include &lt;wtf/NoncopyableFunction.h&gt;
</del><span class="cx"> #include &lt;wtf/RefCounted.h&gt;
</span><span class="cx"> #include &lt;wtf/RefPtr.h&gt;
</span><span class="cx"> #include &lt;wtf/Vector.h&gt;
</span><span class="lines">@@ -112,7 +112,7 @@
</span><span class="cx">     void characteristicsChanged();
</span><span class="cx">     void updateActiveVideoTrack();
</span><span class="cx"> 
</span><del>-    void scheduleDeferredTask(NoncopyableFunction&lt;void ()&gt;&amp;&amp;);
</del><ins>+    void scheduleDeferredTask(Function&lt;void ()&gt;&amp;&amp;);
</ins><span class="cx"> 
</span><span class="cx">     WeakPtrFactory&lt;MediaStreamPrivate&gt; m_weakPtrFactory;
</span><span class="cx">     Vector&lt;Observer*&gt; m_observers;
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformmediastreammacAVMediaCaptureSourceh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/mediastream/mac/AVMediaCaptureSource.h (202438 => 202439)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/mediastream/mac/AVMediaCaptureSource.h        2016-06-24 19:26:50 UTC (rev 202438)
+++ trunk/Source/WebCore/platform/mediastream/mac/AVMediaCaptureSource.h        2016-06-24 19:40:19 UTC (rev 202439)
</span><span class="lines">@@ -31,7 +31,7 @@
</span><span class="cx"> #include &quot;GenericTaskQueue.h&quot;
</span><span class="cx"> #include &quot;RealtimeMediaSource.h&quot;
</span><span class="cx"> #include &quot;Timer.h&quot;
</span><del>-#include &lt;wtf/NoncopyableFunction.h&gt;
</del><ins>+#include &lt;wtf/Function.h&gt;
</ins><span class="cx"> #include &lt;wtf/RetainPtr.h&gt;
</span><span class="cx"> #include &lt;wtf/WeakPtr.h&gt;
</span><span class="cx"> 
</span><span class="lines">@@ -86,7 +86,7 @@
</span><span class="cx">     void setVideoSampleBufferDelegate(AVCaptureVideoDataOutput*);
</span><span class="cx">     void setAudioSampleBufferDelegate(AVCaptureAudioDataOutput*);
</span><span class="cx"> 
</span><del>-    void scheduleDeferredTask(NoncopyableFunction&lt;void ()&gt;&amp;&amp;);
</del><ins>+    void scheduleDeferredTask(Function&lt;void ()&gt;&amp;&amp;);
</ins><span class="cx"> 
</span><span class="cx"> private:
</span><span class="cx">     void setupSession();
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformmediastreammacAVMediaCaptureSourcemm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/mediastream/mac/AVMediaCaptureSource.mm (202438 => 202439)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/mediastream/mac/AVMediaCaptureSource.mm        2016-06-24 19:26:50 UTC (rev 202438)
+++ trunk/Source/WebCore/platform/mediastream/mac/AVMediaCaptureSource.mm        2016-06-24 19:40:19 UTC (rev 202439)
</span><span class="lines">@@ -240,7 +240,7 @@
</span><span class="cx">     [audioOutput setSampleBufferDelegate:m_objcObserver.get() queue:globaAudioCaptureSerialQueue()];
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void AVMediaCaptureSource::scheduleDeferredTask(NoncopyableFunction&lt;void ()&gt;&amp;&amp; function)
</del><ins>+void AVMediaCaptureSource::scheduleDeferredTask(Function&lt;void ()&gt;&amp;&amp; function)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(function);
</span><span class="cx">     callOnMainThread([weakThis = createWeakPtr(), function = WTFMove(function)] {
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformnetworkBlobRegistryh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/network/BlobRegistry.h (202438 => 202439)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/network/BlobRegistry.h        2016-06-24 19:26:50 UTC (rev 202438)
+++ trunk/Source/WebCore/platform/network/BlobRegistry.h        2016-06-24 19:40:19 UTC (rev 202439)
</span><span class="lines">@@ -32,7 +32,7 @@
</span><span class="cx"> 
</span><span class="cx"> #include &lt;functional&gt;
</span><span class="cx"> #include &lt;wtf/Forward.h&gt;
</span><del>-#include &lt;wtf/NoncopyableFunction.h&gt;
</del><ins>+#include &lt;wtf/Function.h&gt;
</ins><span class="cx"> #include &lt;wtf/Vector.h&gt;
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="lines">@@ -67,7 +67,7 @@
</span><span class="cx"> 
</span><span class="cx">     virtual unsigned long long blobSize(const URL&amp;) = 0;
</span><span class="cx"> 
</span><del>-    virtual void writeBlobsToTemporaryFiles(const Vector&lt;String&gt;&amp; blobURLs, NoncopyableFunction&lt;void (const Vector&lt;String&gt;&amp; filePaths)&gt;&amp;&amp; completionHandler) = 0;
</del><ins>+    virtual void writeBlobsToTemporaryFiles(const Vector&lt;String&gt;&amp; blobURLs, Function&lt;void (const Vector&lt;String&gt;&amp; filePaths)&gt;&amp;&amp; completionHandler) = 0;
</ins><span class="cx"> 
</span><span class="cx">     virtual bool isBlobRegistryImpl() const { return false; }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformnetworkBlobRegistryImplcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/network/BlobRegistryImpl.cpp (202438 => 202439)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/network/BlobRegistryImpl.cpp        2016-06-24 19:26:50 UTC (rev 202438)
+++ trunk/Source/WebCore/platform/network/BlobRegistryImpl.cpp        2016-06-24 19:40:19 UTC (rev 202439)
</span><span class="lines">@@ -252,7 +252,7 @@
</span><span class="cx">     Vector&lt;std::pair&lt;String, ThreadSafeDataBuffer&gt;&gt; filePathsOrDataBuffers;
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-void BlobRegistryImpl::writeBlobsToTemporaryFiles(const Vector&lt;String&gt;&amp; blobURLs, NoncopyableFunction&lt;void (const Vector&lt;String&gt;&amp; filePaths)&gt;&amp;&amp; completionHandler)
</del><ins>+void BlobRegistryImpl::writeBlobsToTemporaryFiles(const Vector&lt;String&gt;&amp; blobURLs, Function&lt;void (const Vector&lt;String&gt;&amp; filePaths)&gt;&amp;&amp; completionHandler)
</ins><span class="cx"> {
</span><span class="cx">     Vector&lt;BlobForFileWriting&gt; blobsForWriting;
</span><span class="cx">     for (auto&amp; url : blobURLs) {
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformnetworkBlobRegistryImplh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/network/BlobRegistryImpl.h (202438 => 202439)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/network/BlobRegistryImpl.h        2016-06-24 19:26:50 UTC (rev 202438)
+++ trunk/Source/WebCore/platform/network/BlobRegistryImpl.h        2016-06-24 19:40:19 UTC (rev 202439)
</span><span class="lines">@@ -67,7 +67,7 @@
</span><span class="cx"> 
</span><span class="cx">     unsigned long long blobSize(const URL&amp;) override;
</span><span class="cx"> 
</span><del>-    void writeBlobsToTemporaryFiles(const Vector&lt;String&gt;&amp; blobURLs, NoncopyableFunction&lt;void (const Vector&lt;String&gt;&amp; filePaths)&gt;&amp;&amp; completionHandler) override;
</del><ins>+    void writeBlobsToTemporaryFiles(const Vector&lt;String&gt;&amp; blobURLs, Function&lt;void (const Vector&lt;String&gt;&amp; filePaths)&gt;&amp;&amp; completionHandler) override;
</ins><span class="cx"> 
</span><span class="cx">     HashMap&lt;String, RefPtr&lt;BlobData&gt;&gt; m_blobs;
</span><span class="cx"> };
</span></span></pre></div>
<a id="trunkSourceWebCorestyleStyleTreeResolvercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/style/StyleTreeResolver.cpp (202438 => 202439)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/style/StyleTreeResolver.cpp        2016-06-24 19:26:50 UTC (rev 202438)
+++ trunk/Source/WebCore/style/StyleTreeResolver.cpp        2016-06-24 19:40:19 UTC (rev 202439)
</span><span class="lines">@@ -532,13 +532,13 @@
</span><span class="cx">     return WTFMove(m_update);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static Vector&lt;NoncopyableFunction&lt;void ()&gt;&gt;&amp; postResolutionCallbackQueue()
</del><ins>+static Vector&lt;Function&lt;void ()&gt;&gt;&amp; postResolutionCallbackQueue()
</ins><span class="cx"> {
</span><del>-    static NeverDestroyed&lt;Vector&lt;NoncopyableFunction&lt;void ()&gt;&gt;&gt; vector;
</del><ins>+    static NeverDestroyed&lt;Vector&lt;Function&lt;void ()&gt;&gt;&gt; vector;
</ins><span class="cx">     return vector;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void queuePostResolutionCallback(NoncopyableFunction&lt;void ()&gt;&amp;&amp; callback)
</del><ins>+void queuePostResolutionCallback(Function&lt;void ()&gt;&amp;&amp; callback)
</ins><span class="cx"> {
</span><span class="cx">     postResolutionCallbackQueue().append(WTFMove(callback));
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCorestyleStyleTreeResolverh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/style/StyleTreeResolver.h (202438 => 202439)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/style/StyleTreeResolver.h        2016-06-24 19:26:50 UTC (rev 202438)
+++ trunk/Source/WebCore/style/StyleTreeResolver.h        2016-06-24 19:40:19 UTC (rev 202439)
</span><span class="lines">@@ -32,9 +32,8 @@
</span><span class="cx"> #include &quot;StyleChange.h&quot;
</span><span class="cx"> #include &quot;StyleSharingResolver.h&quot;
</span><span class="cx"> #include &quot;StyleUpdate.h&quot;
</span><del>-#include &lt;functional&gt;
</del><ins>+#include &lt;wtf/Function.h&gt;
</ins><span class="cx"> #include &lt;wtf/HashMap.h&gt;
</span><del>-#include &lt;wtf/NoncopyableFunction.h&gt;
</del><span class="cx"> #include &lt;wtf/RefPtr.h&gt;
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="lines">@@ -110,7 +109,7 @@
</span><span class="cx">     std::unique_ptr&lt;Update&gt; m_update;
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-void queuePostResolutionCallback(NoncopyableFunction&lt;void ()&gt;&amp;&amp;);
</del><ins>+void queuePostResolutionCallback(Function&lt;void ()&gt;&amp;&amp;);
</ins><span class="cx"> bool postResolutionCallbacksAreSuspended();
</span><span class="cx"> 
</span><span class="cx"> bool isPlaceholderStyle(const RenderStyle&amp;);
</span></span></pre></div>
<a id="trunkSourceWebKitChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/ChangeLog (202438 => 202439)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/ChangeLog        2016-06-24 19:26:50 UTC (rev 202438)
+++ trunk/Source/WebKit/ChangeLog        2016-06-24 19:40:19 UTC (rev 202439)
</span><span class="lines">@@ -1,3 +1,18 @@
</span><ins>+2016-06-21  Anders Carlsson  &lt;andersca@apple.com&gt;
+
+        Rename NoncopyableFunction to Function
+        https://bugs.webkit.org/show_bug.cgi?id=158354
+
+        Reviewed by Chris Dumez.
+
+        * Storage/StorageSyncManager.cpp:
+        (WebCore::StorageSyncManager::dispatch):
+        * Storage/StorageSyncManager.h:
+        * Storage/StorageThread.cpp:
+        (WebCore::StorageThread::dispatch):
+        (WebCore::StorageThread::terminate):
+        * Storage/StorageThread.h:
+
</ins><span class="cx"> 2016-06-22  Anders Carlsson  &lt;andersca@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Move the WebKitLegacy Apple Pay code to the open source repository
</span></span></pre></div>
<a id="trunkSourceWebKitStorageStorageSyncManagercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/Storage/StorageSyncManager.cpp (202438 => 202439)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/Storage/StorageSyncManager.cpp        2016-06-24 19:26:50 UTC (rev 202438)
+++ trunk/Source/WebKit/Storage/StorageSyncManager.cpp        2016-06-24 19:40:19 UTC (rev 202439)
</span><span class="lines">@@ -63,7 +63,7 @@
</span><span class="cx">     return pathByAppendingComponent(m_path, databaseIdentifier + &quot;.localstorage&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void StorageSyncManager::dispatch(NoncopyableFunction&lt;void ()&gt;&amp;&amp; function)
</del><ins>+void StorageSyncManager::dispatch(Function&lt;void ()&gt;&amp;&amp; function)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(isMainThread());
</span><span class="cx">     ASSERT(m_thread);
</span></span></pre></div>
<a id="trunkSourceWebKitStorageStorageSyncManagerh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/Storage/StorageSyncManager.h (202438 => 202439)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/Storage/StorageSyncManager.h        2016-06-24 19:26:50 UTC (rev 202438)
+++ trunk/Source/WebKit/Storage/StorageSyncManager.h        2016-06-24 19:40:19 UTC (rev 202439)
</span><span class="lines">@@ -28,7 +28,7 @@
</span><span class="cx"> 
</span><span class="cx"> #include &lt;functional&gt;
</span><span class="cx"> #include &lt;wtf/Forward.h&gt;
</span><del>-#include &lt;wtf/NoncopyableFunction.h&gt;
</del><ins>+#include &lt;wtf/Function.h&gt;
</ins><span class="cx"> #include &lt;wtf/PassRefPtr.h&gt;
</span><span class="cx"> #include &lt;wtf/RefCounted.h&gt;
</span><span class="cx"> #include &lt;wtf/text/WTFString.h&gt;
</span><span class="lines">@@ -43,7 +43,7 @@
</span><span class="cx">     static Ref&lt;StorageSyncManager&gt; create(const String&amp; path);
</span><span class="cx">     ~StorageSyncManager();
</span><span class="cx"> 
</span><del>-    void dispatch(NoncopyableFunction&lt;void ()&gt;&amp;&amp;);
</del><ins>+    void dispatch(Function&lt;void ()&gt;&amp;&amp;);
</ins><span class="cx">     void close();
</span><span class="cx"> 
</span><span class="cx"> private:
</span></span></pre></div>
<a id="trunkSourceWebKitStorageStorageThreadcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/Storage/StorageThread.cpp (202438 => 202439)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/Storage/StorageThread.cpp        2016-06-24 19:26:50 UTC (rev 202438)
+++ trunk/Source/WebKit/Storage/StorageThread.cpp        2016-06-24 19:40:19 UTC (rev 202439)
</span><span class="lines">@@ -74,11 +74,11 @@
</span><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void StorageThread::dispatch(NoncopyableFunction&lt;void ()&gt;&amp;&amp; function)
</del><ins>+void StorageThread::dispatch(Function&lt;void ()&gt;&amp;&amp; function)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(isMainThread());
</span><span class="cx">     ASSERT(!m_queue.killed() &amp;&amp; m_threadID);
</span><del>-    m_queue.append(std::make_unique&lt;NoncopyableFunction&lt;void ()&gt;&gt;(WTFMove(function)));
</del><ins>+    m_queue.append(std::make_unique&lt;Function&lt;void ()&gt;&gt;(WTFMove(function)));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void StorageThread::terminate()
</span><span class="lines">@@ -90,7 +90,7 @@
</span><span class="cx">     if (!m_threadID)
</span><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    m_queue.append(std::make_unique&lt;NoncopyableFunction&lt;void ()&gt;&gt;([this] {
</del><ins>+    m_queue.append(std::make_unique&lt;Function&lt;void ()&gt;&gt;([this] {
</ins><span class="cx">         performTerminate();
</span><span class="cx">     }));
</span><span class="cx">     waitForThreadCompletion(m_threadID);
</span></span></pre></div>
<a id="trunkSourceWebKitStorageStorageThreadh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/Storage/StorageThread.h (202438 => 202439)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/Storage/StorageThread.h        2016-06-24 19:26:50 UTC (rev 202438)
+++ trunk/Source/WebKit/Storage/StorageThread.h        2016-06-24 19:40:19 UTC (rev 202439)
</span><span class="lines">@@ -26,10 +26,9 @@
</span><span class="cx"> #ifndef StorageThread_h
</span><span class="cx"> #define StorageThread_h
</span><span class="cx"> 
</span><del>-#include &lt;functional&gt;
</del><ins>+#include &lt;wtf/Function.h&gt;
</ins><span class="cx"> #include &lt;wtf/HashSet.h&gt;
</span><span class="cx"> #include &lt;wtf/MessageQueue.h&gt;
</span><del>-#include &lt;wtf/NoncopyableFunction.h&gt;
</del><span class="cx"> #include &lt;wtf/Threading.h&gt;
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="lines">@@ -46,7 +45,7 @@
</span><span class="cx">     bool start();
</span><span class="cx">     void terminate();
</span><span class="cx"> 
</span><del>-    void dispatch(NoncopyableFunction&lt;void ()&gt;&amp;&amp;);
</del><ins>+    void dispatch(Function&lt;void ()&gt;&amp;&amp;);
</ins><span class="cx"> 
</span><span class="cx">     static void releaseFastMallocFreeMemoryInAllThreads();
</span><span class="cx"> 
</span><span class="lines">@@ -59,7 +58,7 @@
</span><span class="cx">     void performTerminate();
</span><span class="cx"> 
</span><span class="cx">     ThreadIdentifier m_threadID;
</span><del>-    MessageQueue&lt;NoncopyableFunction&lt;void ()&gt;&gt; m_queue;
</del><ins>+    MessageQueue&lt;Function&lt;void ()&gt;&gt; m_queue;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="trunkSourceWebKit2ChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/ChangeLog (202438 => 202439)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/ChangeLog        2016-06-24 19:26:50 UTC (rev 202438)
+++ trunk/Source/WebKit2/ChangeLog        2016-06-24 19:40:19 UTC (rev 202439)
</span><span class="lines">@@ -1,3 +1,22 @@
</span><ins>+2016-06-21  Anders Carlsson  &lt;andersca@apple.com&gt;
+
+        Rename NoncopyableFunction to Function
+        https://bugs.webkit.org/show_bug.cgi?id=158354
+
+        Reviewed by Chris Dumez.
+
+        * NetworkProcess/NetworkProcess.cpp:
+        (WebKit::fetchDiskCacheEntries):
+        (WebKit::NetworkProcess::fetchWebsiteData):
+        (WebKit::clearDiskCacheEntries):
+        * NetworkProcess/NetworkProcess.h:
+        * NetworkProcess/cache/NetworkCache.cpp:
+        (WebKit::NetworkCache::Cache::traverse):
+        * NetworkProcess/cache/NetworkCache.h:
+        * NetworkProcess/cache/NetworkCacheIOChannelSoup.cpp:
+        (WebKit::NetworkCache::runTaskInQueue):
+        * NetworkProcess/cache/NetworkCacheStorage.h:
+
</ins><span class="cx"> 2016-06-22  Anders Carlsson  &lt;andersca@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Move WebKit2 Apple Pay code to the open source repository
</span></span></pre></div>
<a id="trunkSourceWebKit2NetworkProcessFileAPINetworkBlobRegistrycpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/NetworkProcess/FileAPI/NetworkBlobRegistry.cpp (202438 => 202439)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/NetworkProcess/FileAPI/NetworkBlobRegistry.cpp        2016-06-24 19:26:50 UTC (rev 202438)
+++ trunk/Source/WebKit2/NetworkProcess/FileAPI/NetworkBlobRegistry.cpp        2016-06-24 19:40:19 UTC (rev 202439)
</span><span class="lines">@@ -132,7 +132,7 @@
</span><span class="cx">     return blobRegistry().blobSize(url);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void NetworkBlobRegistry::writeBlobsToTemporaryFiles(const Vector&lt;String&gt;&amp; blobURLs, NoncopyableFunction&lt;void(const Vector&lt;String&gt;&amp;)&gt;&amp;&amp; completionHandler)
</del><ins>+void NetworkBlobRegistry::writeBlobsToTemporaryFiles(const Vector&lt;String&gt;&amp; blobURLs, Function&lt;void(const Vector&lt;String&gt;&amp;)&gt;&amp;&amp; completionHandler)
</ins><span class="cx"> {
</span><span class="cx">     blobRegistry().writeBlobsToTemporaryFiles(blobURLs, WTFMove(completionHandler));
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebKit2NetworkProcessFileAPINetworkBlobRegistryh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/NetworkProcess/FileAPI/NetworkBlobRegistry.h (202438 => 202439)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/NetworkProcess/FileAPI/NetworkBlobRegistry.h        2016-06-24 19:26:50 UTC (rev 202438)
+++ trunk/Source/WebKit2/NetworkProcess/FileAPI/NetworkBlobRegistry.h        2016-06-24 19:40:19 UTC (rev 202439)
</span><span class="lines">@@ -27,10 +27,9 @@
</span><span class="cx"> #define NetworkBlobRegistry_h
</span><span class="cx"> 
</span><span class="cx"> #include &lt;WebCore/URLHash.h&gt;
</span><del>-#include &lt;functional&gt;
</del><ins>+#include &lt;wtf/Function.h&gt;
</ins><span class="cx"> #include &lt;wtf/HashMap.h&gt;
</span><span class="cx"> #include &lt;wtf/HashSet.h&gt;
</span><del>-#include &lt;wtf/NoncopyableFunction.h&gt;
</del><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> class BlobDataFileReference;
</span><span class="lines">@@ -55,7 +54,7 @@
</span><span class="cx">     void registerBlobURLForSlice(NetworkConnectionToWebProcess*, const WebCore::URL&amp;, const WebCore::URL&amp; srcURL, int64_t start, int64_t end);
</span><span class="cx">     void unregisterBlobURL(NetworkConnectionToWebProcess*, const WebCore::URL&amp;);
</span><span class="cx">     uint64_t blobSize(NetworkConnectionToWebProcess*, const WebCore::URL&amp;);
</span><del>-    void writeBlobsToTemporaryFiles(const Vector&lt;String&gt;&amp; blobURLs, NoncopyableFunction&lt;void(const Vector&lt;String&gt;&amp;)&gt;&amp;&amp; completionHandler);
</del><ins>+    void writeBlobsToTemporaryFiles(const Vector&lt;String&gt;&amp; blobURLs, Function&lt;void (const Vector&lt;String&gt;&amp;)&gt;&amp;&amp; completionHandler);
</ins><span class="cx"> 
</span><span class="cx">     void connectionToWebProcessDidClose(NetworkConnectionToWebProcess*);
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebKit2NetworkProcessNetworkDataTaskh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/NetworkProcess/NetworkDataTask.h (202438 => 202439)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/NetworkProcess/NetworkDataTask.h        2016-06-24 19:26:50 UTC (rev 202438)
+++ trunk/Source/WebKit2/NetworkProcess/NetworkDataTask.h        2016-06-24 19:40:19 UTC (rev 202439)
</span><span class="lines">@@ -33,7 +33,7 @@
</span><span class="cx"> #include &lt;WebCore/ResourceLoaderOptions.h&gt;
</span><span class="cx"> #include &lt;WebCore/ResourceRequest.h&gt;
</span><span class="cx"> #include &lt;WebCore/Timer.h&gt;
</span><del>-#include &lt;wtf/NoncopyableFunction.h&gt;
</del><ins>+#include &lt;wtf/Function.h&gt;
</ins><span class="cx"> #include &lt;wtf/RetainPtr.h&gt;
</span><span class="cx"> #include &lt;wtf/text/WTFString.h&gt;
</span><span class="cx"> 
</span><span class="lines">@@ -63,9 +63,9 @@
</span><span class="cx">     RejectProtectionSpace
</span><span class="cx"> };
</span><span class="cx">     
</span><del>-typedef NoncopyableFunction&lt;void(const WebCore::ResourceRequest&amp;)&gt; RedirectCompletionHandler;
-typedef NoncopyableFunction&lt;void(AuthenticationChallengeDisposition, const WebCore::Credential&amp;)&gt; ChallengeCompletionHandler;
-typedef NoncopyableFunction&lt;void(WebCore::PolicyAction)&gt; ResponseCompletionHandler;
</del><ins>+typedef Function&lt;void(const WebCore::ResourceRequest&amp;)&gt; RedirectCompletionHandler;
+typedef Function&lt;void(AuthenticationChallengeDisposition, const WebCore::Credential&amp;)&gt; ChallengeCompletionHandler;
+typedef Function&lt;void(WebCore::PolicyAction)&gt; ResponseCompletionHandler;
</ins><span class="cx"> 
</span><span class="cx"> class NetworkDataTaskClient {
</span><span class="cx"> public:
</span></span></pre></div>
<a id="trunkSourceWebKit2NetworkProcessNetworkProcesscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/NetworkProcess/NetworkProcess.cpp (202438 => 202439)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/NetworkProcess/NetworkProcess.cpp        2016-06-24 19:26:50 UTC (rev 202438)
+++ trunk/Source/WebKit2/NetworkProcess/NetworkProcess.cpp        2016-06-24 19:40:19 UTC (rev 202439)
</span><span class="lines">@@ -293,7 +293,7 @@
</span><span class="cx">     SessionTracker::destroySession(sessionID);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void NetworkProcess::grantSandboxExtensionsToDatabaseProcessForBlobs(const Vector&lt;String&gt;&amp; filenames, NoncopyableFunction&lt;void ()&gt;&amp;&amp; completionHandler)
</del><ins>+void NetworkProcess::grantSandboxExtensionsToDatabaseProcessForBlobs(const Vector&lt;String&gt;&amp; filenames, Function&lt;void ()&gt;&amp;&amp; completionHandler)
</ins><span class="cx"> {
</span><span class="cx">     static uint64_t lastRequestID;
</span><span class="cx"> 
</span><span class="lines">@@ -308,7 +308,7 @@
</span><span class="cx">         handler();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static void fetchDiskCacheEntries(SessionID sessionID, OptionSet&lt;WebsiteDataFetchOption&gt; fetchOptions, NoncopyableFunction&lt;void (Vector&lt;WebsiteData::Entry&gt;)&gt;&amp;&amp; completionHandler)
</del><ins>+static void fetchDiskCacheEntries(SessionID sessionID, OptionSet&lt;WebsiteDataFetchOption&gt; fetchOptions, Function&lt;void (Vector&lt;WebsiteData::Entry&gt;)&gt;&amp;&amp; completionHandler)
</ins><span class="cx"> {
</span><span class="cx"> #if ENABLE(NETWORK_CACHE)
</span><span class="cx">     if (NetworkCache::singleton().isEnabled()) {
</span><span class="lines">@@ -352,7 +352,7 @@
</span><span class="cx"> void NetworkProcess::fetchWebsiteData(SessionID sessionID, OptionSet&lt;WebsiteDataType&gt; websiteDataTypes, OptionSet&lt;WebsiteDataFetchOption&gt; fetchOptions, uint64_t callbackID)
</span><span class="cx"> {
</span><span class="cx">     struct CallbackAggregator final : public RefCounted&lt;CallbackAggregator&gt; {
</span><del>-        explicit CallbackAggregator(NoncopyableFunction&lt;void (WebsiteData)&gt;&amp;&amp; completionHandler)
</del><ins>+        explicit CallbackAggregator(Function&lt;void (WebsiteData)&gt;&amp;&amp; completionHandler)
</ins><span class="cx">             : m_completionHandler(WTFMove(completionHandler))
</span><span class="cx">         {
</span><span class="cx">         }
</span><span class="lines">@@ -366,7 +366,7 @@
</span><span class="cx">             });
</span><span class="cx">         }
</span><span class="cx"> 
</span><del>-        NoncopyableFunction&lt;void (WebsiteData)&gt; m_completionHandler;
</del><ins>+        Function&lt;void (WebsiteData)&gt; m_completionHandler;
</ins><span class="cx">         WebsiteData m_websiteData;
</span><span class="cx">     };
</span><span class="cx"> 
</span><span class="lines">@@ -412,7 +412,7 @@
</span><span class="cx">     completionHandler();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static void clearDiskCacheEntries(const Vector&lt;SecurityOriginData&gt;&amp; origins, NoncopyableFunction&lt;void ()&gt;&amp;&amp; completionHandler)
</del><ins>+static void clearDiskCacheEntries(const Vector&lt;SecurityOriginData&gt;&amp; origins, Function&lt;void ()&gt;&amp;&amp; completionHandler)
</ins><span class="cx"> {
</span><span class="cx"> #if ENABLE(NETWORK_CACHE)
</span><span class="cx">     if (NetworkCache::singleton().isEnabled()) {
</span></span></pre></div>
<a id="trunkSourceWebKit2NetworkProcessNetworkProcessh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/NetworkProcess/NetworkProcess.h (202438 => 202439)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/NetworkProcess/NetworkProcess.h        2016-06-24 19:26:50 UTC (rev 202438)
+++ trunk/Source/WebKit2/NetworkProcess/NetworkProcess.h        2016-06-24 19:40:19 UTC (rev 202439)
</span><span class="lines">@@ -35,8 +35,8 @@
</span><span class="cx"> #include &lt;WebCore/SessionID.h&gt;
</span><span class="cx"> #include &lt;memory&gt;
</span><span class="cx"> #include &lt;wtf/Forward.h&gt;
</span><ins>+#include &lt;wtf/Function.h&gt;
</ins><span class="cx"> #include &lt;wtf/NeverDestroyed.h&gt;
</span><del>-#include &lt;wtf/NoncopyableFunction.h&gt;
</del><span class="cx"> #include &lt;wtf/RetainPtr.h&gt;
</span><span class="cx"> 
</span><span class="cx"> #if PLATFORM(IOS)
</span><span class="lines">@@ -113,7 +113,7 @@
</span><span class="cx"> 
</span><span class="cx">     void ensurePrivateBrowsingSession(WebCore::SessionID);
</span><span class="cx"> 
</span><del>-    void grantSandboxExtensionsToDatabaseProcessForBlobs(const Vector&lt;String&gt;&amp; filenames, NoncopyableFunction&lt;void ()&gt;&amp;&amp; completionHandler);
</del><ins>+    void grantSandboxExtensionsToDatabaseProcessForBlobs(const Vector&lt;String&gt;&amp; filenames, Function&lt;void ()&gt;&amp;&amp; completionHandler);
</ins><span class="cx"> 
</span><span class="cx"> private:
</span><span class="cx">     NetworkProcess();
</span><span class="lines">@@ -205,7 +205,7 @@
</span><span class="cx">     typedef HashMap&lt;const char*, std::unique_ptr&lt;NetworkProcessSupplement&gt;, PtrHash&lt;const char*&gt;&gt; NetworkProcessSupplementMap;
</span><span class="cx">     NetworkProcessSupplementMap m_supplements;
</span><span class="cx"> 
</span><del>-    HashMap&lt;uint64_t, NoncopyableFunction&lt;void ()&gt;&gt; m_sandboxExtensionForBlobsCompletionHandlers;
</del><ins>+    HashMap&lt;uint64_t, Function&lt;void ()&gt;&gt; m_sandboxExtensionForBlobsCompletionHandlers;
</ins><span class="cx"> 
</span><span class="cx"> #if PLATFORM(COCOA)
</span><span class="cx">     void platformInitializeNetworkProcessCocoa(const NetworkProcessCreationParameters&amp;);
</span></span></pre></div>
<a id="trunkSourceWebKit2NetworkProcesscacheNetworkCachecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/NetworkProcess/cache/NetworkCache.cpp (202438 => 202439)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/NetworkProcess/cache/NetworkCache.cpp        2016-06-24 19:26:50 UTC (rev 202438)
+++ trunk/Source/WebKit2/NetworkProcess/cache/NetworkCache.cpp        2016-06-24 19:40:19 UTC (rev 202439)
</span><span class="lines">@@ -382,7 +382,7 @@
</span><span class="cx">     });
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-std::unique_ptr&lt;Entry&gt; Cache::store(const WebCore::ResourceRequest&amp; request, const WebCore::ResourceResponse&amp; response, RefPtr&lt;WebCore::SharedBuffer&gt;&amp;&amp; responseData, NoncopyableFunction&lt;void (MappedBody&amp;)&gt;&amp;&amp; completionHandler)
</del><ins>+std::unique_ptr&lt;Entry&gt; Cache::store(const WebCore::ResourceRequest&amp; request, const WebCore::ResourceResponse&amp; response, RefPtr&lt;WebCore::SharedBuffer&gt;&amp;&amp; responseData, Function&lt;void (MappedBody&amp;)&gt;&amp;&amp; completionHandler)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(isEnabled());
</span><span class="cx">     ASSERT(responseData);
</span><span class="lines">@@ -480,7 +480,7 @@
</span><span class="cx">     remove(makeCacheKey(request));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void Cache::traverse(NoncopyableFunction&lt;void (const TraversalEntry*)&gt;&amp;&amp; traverseHandler)
</del><ins>+void Cache::traverse(Function&lt;void (const TraversalEntry*)&gt;&amp;&amp; traverseHandler)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(isEnabled());
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebKit2NetworkProcesscacheNetworkCacheh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/NetworkProcess/cache/NetworkCache.h (202438 => 202439)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/NetworkProcess/cache/NetworkCache.h        2016-06-24 19:26:50 UTC (rev 202438)
+++ trunk/Source/WebKit2/NetworkProcess/cache/NetworkCache.h        2016-06-24 19:40:19 UTC (rev 202439)
</span><span class="lines">@@ -32,7 +32,7 @@
</span><span class="cx"> #include &quot;NetworkCacheStorage.h&quot;
</span><span class="cx"> #include &quot;ShareableResource.h&quot;
</span><span class="cx"> #include &lt;WebCore/ResourceResponse.h&gt;
</span><del>-#include &lt;wtf/NoncopyableFunction.h&gt;
</del><ins>+#include &lt;wtf/Function.h&gt;
</ins><span class="cx"> #include &lt;wtf/text/WTFString.h&gt;
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="lines">@@ -106,7 +106,7 @@
</span><span class="cx"> 
</span><span class="cx">     // Completion handler may get called back synchronously on failure.
</span><span class="cx">     void retrieve(const WebCore::ResourceRequest&amp;, const GlobalFrameID&amp;, std::function&lt;void (std::unique_ptr&lt;Entry&gt;)&gt;&amp;&amp;);
</span><del>-    std::unique_ptr&lt;Entry&gt; store(const WebCore::ResourceRequest&amp;, const WebCore::ResourceResponse&amp;, RefPtr&lt;WebCore::SharedBuffer&gt;&amp;&amp;, NoncopyableFunction&lt;void (MappedBody&amp;)&gt;&amp;&amp;);
</del><ins>+    std::unique_ptr&lt;Entry&gt; store(const WebCore::ResourceRequest&amp;, const WebCore::ResourceResponse&amp;, RefPtr&lt;WebCore::SharedBuffer&gt;&amp;&amp;, Function&lt;void (MappedBody&amp;)&gt;&amp;&amp;);
</ins><span class="cx">     std::unique_ptr&lt;Entry&gt; storeRedirect(const WebCore::ResourceRequest&amp;, const WebCore::ResourceResponse&amp;, const WebCore::ResourceRequest&amp; redirectRequest);
</span><span class="cx">     std::unique_ptr&lt;Entry&gt; update(const WebCore::ResourceRequest&amp;, const GlobalFrameID&amp;, const Entry&amp;, const WebCore::ResourceResponse&amp; validatingResponse);
</span><span class="cx"> 
</span><span class="lines">@@ -114,7 +114,7 @@
</span><span class="cx">         const Entry&amp; entry;
</span><span class="cx">         const Storage::RecordInfo&amp; recordInfo;
</span><span class="cx">     };
</span><del>-    void traverse(NoncopyableFunction&lt;void (const TraversalEntry*)&gt;&amp;&amp;);
</del><ins>+    void traverse(Function&lt;void (const TraversalEntry*)&gt;&amp;&amp;);
</ins><span class="cx">     void remove(const Key&amp;);
</span><span class="cx">     void remove(const WebCore::ResourceRequest&amp;);
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebKit2NetworkProcesscacheNetworkCacheIOChannelSoupcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/NetworkProcess/cache/NetworkCacheIOChannelSoup.cpp (202438 => 202439)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/NetworkProcess/cache/NetworkCacheIOChannelSoup.cpp        2016-06-24 19:26:50 UTC (rev 202438)
+++ trunk/Source/WebKit2/NetworkProcess/cache/NetworkCacheIOChannelSoup.cpp        2016-06-24 19:40:19 UTC (rev 202439)
</span><span class="lines">@@ -69,7 +69,7 @@
</span><span class="cx">     return adoptRef(*new IOChannel(filePath, type));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline void runTaskInQueue(NoncopyableFunction&lt;void ()&gt;&amp;&amp; task, WorkQueue* queue)
</del><ins>+static inline void runTaskInQueue(Function&lt;void ()&gt;&amp;&amp; task, WorkQueue* queue)
</ins><span class="cx"> {
</span><span class="cx">     if (queue) {
</span><span class="cx">         queue-&gt;dispatch(WTFMove(task));
</span></span></pre></div>
<a id="trunkSourceWebKit2NetworkProcesscacheNetworkCacheStorageh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/NetworkProcess/cache/NetworkCacheStorage.h (202438 => 202439)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/NetworkProcess/cache/NetworkCacheStorage.h        2016-06-24 19:26:50 UTC (rev 202438)
+++ trunk/Source/WebKit2/NetworkProcess/cache/NetworkCacheStorage.h        2016-06-24 19:40:19 UTC (rev 202439)
</span><span class="lines">@@ -34,8 +34,8 @@
</span><span class="cx"> #include &lt;WebCore/Timer.h&gt;
</span><span class="cx"> #include &lt;wtf/BloomFilter.h&gt;
</span><span class="cx"> #include &lt;wtf/Deque.h&gt;
</span><ins>+#include &lt;wtf/Function.h&gt;
</ins><span class="cx"> #include &lt;wtf/HashSet.h&gt;
</span><del>-#include &lt;wtf/NoncopyableFunction.h&gt;
</del><span class="cx"> #include &lt;wtf/Optional.h&gt;
</span><span class="cx"> #include &lt;wtf/WorkQueue.h&gt;
</span><span class="cx"> #include &lt;wtf/text/WTFString.h&gt;
</span><span class="lines">@@ -62,7 +62,7 @@
</span><span class="cx">     typedef std::function&lt;bool (std::unique_ptr&lt;Record&gt;)&gt; RetrieveCompletionHandler;
</span><span class="cx">     void retrieve(const Key&amp;, unsigned priority, RetrieveCompletionHandler&amp;&amp;);
</span><span class="cx"> 
</span><del>-    typedef NoncopyableFunction&lt;void (const Data&amp; mappedBody)&gt; MappedBodyHandler;
</del><ins>+    typedef Function&lt;void (const Data&amp; mappedBody)&gt; MappedBodyHandler;
</ins><span class="cx">     void store(const Record&amp;, MappedBodyHandler&amp;&amp;);
</span><span class="cx"> 
</span><span class="cx">     void remove(const Key&amp;);
</span><span class="lines">@@ -79,7 +79,7 @@
</span><span class="cx">         ShareCount = 1 &lt;&lt; 1,
</span><span class="cx">     };
</span><span class="cx">     typedef unsigned TraverseFlags;
</span><del>-    typedef NoncopyableFunction&lt;void (const Record*, const RecordInfo&amp;)&gt; TraverseHandler;
</del><ins>+    typedef Function&lt;void (const Record*, const RecordInfo&amp;)&gt; TraverseHandler;
</ins><span class="cx">     // Null record signals end.
</span><span class="cx">     void traverse(const String&amp; type, TraverseFlags, TraverseHandler&amp;&amp;);
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessFileAPIBlobRegistryProxycpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/FileAPI/BlobRegistryProxy.cpp (202438 => 202439)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/FileAPI/BlobRegistryProxy.cpp        2016-06-24 19:26:50 UTC (rev 202438)
+++ trunk/Source/WebKit2/WebProcess/FileAPI/BlobRegistryProxy.cpp        2016-06-24 19:40:19 UTC (rev 202439)
</span><span class="lines">@@ -81,7 +81,7 @@
</span><span class="cx">     return resultSize;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void BlobRegistryProxy::writeBlobsToTemporaryFiles(const Vector&lt;String&gt;&amp; blobURLs, NoncopyableFunction&lt;void (const Vector&lt;String&gt;&amp; filePaths)&gt;&amp;&amp; completionHandler)
</del><ins>+void BlobRegistryProxy::writeBlobsToTemporaryFiles(const Vector&lt;String&gt;&amp; blobURLs, Function&lt;void (const Vector&lt;String&gt;&amp; filePaths)&gt;&amp;&amp; completionHandler)
</ins><span class="cx"> {
</span><span class="cx">     WebProcess::singleton().networkConnection()-&gt;writeBlobsToTemporaryFiles(blobURLs, WTFMove(completionHandler));
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessFileAPIBlobRegistryProxyh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/FileAPI/BlobRegistryProxy.h (202438 => 202439)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/FileAPI/BlobRegistryProxy.h        2016-06-24 19:26:50 UTC (rev 202438)
+++ trunk/Source/WebKit2/WebProcess/FileAPI/BlobRegistryProxy.h        2016-06-24 19:40:19 UTC (rev 202439)
</span><span class="lines">@@ -39,7 +39,7 @@
</span><span class="cx">     void unregisterBlobURL(const WebCore::URL&amp;) override;
</span><span class="cx">     void registerBlobURLForSlice(const WebCore::URL&amp;, const WebCore::URL&amp; srcURL, long long start, long long end) override;
</span><span class="cx">     unsigned long long blobSize(const WebCore::URL&amp;) override;
</span><del>-    void writeBlobsToTemporaryFiles(const Vector&lt;String&gt;&amp; blobURLs, NoncopyableFunction&lt;void (const Vector&lt;String&gt;&amp; filePaths)&gt;&amp;&amp; completionHandler) override;
</del><ins>+    void writeBlobsToTemporaryFiles(const Vector&lt;String&gt;&amp; blobURLs, Function&lt;void (const Vector&lt;String&gt;&amp; filePaths)&gt;&amp;&amp; completionHandler) override;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessNetworkNetworkProcessConnectioncpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/Network/NetworkProcessConnection.cpp (202438 => 202439)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/Network/NetworkProcessConnection.cpp        2016-06-24 19:26:50 UTC (rev 202438)
+++ trunk/Source/WebKit2/WebProcess/Network/NetworkProcessConnection.cpp        2016-06-24 19:40:19 UTC (rev 202439)
</span><span class="lines">@@ -85,7 +85,7 @@
</span><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void NetworkProcessConnection::writeBlobsToTemporaryFiles(const Vector&lt;String&gt;&amp; blobURLs, NoncopyableFunction&lt;void (const Vector&lt;String&gt;&amp; filePaths)&gt;&amp;&amp; completionHandler)
</del><ins>+void NetworkProcessConnection::writeBlobsToTemporaryFiles(const Vector&lt;String&gt;&amp; blobURLs, Function&lt;void (const Vector&lt;String&gt;&amp; filePaths)&gt;&amp;&amp; completionHandler)
</ins><span class="cx"> {
</span><span class="cx">     static uint64_t writeBlobToFileIdentifier;
</span><span class="cx">     uint64_t requestIdentifier = ++writeBlobToFileIdentifier;
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessNetworkNetworkProcessConnectionh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/Network/NetworkProcessConnection.h (202438 => 202439)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/Network/NetworkProcessConnection.h        2016-06-24 19:26:50 UTC (rev 202438)
+++ trunk/Source/WebKit2/WebProcess/Network/NetworkProcessConnection.h        2016-06-24 19:40:19 UTC (rev 202439)
</span><span class="lines">@@ -58,7 +58,7 @@
</span><span class="cx"> 
</span><span class="cx">     void didReceiveNetworkProcessConnectionMessage(IPC::Connection&amp;, IPC::MessageDecoder&amp;);
</span><span class="cx"> 
</span><del>-    void writeBlobsToTemporaryFiles(const Vector&lt;String&gt;&amp; blobURLs, NoncopyableFunction&lt;void (const Vector&lt;String&gt;&amp; filePaths)&gt;&amp;&amp; completionHandler);
</del><ins>+    void writeBlobsToTemporaryFiles(const Vector&lt;String&gt;&amp; blobURLs, Function&lt;void (const Vector&lt;String&gt;&amp; filePaths)&gt;&amp;&amp; completionHandler);
</ins><span class="cx"> 
</span><span class="cx"> private:
</span><span class="cx">     NetworkProcessConnection(IPC::Connection::Identifier);
</span><span class="lines">@@ -81,7 +81,7 @@
</span><span class="cx">     // The connection from the web process to the network process.
</span><span class="cx">     RefPtr&lt;IPC::Connection&gt; m_connection;
</span><span class="cx"> 
</span><del>-    HashMap&lt;uint64_t, NoncopyableFunction&lt;void (const Vector&lt;String&gt;&amp;)&gt;&gt; m_writeBlobToFileCompletionHandlers;
</del><ins>+    HashMap&lt;uint64_t, Function&lt;void (const Vector&lt;String&gt;&amp;)&gt;&gt; m_writeBlobToFileCompletionHandlers;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> } // namespace WebKit
</span></span></pre>
</div>
</div>

</body>
</html>