Title: [149242] trunk/Source/WebCore
Revision
149242
Author
[email protected]
Date
2013-04-27 13:28:30 -0700 (Sat, 27 Apr 2013)

Log Message

Replace uses of StorageTask with StorageThread::dispatch and WTF::bind
https://bugs.webkit.org/show_bug.cgi?id=115309

Reviewed by Andreas Kling.

* storage/StorageTask.cpp:
(WebCore::StorageTask::StorageTask):
(WebCore::StorageTask::performTask):
* storage/StorageTask.h:
* storage/StorageThread.cpp:
(WebCore::StorageThread::terminate):
(WebCore::StorageThread::releaseFastMallocFreeMemoryInAllThreads):
* storage/StorageThread.h:
* storage/StorageTracker.cpp:
(WebCore::StorageTracker::importOriginIdentifiers):
(WebCore::StorageTracker::deleteAllOrigins):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (149241 => 149242)


--- trunk/Source/WebCore/ChangeLog	2013-04-27 19:59:04 UTC (rev 149241)
+++ trunk/Source/WebCore/ChangeLog	2013-04-27 20:28:30 UTC (rev 149242)
@@ -1,5 +1,24 @@
 2013-04-27  Anders Carlsson  <[email protected]>
 
+        Replace uses of StorageTask with StorageThread::dispatch and WTF::bind
+        https://bugs.webkit.org/show_bug.cgi?id=115309
+
+        Reviewed by Andreas Kling.
+
+        * storage/StorageTask.cpp:
+        (WebCore::StorageTask::StorageTask):
+        (WebCore::StorageTask::performTask):
+        * storage/StorageTask.h:
+        * storage/StorageThread.cpp:
+        (WebCore::StorageThread::terminate):
+        (WebCore::StorageThread::releaseFastMallocFreeMemoryInAllThreads):
+        * storage/StorageThread.h:
+        * storage/StorageTracker.cpp:
+        (WebCore::StorageTracker::importOriginIdentifiers):
+        (WebCore::StorageTracker::deleteAllOrigins):
+
+2013-04-27  Anders Carlsson  <[email protected]>
+
         Add StorageThread::dispatch
         https://bugs.webkit.org/show_bug.cgi?id=115308
 

Modified: trunk/Source/WebCore/storage/StorageTask.cpp (149241 => 149242)


--- trunk/Source/WebCore/storage/StorageTask.cpp	2013-04-27 19:59:04 UTC (rev 149241)
+++ trunk/Source/WebCore/storage/StorageTask.cpp	2013-04-27 20:28:30 UTC (rev 149242)
@@ -36,7 +36,6 @@
     : m_type(type)
     , m_function(function)
     , m_area(0)
-    , m_thread(0)
 {
     ASSERT(!m_function.isNull());
     ASSERT(m_type == Dispatch);
@@ -45,33 +44,14 @@
 StorageTask::StorageTask(Type type, StorageAreaSync* area)
     : m_type(type)
     , m_area(area)
-    , m_thread(0)
 {
     ASSERT(m_area);
     ASSERT(m_type == AreaImport || m_type == AreaSync || m_type == DeleteEmptyDatabase);
 }
 
-StorageTask::StorageTask(Type type, StorageThread* thread)
-    : m_type(type)
-    , m_area(0)
-    , m_thread(thread)
-{
-    ASSERT(m_thread);
-    ASSERT(m_type == TerminateThread);
-}
-
-StorageTask::StorageTask(Type type)
-    : m_type(type)
-    , m_area(0)
-    , m_thread(0)
-{
-    ASSERT(m_type == ImportOrigins || m_type == DeleteAllOrigins || m_type == ReleaseFastMallocFreeMemory);
-}
-
 StorageTask::StorageTask(Type type, const String& originIdentifier)
     : m_type(type)
     , m_area(0)
-    , m_thread(0)
     , m_originIdentifier(originIdentifier)
 {
     ASSERT(m_type == DeleteOrigin);
@@ -80,7 +60,6 @@
 StorageTask::StorageTask(Type type, const String& originIdentifier, const String& databaseFilename)
     : m_type(type)
     , m_area(0)
-    , m_thread(0)
     , m_originIdentifier(originIdentifier)
     , m_databaseFilename(databaseFilename)
 {
@@ -106,24 +85,12 @@
         case SetOriginDetails:
             StorageTracker::tracker().syncSetOriginDetails(m_originIdentifier, m_databaseFilename);
             break;
-        case ImportOrigins:
-            StorageTracker::tracker().syncImportOriginIdentifiers();
-            break;
-        case DeleteAllOrigins:
-            StorageTracker::tracker().syncDeleteAllOrigins();
-            break;
         case DeleteOrigin:
             StorageTracker::tracker().syncDeleteOrigin(m_originIdentifier);
             break;
         case DeleteEmptyDatabase:
             m_area->deleteEmptyDatabase();
             break;
-        case ReleaseFastMallocFreeMemory:
-            WTF::releaseFastMallocFreeMemory();
-            break;
-        case TerminateThread:
-            m_thread->performTerminate();
-            break;
     }
 }
 

Modified: trunk/Source/WebCore/storage/StorageTask.h (149241 => 149242)


--- trunk/Source/WebCore/storage/StorageTask.h	2013-04-27 19:59:04 UTC (rev 149241)
+++ trunk/Source/WebCore/storage/StorageTask.h	2013-04-27 20:28:30 UTC (rev 149242)
@@ -34,12 +34,11 @@
 namespace WebCore {
 
     class StorageAreaSync;
-    class StorageThread;
 
     class StorageTask {
         WTF_MAKE_NONCOPYABLE(StorageTask); WTF_MAKE_FAST_ALLOCATED;
     public:
-        enum Type { Dispatch, AreaImport, AreaSync, DeleteEmptyDatabase, SetOriginDetails, ImportOrigins, DeleteAllOrigins, DeleteOrigin, ReleaseFastMallocFreeMemory, TerminateThread };
+        enum Type { Dispatch, AreaImport, AreaSync, DeleteEmptyDatabase, SetOriginDetails, DeleteOrigin };
 
         ~StorageTask();
 
@@ -47,27 +46,20 @@
         static PassOwnPtr<StorageTask> createImport(StorageAreaSync* area) { return adoptPtr(new StorageTask(AreaImport, area)); }
         static PassOwnPtr<StorageTask> createSync(StorageAreaSync* area) { return adoptPtr(new StorageTask(AreaSync, area)); }
         static PassOwnPtr<StorageTask> createDeleteEmptyDatabase(StorageAreaSync* area) { return adoptPtr(new StorageTask(DeleteEmptyDatabase, area)); }
-        static PassOwnPtr<StorageTask> createOriginIdentifiersImport() { return adoptPtr(new StorageTask(ImportOrigins)); }
         static PassOwnPtr<StorageTask> createSetOriginDetails(const String& originIdentifier, const String& databaseFilename) { return adoptPtr(new StorageTask(SetOriginDetails, originIdentifier, databaseFilename)); }
         static PassOwnPtr<StorageTask> createDeleteOrigin(const String& originIdentifier) { return adoptPtr(new StorageTask(DeleteOrigin, originIdentifier)); }
-        static PassOwnPtr<StorageTask> createDeleteAllOrigins() { return adoptPtr(new StorageTask(DeleteAllOrigins)); }
-        static PassOwnPtr<StorageTask> createReleaseFastMallocFreeMemory() { return adoptPtr(new StorageTask(ReleaseFastMallocFreeMemory)); }
-        static PassOwnPtr<StorageTask> createTerminate(StorageThread* thread) { return adoptPtr(new StorageTask(TerminateThread, thread)); }
 
         void performTask();
 
     private:
         StorageTask(Type, const Function<void()>&);
         StorageTask(Type, StorageAreaSync*);
-        StorageTask(Type, StorageThread*);
         StorageTask(Type, const String& originIdentifier);
         StorageTask(Type, const String& originIdentifier, const String& databaseFilename);
-        explicit StorageTask(Type);
 
         Type m_type;
         Function<void ()> m_function;
         StorageAreaSync* m_area;
-        StorageThread* m_thread;
         String m_originIdentifier;
         String m_databaseFilename;
     };

Modified: trunk/Source/WebCore/storage/StorageThread.cpp (149241 => 149242)


--- trunk/Source/WebCore/storage/StorageThread.cpp	2013-04-27 19:59:04 UTC (rev 149241)
+++ trunk/Source/WebCore/storage/StorageThread.cpp	2013-04-27 20:28:30 UTC (rev 149242)
@@ -104,7 +104,7 @@
     if (!m_threadID)
         return;
 
-    m_queue.append(StorageTask::createTerminate(this));
+    m_queue.append(StorageTask::createDispatch(bind(&StorageThread::performTerminate, this)));
     waitForThreadCompletion(m_threadID);
     ASSERT(m_queue.killed());
     m_threadID = 0;
@@ -119,9 +119,9 @@
 void StorageThread::releaseFastMallocFreeMemoryInAllThreads()
 {
     HashSet<StorageThread*>& threads = activeStorageThreads();
-    HashSet<StorageThread*>::iterator end = threads.end();
-    for (HashSet<StorageThread*>::iterator it = threads.begin(); it != end; ++it)
-        (*it)->scheduleTask(StorageTask::createReleaseFastMallocFreeMemory());
+
+    for (HashSet<StorageThread*>::iterator it = threads.begin(), end = threads.end(); it != end; ++it)
+        (*it)->dispatch(bind(WTF::releaseFastMallocFreeMemory));
 }
 
 }

Modified: trunk/Source/WebCore/storage/StorageThread.h (149241 => 149242)


--- trunk/Source/WebCore/storage/StorageThread.h	2013-04-27 19:59:04 UTC (rev 149241)
+++ trunk/Source/WebCore/storage/StorageThread.h	2013-04-27 20:28:30 UTC (rev 149242)
@@ -35,36 +35,36 @@
 
 namespace WebCore {
 
-    class StorageAreaSync;
-    class StorageTask;
+class StorageAreaSync;
+class StorageTask;
 
-    class StorageThread {
-        WTF_MAKE_NONCOPYABLE(StorageThread); WTF_MAKE_FAST_ALLOCATED;
-    public:
-        static PassOwnPtr<StorageThread> create();
-        ~StorageThread();
+class StorageThread {
+    WTF_MAKE_NONCOPYABLE(StorageThread); WTF_MAKE_FAST_ALLOCATED;
+public:
+    static PassOwnPtr<StorageThread> create();
+    ~StorageThread();
 
-        bool start();
-        void terminate();
-        void scheduleTask(PassOwnPtr<StorageTask>);
+    bool start();
+    void terminate();
+    void scheduleTask(PassOwnPtr<StorageTask>);
 
-        void dispatch(const Function<void()>&);
+    void dispatch(const Function<void()>&);
 
-        // Background thread part of the terminate procedure.
-        void performTerminate();
+    static void releaseFastMallocFreeMemoryInAllThreads();
 
-        static void releaseFastMallocFreeMemoryInAllThreads();
+private:
+    StorageThread();
 
-    private:
-        StorageThread();
+    // Called on background thread.
+    static void threadEntryPointCallback(void*);
+    void threadEntryPoint();
 
-        // Called on background thread.
-        static void threadEntryPointCallback(void*);
-        void threadEntryPoint();
+    // Background thread part of the terminate procedure.
+    void performTerminate();
 
-        ThreadIdentifier m_threadID;
-        MessageQueue<StorageTask> m_queue;
-    };
+    ThreadIdentifier m_threadID;
+    MessageQueue<StorageTask> m_queue;
+};
 
 } // namespace WebCore
 

Modified: trunk/Source/WebCore/storage/StorageTracker.cpp (149241 => 149242)


--- trunk/Source/WebCore/storage/StorageTracker.cpp	2013-04-27 19:59:04 UTC (rev 149241)
+++ trunk/Source/WebCore/storage/StorageTracker.cpp	2013-04-27 20:28:30 UTC (rev 149242)
@@ -168,7 +168,7 @@
     ASSERT(isMainThread());
     ASSERT(m_thread);
 
-    m_thread->scheduleTask(StorageTask::createOriginIdentifiersImport());
+    m_thread->dispatch(bind(&StorageTracker::syncImportOriginIdentifiers, this));
 }
 
 void StorageTracker::notifyFinishedImportingOriginIdentifiersOnMainThread(void*)
@@ -387,8 +387,8 @@
     }
 
     PageGroup::clearLocalStorageForAllOrigins();
-    
-    m_thread->scheduleTask(StorageTask::createDeleteAllOrigins());
+
+    m_thread->dispatch(bind(&StorageTracker::syncDeleteAllOrigins, this));
 }
     
 void StorageTracker::syncDeleteAllOrigins()
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to