OLD | NEW |
---|---|
1 /* | 1 /* |
2 * Copyright (C) 2007, 2013 Apple Inc. All rights reserved. | 2 * Copyright (C) 2007, 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 11 matching lines...) Expand all Loading... | |
22 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; | 22 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; |
23 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND | 23 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND |
24 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | 24 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
25 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF | 25 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF |
26 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 26 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
27 */ | 27 */ |
28 #ifndef SQLStatement_h | 28 #ifndef SQLStatement_h |
29 #define SQLStatement_h | 29 #define SQLStatement_h |
30 | 30 |
31 #include "modules/webdatabase/sqlite/SQLValue.h" | 31 #include "modules/webdatabase/sqlite/SQLValue.h" |
32 #include "modules/webdatabase/AbstractSQLStatement.h" | |
33 #include "modules/webdatabase/SQLCallbackWrapper.h" | 32 #include "modules/webdatabase/SQLCallbackWrapper.h" |
34 #include "modules/webdatabase/SQLResultSet.h" | 33 #include "modules/webdatabase/SQLResultSet.h" |
35 #include "wtf/Forward.h" | 34 #include "wtf/Forward.h" |
36 #include "wtf/text/WTFString.h" | 35 #include "wtf/text/WTFString.h" |
37 | 36 |
38 namespace blink { | 37 namespace blink { |
39 | 38 |
40 class AbstractSQLStatementBackend; | |
41 class Database; | 39 class Database; |
42 class SQLError; | 40 class SQLError; |
41 class SQLStatementBackend; | |
43 class SQLStatementCallback; | 42 class SQLStatementCallback; |
44 class SQLStatementErrorCallback; | 43 class SQLStatementErrorCallback; |
45 class SQLTransaction; | 44 class SQLTransaction; |
46 | 45 |
47 class SQLStatement FINAL : public AbstractSQLStatement { | 46 class SQLStatement FINAL : public NoBaseWillBeGarbageCollectedFinalized<SQLState ment> { |
haraken
2014/09/11 09:22:59
Do we need "Finalized" ?
tkent
2014/09/11 09:39:16
I don't think so. Will address it in another CL.
| |
48 public: | 47 public: |
49 static PassOwnPtrWillBeRawPtr<SQLStatement> create(Database*, | 48 static PassOwnPtrWillBeRawPtr<SQLStatement> create(Database*, |
50 PassOwnPtrWillBeRawPtr<SQLStatementCallback>, PassOwnPtrWillBeRawPtr<SQL StatementErrorCallback>); | 49 PassOwnPtrWillBeRawPtr<SQLStatementCallback>, PassOwnPtrWillBeRawPtr<SQL StatementErrorCallback>); |
51 virtual void trace(Visitor*) OVERRIDE; | 50 ~SQLStatement(); |
51 void trace(Visitor*); | |
52 | 52 |
53 bool performCallback(SQLTransaction*); | 53 bool performCallback(SQLTransaction*); |
54 | 54 |
55 virtual void setBackend(AbstractSQLStatementBackend*) OVERRIDE; | 55 void setBackend(SQLStatementBackend*); |
56 | 56 |
57 virtual bool hasCallback() OVERRIDE; | 57 bool hasCallback(); |
58 virtual bool hasErrorCallback() OVERRIDE; | 58 bool hasErrorCallback(); |
59 | 59 |
60 private: | 60 private: |
61 SQLStatement(Database*, PassOwnPtrWillBeRawPtr<SQLStatementCallback>, PassOw nPtrWillBeRawPtr<SQLStatementErrorCallback>); | 61 SQLStatement(Database*, PassOwnPtrWillBeRawPtr<SQLStatementCallback>, PassOw nPtrWillBeRawPtr<SQLStatementErrorCallback>); |
62 | 62 |
63 // The AbstractSQLStatementBackend owns the SQLStatement. Hence, the backend is | 63 // The SQLStatementBackend owns the SQLStatement. Hence, the backend is |
64 // guaranteed to be outlive the SQLStatement, and it is safe for us to refer | 64 // guaranteed to be outlive the SQLStatement, and it is safe for us to refer |
65 // to the backend using a raw pointer here. | 65 // to the backend using a raw pointer here. |
66 RawPtrWillBeMember<AbstractSQLStatementBackend> m_backend; | 66 RawPtrWillBeMember<SQLStatementBackend> m_backend; |
67 | 67 |
68 SQLCallbackWrapper<SQLStatementCallback> m_statementCallbackWrapper; | 68 SQLCallbackWrapper<SQLStatementCallback> m_statementCallbackWrapper; |
69 SQLCallbackWrapper<SQLStatementErrorCallback> m_statementErrorCallbackWrappe r; | 69 SQLCallbackWrapper<SQLStatementErrorCallback> m_statementErrorCallbackWrappe r; |
70 }; | 70 }; |
71 | 71 |
72 } // namespace blink | 72 } // namespace blink |
73 | 73 |
74 #endif // SQLStatement_h | 74 #endif // SQLStatement_h |
OLD | NEW |