Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(828)

Side by Side Diff: third_party/WebKit/Source/modules/webdatabase/DatabaseTask.h

Issue 2050123002: Remove OwnPtr from Blink. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: First attempt to land. Created 4 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2007, 2008, 2013 Apple Inc. All rights reserved. 2 * Copyright (C) 2007, 2008, 2013 Apple Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions 5 * modification, are permitted provided that the following conditions
6 * are met: 6 * are met:
7 * 7 *
8 * 1. Redistributions of source code must retain the above copyright 8 * 1. Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * 2. Redistributions in binary form must reproduce the above copyright 10 * 2. Redistributions in binary form must reproduce the above copyright
(...skipping 17 matching lines...) Expand all
28 28
29 #ifndef DatabaseTask_h 29 #ifndef DatabaseTask_h
30 #define DatabaseTask_h 30 #define DatabaseTask_h
31 31
32 #include "modules/webdatabase/Database.h" 32 #include "modules/webdatabase/Database.h"
33 #include "modules/webdatabase/DatabaseBasicTypes.h" 33 #include "modules/webdatabase/DatabaseBasicTypes.h"
34 #include "modules/webdatabase/DatabaseError.h" 34 #include "modules/webdatabase/DatabaseError.h"
35 #include "modules/webdatabase/SQLTransactionBackend.h" 35 #include "modules/webdatabase/SQLTransactionBackend.h"
36 #include "platform/TaskSynchronizer.h" 36 #include "platform/TaskSynchronizer.h"
37 #include "platform/heap/Handle.h" 37 #include "platform/heap/Handle.h"
38 #include "wtf/OwnPtr.h" 38 #include "wtf/PtrUtil.h"
39 #include "wtf/PassOwnPtr.h"
40 #include "wtf/Threading.h" 39 #include "wtf/Threading.h"
41 #include "wtf/Vector.h" 40 #include "wtf/Vector.h"
42 #include "wtf/text/WTFString.h" 41 #include "wtf/text/WTFString.h"
42 #include <memory>
43 43
44 namespace blink { 44 namespace blink {
45 45
46 class DatabaseTask { 46 class DatabaseTask {
47 WTF_MAKE_NONCOPYABLE(DatabaseTask); USING_FAST_MALLOC(DatabaseTask); 47 WTF_MAKE_NONCOPYABLE(DatabaseTask); USING_FAST_MALLOC(DatabaseTask);
48 public: 48 public:
49 virtual ~DatabaseTask(); 49 virtual ~DatabaseTask();
50 50
51 void run(); 51 void run();
52 52
(...skipping 13 matching lines...) Expand all
66 TaskSynchronizer* m_synchronizer; 66 TaskSynchronizer* m_synchronizer;
67 67
68 #if !LOG_DISABLED 68 #if !LOG_DISABLED
69 virtual const char* debugTaskName() const = 0; 69 virtual const char* debugTaskName() const = 0;
70 bool m_complete; 70 bool m_complete;
71 #endif 71 #endif
72 }; 72 };
73 73
74 class Database::DatabaseOpenTask final : public DatabaseTask { 74 class Database::DatabaseOpenTask final : public DatabaseTask {
75 public: 75 public:
76 static PassOwnPtr<DatabaseOpenTask> create(Database* db, bool setVersionInNe wDatabase, TaskSynchronizer* synchronizer, DatabaseError& error, String& errorMe ssage, bool& success) 76 static std::unique_ptr<DatabaseOpenTask> create(Database* db, bool setVersio nInNewDatabase, TaskSynchronizer* synchronizer, DatabaseError& error, String& er rorMessage, bool& success)
77 { 77 {
78 return adoptPtr(new DatabaseOpenTask(db, setVersionInNewDatabase, synchr onizer, error, errorMessage, success)); 78 return wrapUnique(new DatabaseOpenTask(db, setVersionInNewDatabase, sync hronizer, error, errorMessage, success));
79 } 79 }
80 80
81 private: 81 private:
82 DatabaseOpenTask(Database*, bool setVersionInNewDatabase, TaskSynchronizer*, DatabaseError&, String& errorMessage, bool& success); 82 DatabaseOpenTask(Database*, bool setVersionInNewDatabase, TaskSynchronizer*, DatabaseError&, String& errorMessage, bool& success);
83 83
84 void doPerformTask() override; 84 void doPerformTask() override;
85 #if !LOG_DISABLED 85 #if !LOG_DISABLED
86 const char* debugTaskName() const override; 86 const char* debugTaskName() const override;
87 #endif 87 #endif
88 88
89 bool m_setVersionInNewDatabase; 89 bool m_setVersionInNewDatabase;
90 DatabaseError& m_error; 90 DatabaseError& m_error;
91 String& m_errorMessage; 91 String& m_errorMessage;
92 bool& m_success; 92 bool& m_success;
93 }; 93 };
94 94
95 class Database::DatabaseCloseTask final : public DatabaseTask { 95 class Database::DatabaseCloseTask final : public DatabaseTask {
96 public: 96 public:
97 static PassOwnPtr<DatabaseCloseTask> create(Database* db, TaskSynchronizer* synchronizer) 97 static std::unique_ptr<DatabaseCloseTask> create(Database* db, TaskSynchroni zer* synchronizer)
98 { 98 {
99 return adoptPtr(new DatabaseCloseTask(db, synchronizer)); 99 return wrapUnique(new DatabaseCloseTask(db, synchronizer));
100 } 100 }
101 101
102 private: 102 private:
103 DatabaseCloseTask(Database*, TaskSynchronizer*); 103 DatabaseCloseTask(Database*, TaskSynchronizer*);
104 104
105 void doPerformTask() override; 105 void doPerformTask() override;
106 #if !LOG_DISABLED 106 #if !LOG_DISABLED
107 const char* debugTaskName() const override; 107 const char* debugTaskName() const override;
108 #endif 108 #endif
109 }; 109 };
110 110
111 class Database::DatabaseTransactionTask final : public DatabaseTask { 111 class Database::DatabaseTransactionTask final : public DatabaseTask {
112 public: 112 public:
113 ~DatabaseTransactionTask() override; 113 ~DatabaseTransactionTask() override;
114 114
115 // Transaction task is never synchronous, so no 'synchronizer' parameter. 115 // Transaction task is never synchronous, so no 'synchronizer' parameter.
116 static PassOwnPtr<DatabaseTransactionTask> create(SQLTransactionBackend* tra nsaction) 116 static std::unique_ptr<DatabaseTransactionTask> create(SQLTransactionBackend * transaction)
117 { 117 {
118 return adoptPtr(new DatabaseTransactionTask(transaction)); 118 return wrapUnique(new DatabaseTransactionTask(transaction));
119 } 119 }
120 120
121 SQLTransactionBackend* transaction() const { return m_transaction.get(); } 121 SQLTransactionBackend* transaction() const { return m_transaction.get(); }
122 122
123 private: 123 private:
124 explicit DatabaseTransactionTask(SQLTransactionBackend*); 124 explicit DatabaseTransactionTask(SQLTransactionBackend*);
125 125
126 void doPerformTask() override; 126 void doPerformTask() override;
127 void taskCancelled() override; 127 void taskCancelled() override;
128 #if !LOG_DISABLED 128 #if !LOG_DISABLED
129 const char* debugTaskName() const override; 129 const char* debugTaskName() const override;
130 #endif 130 #endif
131 131
132 CrossThreadPersistent<SQLTransactionBackend> m_transaction; 132 CrossThreadPersistent<SQLTransactionBackend> m_transaction;
133 }; 133 };
134 134
135 class Database::DatabaseTableNamesTask final : public DatabaseTask { 135 class Database::DatabaseTableNamesTask final : public DatabaseTask {
136 public: 136 public:
137 static PassOwnPtr<DatabaseTableNamesTask> create(Database* db, TaskSynchroni zer* synchronizer, Vector<String>& names) 137 static std::unique_ptr<DatabaseTableNamesTask> create(Database* db, TaskSync hronizer* synchronizer, Vector<String>& names)
138 { 138 {
139 return adoptPtr(new DatabaseTableNamesTask(db, synchronizer, names)); 139 return wrapUnique(new DatabaseTableNamesTask(db, synchronizer, names));
140 } 140 }
141 141
142 private: 142 private:
143 DatabaseTableNamesTask(Database*, TaskSynchronizer*, Vector<String>& names); 143 DatabaseTableNamesTask(Database*, TaskSynchronizer*, Vector<String>& names);
144 144
145 void doPerformTask() override; 145 void doPerformTask() override;
146 #if !LOG_DISABLED 146 #if !LOG_DISABLED
147 const char* debugTaskName() const override; 147 const char* debugTaskName() const override;
148 #endif 148 #endif
149 149
150 Vector<String>& m_tableNames; 150 Vector<String>& m_tableNames;
151 }; 151 };
152 152
153 } // namespace blink 153 } // namespace blink
154 154
155 #endif // DatabaseTask_h 155 #endif // DatabaseTask_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698