OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2010 Google Inc. All rights reserved. | 2 * Copyright (C) 2010 Google 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 133 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
144 virtual bool shouldEnqueueEvent() const; | 144 virtual bool shouldEnqueueEvent() const; |
145 void onSuccessInternal(IDBAny*); | 145 void onSuccessInternal(IDBAny*); |
146 void setResult(IDBAny*); | 146 void setResult(IDBAny*); |
147 | 147 |
148 // EventTarget | 148 // EventTarget |
149 DispatchEventResult dispatchEventInternal(Event*) override; | 149 DispatchEventResult dispatchEventInternal(Event*) override; |
150 | 150 |
151 bool m_contextStopped = false; | 151 bool m_contextStopped = false; |
152 Member<IDBTransaction> m_transaction; | 152 Member<IDBTransaction> m_transaction; |
153 ReadyState m_readyState = PENDING; | 153 ReadyState m_readyState = PENDING; |
154 bool m_requestAborted = | 154 bool m_requestAborted = false; // May be aborted by transaction then receive |
155 false; // May be aborted by transaction then receive async onsuccess; ign
ore vs. assert. | 155 // async onsuccess; ignore vs. assert. |
156 | 156 |
157 private: | 157 private: |
158 void setResultCursor(IDBCursor*, | 158 void setResultCursor(IDBCursor*, |
159 IDBKey*, | 159 IDBKey*, |
160 IDBKey* primaryKey, | 160 IDBKey* primaryKey, |
161 PassRefPtr<IDBValue>); | 161 PassRefPtr<IDBValue>); |
162 void ackReceivedBlobs(const IDBValue*); | 162 void ackReceivedBlobs(const IDBValue*); |
163 void ackReceivedBlobs(const Vector<RefPtr<IDBValue>>&); | 163 void ackReceivedBlobs(const Vector<RefPtr<IDBValue>>&); |
164 | 164 |
165 RefPtr<ScriptState> m_scriptState; | 165 RefPtr<ScriptState> m_scriptState; |
166 Member<IDBAny> m_source; | 166 Member<IDBAny> m_source; |
167 Member<IDBAny> m_result; | 167 Member<IDBAny> m_result; |
168 Member<DOMException> m_error; | 168 Member<DOMException> m_error; |
169 | 169 |
170 bool m_hasPendingActivity = true; | 170 bool m_hasPendingActivity = true; |
171 HeapVector<Member<Event>> m_enqueuedEvents; | 171 HeapVector<Member<Event>> m_enqueuedEvents; |
172 | 172 |
173 // Only used if the result type will be a cursor. | 173 // Only used if the result type will be a cursor. |
174 IndexedDB::CursorType m_cursorType = IndexedDB::CursorKeyAndValue; | 174 IndexedDB::CursorType m_cursorType = IndexedDB::CursorKeyAndValue; |
175 WebIDBCursorDirection m_cursorDirection = WebIDBCursorDirectionNext; | 175 WebIDBCursorDirection m_cursorDirection = WebIDBCursorDirectionNext; |
176 // When a cursor is continued/advanced, m_result is cleared and m_pendingCurso
r holds it. | 176 // When a cursor is continued/advanced, m_result is cleared and |
| 177 // m_pendingCursor holds it. |
177 Member<IDBCursor> m_pendingCursor; | 178 Member<IDBCursor> m_pendingCursor; |
178 // New state is not applied to the cursor object until the event is dispatched
. | 179 // New state is not applied to the cursor object until the event is |
| 180 // dispatched. |
179 Member<IDBKey> m_cursorKey; | 181 Member<IDBKey> m_cursorKey; |
180 Member<IDBKey> m_cursorPrimaryKey; | 182 Member<IDBKey> m_cursorPrimaryKey; |
181 RefPtr<IDBValue> m_cursorValue; | 183 RefPtr<IDBValue> m_cursorValue; |
182 | 184 |
183 bool m_didFireUpgradeNeededEvent = false; | 185 bool m_didFireUpgradeNeededEvent = false; |
184 bool m_preventPropagation = false; | 186 bool m_preventPropagation = false; |
185 bool m_resultDirty = true; | 187 bool m_resultDirty = true; |
186 }; | 188 }; |
187 | 189 |
188 } // namespace blink | 190 } // namespace blink |
189 | 191 |
190 #endif // IDBRequest_h | 192 #endif // IDBRequest_h |
OLD | NEW |