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

Log Message

Get rid of more uses of StorageTask
https://bugs.webkit.org/show_bug.cgi?id=115311

Reviewed by Dean Jackson.

Make StorageAreaSync derive from ThreadSafeRefCounted as well, since it's passed between threads.

* storage/StorageAreaSync.h:
* storage/StorageSyncManager.cpp:
(WebCore::StorageSyncManager::scheduleImport):
(WebCore::StorageSyncManager::scheduleSync):
(WebCore::StorageSyncManager::scheduleDeleteEmptyDatabase):
* storage/StorageTask.cpp:
(WebCore::StorageTask::StorageTask):
(WebCore::StorageTask::performTask):
* storage/StorageTask.h:
(StorageTask):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (149243 => 149244)


--- trunk/Source/WebCore/ChangeLog	2013-04-27 20:32:28 UTC (rev 149243)
+++ trunk/Source/WebCore/ChangeLog	2013-04-27 20:44:04 UTC (rev 149244)
@@ -1,5 +1,25 @@
 2013-04-27  Anders Carlsson  <[email protected]>
 
+        Get rid of more uses of StorageTask
+        https://bugs.webkit.org/show_bug.cgi?id=115311
+
+        Reviewed by Dean Jackson.
+
+        Make StorageAreaSync derive from ThreadSafeRefCounted as well, since it's passed between threads.
+
+        * storage/StorageAreaSync.h:
+        * storage/StorageSyncManager.cpp:
+        (WebCore::StorageSyncManager::scheduleImport):
+        (WebCore::StorageSyncManager::scheduleSync):
+        (WebCore::StorageSyncManager::scheduleDeleteEmptyDatabase):
+        * storage/StorageTask.cpp:
+        (WebCore::StorageTask::StorageTask):
+        (WebCore::StorageTask::performTask):
+        * storage/StorageTask.h:
+        (StorageTask):
+
+2013-04-27  Anders Carlsson  <[email protected]>
+
         Indent StorageAreaSync to match the style guidelines.
 
         Rubber-stamped by Andreas Kling.

Modified: trunk/Source/WebCore/storage/StorageAreaSync.h (149243 => 149244)


--- trunk/Source/WebCore/storage/StorageAreaSync.h	2013-04-27 20:32:28 UTC (rev 149243)
+++ trunk/Source/WebCore/storage/StorageAreaSync.h	2013-04-27 20:44:04 UTC (rev 149244)
@@ -29,7 +29,6 @@
 #include "SQLiteDatabase.h"
 #include "Timer.h"
 #include <wtf/HashMap.h>
-#include <wtf/RefCounted.h>
 #include <wtf/text/StringHash.h>
 
 namespace WebCore {
@@ -38,7 +37,7 @@
 class StorageAreaImpl;
 class StorageSyncManager;
 
-class StorageAreaSync : public RefCounted<StorageAreaSync> {
+class StorageAreaSync : public ThreadSafeRefCounted<StorageAreaSync> {
 public:
     static PassRefPtr<StorageAreaSync> create(PassRefPtr<StorageSyncManager>, PassRefPtr<StorageAreaImpl>, const String& databaseIdentifier);
     ~StorageAreaSync();

Modified: trunk/Source/WebCore/storage/StorageSyncManager.cpp (149243 => 149244)


--- trunk/Source/WebCore/storage/StorageSyncManager.cpp	2013-04-27 20:32:28 UTC (rev 149243)
+++ trunk/Source/WebCore/storage/StorageSyncManager.cpp	2013-04-27 20:44:04 UTC (rev 149244)
@@ -87,7 +87,7 @@
     ASSERT(isMainThread());
     ASSERT(m_thread);
     if (m_thread)
-        m_thread->scheduleTask(StorageTask::createImport(area.get()));
+        m_thread->dispatch(bind(&StorageAreaSync::performImport, area));
     return m_thread;
 }
 
@@ -96,7 +96,7 @@
     ASSERT(isMainThread());
     ASSERT(m_thread);
     if (m_thread)
-        m_thread->scheduleTask(StorageTask::createSync(area.get()));
+        m_thread->dispatch(bind(&StorageAreaSync::performSync, area));
 }
 
 void StorageSyncManager::scheduleDeleteEmptyDatabase(PassRefPtr<StorageAreaSync> area)
@@ -104,7 +104,7 @@
     ASSERT(isMainThread());
     ASSERT(m_thread);
     if (m_thread)
-        m_thread->scheduleTask(StorageTask::createDeleteEmptyDatabase(area.get()));
+        m_thread->dispatch(bind(&StorageAreaSync::deleteEmptyDatabase, area));
 }
 
 } // namespace WebCore

Modified: trunk/Source/WebCore/storage/StorageTask.cpp (149243 => 149244)


--- trunk/Source/WebCore/storage/StorageTask.cpp	2013-04-27 20:32:28 UTC (rev 149243)
+++ trunk/Source/WebCore/storage/StorageTask.cpp	2013-04-27 20:44:04 UTC (rev 149244)
@@ -35,23 +35,13 @@
 StorageTask::StorageTask(Type type, const Function<void()>& function)
     : m_type(type)
     , m_function(function)
-    , m_area(0)
 {
     ASSERT(!m_function.isNull());
     ASSERT(m_type == Dispatch);
 }
 
-StorageTask::StorageTask(Type type, StorageAreaSync* area)
-    : m_type(type)
-    , m_area(area)
-{
-    ASSERT(m_area);
-    ASSERT(m_type == AreaImport || m_type == AreaSync || m_type == DeleteEmptyDatabase);
-}
-
 StorageTask::StorageTask(Type type, const String& originIdentifier)
     : m_type(type)
-    , m_area(0)
     , m_originIdentifier(originIdentifier)
 {
     ASSERT(m_type == DeleteOrigin);
@@ -59,7 +49,6 @@
 
 StorageTask::StorageTask(Type type, const String& originIdentifier, const String& databaseFilename)
     : m_type(type)
-    , m_area(0)
     , m_originIdentifier(originIdentifier)
     , m_databaseFilename(databaseFilename)
 {
@@ -76,21 +65,12 @@
         case Dispatch:
             m_function();
             break;
-        case AreaImport:
-            m_area->performImport();
-            break;
-        case AreaSync:
-            m_area->performSync();
-            break;
         case SetOriginDetails:
             StorageTracker::tracker().syncSetOriginDetails(m_originIdentifier, m_databaseFilename);
             break;
         case DeleteOrigin:
             StorageTracker::tracker().syncDeleteOrigin(m_originIdentifier);
             break;
-        case DeleteEmptyDatabase:
-            m_area->deleteEmptyDatabase();
-            break;
     }
 }
 

Modified: trunk/Source/WebCore/storage/StorageTask.h (149243 => 149244)


--- trunk/Source/WebCore/storage/StorageTask.h	2013-04-27 20:32:28 UTC (rev 149243)
+++ trunk/Source/WebCore/storage/StorageTask.h	2013-04-27 20:44:04 UTC (rev 149244)
@@ -38,14 +38,11 @@
     class StorageTask {
         WTF_MAKE_NONCOPYABLE(StorageTask); WTF_MAKE_FAST_ALLOCATED;
     public:
-        enum Type { Dispatch, AreaImport, AreaSync, DeleteEmptyDatabase, SetOriginDetails, DeleteOrigin };
+        enum Type { Dispatch, SetOriginDetails, DeleteOrigin };
 
         ~StorageTask();
 
         static PassOwnPtr<StorageTask> createDispatch(const Function<void()>& function) { return adoptPtr(new StorageTask(Dispatch, function)); }
-        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> 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)); }
 
@@ -53,13 +50,11 @@
 
     private:
         StorageTask(Type, const Function<void()>&);
-        StorageTask(Type, StorageAreaSync*);
         StorageTask(Type, const String& originIdentifier);
         StorageTask(Type, const String& originIdentifier, const String& databaseFilename);
 
         Type m_type;
         Function<void ()> m_function;
-        StorageAreaSync* m_area;
         String m_originIdentifier;
         String m_databaseFilename;
     };
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to