Title: [201480] trunk/Source/WebKit2
Revision
201480
Author
[email protected]
Date
2016-05-27 21:48:49 -0700 (Fri, 27 May 2016)

Log Message

Improve lambda capture in NetworkCache::Storage::synchronize()
https://bugs.webkit.org/show_bug.cgi?id=158176

Reviewed by Brady Eidson.

Improve lambda capture in NetworkCache::Storage::synchronize(). We can
now capture the std::unique_ptr<> variables directly thanks to:
1. C++14's support for initializer's in lambda captures
2. RunLoop::dispatch() now takes a NoncopyableFunction in instead of
   a std::function, allowing us to capture non-copyable variables.

* NetworkProcess/cache/NetworkCacheStorage.cpp:
(WebKit::NetworkCache::Storage::synchronize):

Modified Paths

Diff

Modified: trunk/Source/WebKit2/ChangeLog (201479 => 201480)


--- trunk/Source/WebKit2/ChangeLog	2016-05-28 04:18:57 UTC (rev 201479)
+++ trunk/Source/WebKit2/ChangeLog	2016-05-28 04:48:49 UTC (rev 201480)
@@ -1,3 +1,19 @@
+2016-05-27  Chris Dumez  <[email protected]>
+
+        Improve lambda capture in NetworkCache::Storage::synchronize()
+        https://bugs.webkit.org/show_bug.cgi?id=158176
+
+        Reviewed by Brady Eidson.
+
+        Improve lambda capture in NetworkCache::Storage::synchronize(). We can
+        now capture the std::unique_ptr<> variables directly thanks to:
+        1. C++14's support for initializer's in lambda captures
+        2. RunLoop::dispatch() now takes a NoncopyableFunction in instead of
+           a std::function, allowing us to capture non-copyable variables.
+
+        * NetworkProcess/cache/NetworkCacheStorage.cpp:
+        (WebKit::NetworkCache::Storage::synchronize):
+
 2016-05-27  Jeremy Jones  <[email protected]>
 
         Decrease flicker when changing video presentation mode.

Modified: trunk/Source/WebKit2/NetworkProcess/cache/NetworkCacheStorage.cpp (201479 => 201480)


--- trunk/Source/WebKit2/NetworkProcess/cache/NetworkCacheStorage.cpp	2016-05-28 04:18:57 UTC (rev 201479)
+++ trunk/Source/WebKit2/NetworkProcess/cache/NetworkCacheStorage.cpp	2016-05-28 04:48:49 UTC (rev 201480)
@@ -278,12 +278,7 @@
             ++count;
         });
 
-        auto* recordFilterPtr = recordFilter.release();
-        auto* blobFilterPtr = blobFilter.release();
-        RunLoop::main().dispatch([this, recordFilterPtr, blobFilterPtr, recordsSize] {
-            auto recordFilter = std::unique_ptr<ContentsFilter>(recordFilterPtr);
-            auto blobFilter = std::unique_ptr<ContentsFilter>(blobFilterPtr);
-
+        RunLoop::main().dispatch([this, recordFilter = WTFMove(recordFilter), blobFilter = WTFMove(blobFilter), recordsSize]() mutable {
             for (auto& recordFilterKey : m_recordFilterHashesAddedDuringSynchronization)
                 recordFilter->add(recordFilterKey);
             m_recordFilterHashesAddedDuringSynchronization.clear();
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to