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

Side by Side Diff: Source/modules/indexeddb/IDBIndex.cpp

Issue 170603003: Use nullptr_t for RefPtr, PassRefPtr and RawPtr. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Final rebase Created 6 years, 10 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 | Annotate | Revision Log
« no previous file with comments | « Source/modules/indexeddb/IDBFactory.cpp ('k') | Source/modules/indexeddb/IDBKeyRange.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
63 { 63 {
64 DOMRequestState requestState(context); 64 DOMRequestState requestState(context);
65 return idbAnyToScriptValue(&requestState, IDBAny::create(m_metadata.keyPath) ); 65 return idbAnyToScriptValue(&requestState, IDBAny::create(m_metadata.keyPath) );
66 } 66 }
67 67
68 PassRefPtr<IDBRequest> IDBIndex::openCursor(ExecutionContext* context, const Scr iptValue& range, const String& directionString, ExceptionState& exceptionState) 68 PassRefPtr<IDBRequest> IDBIndex::openCursor(ExecutionContext* context, const Scr iptValue& range, const String& directionString, ExceptionState& exceptionState)
69 { 69 {
70 IDB_TRACE("IDBIndex::openCursor"); 70 IDB_TRACE("IDBIndex::openCursor");
71 if (isDeleted()) { 71 if (isDeleted()) {
72 exceptionState.throwDOMException(InvalidStateError, IDBDatabase::indexDe letedErrorMessage); 72 exceptionState.throwDOMException(InvalidStateError, IDBDatabase::indexDe letedErrorMessage);
73 return 0; 73 return nullptr;
74 } 74 }
75 if (m_transaction->isFinished()) { 75 if (m_transaction->isFinished()) {
76 exceptionState.throwDOMException(TransactionInactiveError, IDBDatabase:: transactionFinishedErrorMessage); 76 exceptionState.throwDOMException(TransactionInactiveError, IDBDatabase:: transactionFinishedErrorMessage);
77 return 0; 77 return nullptr;
78 } 78 }
79 if (!m_transaction->isActive()) { 79 if (!m_transaction->isActive()) {
80 exceptionState.throwDOMException(TransactionInactiveError, IDBDatabase:: transactionInactiveErrorMessage); 80 exceptionState.throwDOMException(TransactionInactiveError, IDBDatabase:: transactionInactiveErrorMessage);
81 return 0; 81 return nullptr;
82 } 82 }
83 WebIDBCursor::Direction direction = IDBCursor::stringToDirection(directionSt ring, exceptionState); 83 WebIDBCursor::Direction direction = IDBCursor::stringToDirection(directionSt ring, exceptionState);
84 if (exceptionState.hadException()) 84 if (exceptionState.hadException())
85 return 0; 85 return nullptr;
86 86
87 RefPtr<IDBKeyRange> keyRange = IDBKeyRange::fromScriptValue(context, range, exceptionState); 87 RefPtr<IDBKeyRange> keyRange = IDBKeyRange::fromScriptValue(context, range, exceptionState);
88 if (exceptionState.hadException()) 88 if (exceptionState.hadException())
89 return 0; 89 return nullptr;
90 90
91 return openCursor(context, keyRange.release(), direction); 91 return openCursor(context, keyRange.release(), direction);
92 } 92 }
93 93
94 PassRefPtr<IDBRequest> IDBIndex::openCursor(ExecutionContext* context, PassRefPt r<IDBKeyRange> keyRange, WebIDBCursor::Direction direction) 94 PassRefPtr<IDBRequest> IDBIndex::openCursor(ExecutionContext* context, PassRefPt r<IDBKeyRange> keyRange, WebIDBCursor::Direction direction)
95 { 95 {
96 RefPtr<IDBRequest> request = IDBRequest::create(context, IDBAny::create(this ), m_transaction.get()); 96 RefPtr<IDBRequest> request = IDBRequest::create(context, IDBAny::create(this ), m_transaction.get());
97 request->setCursorDetails(IndexedDB::CursorKeyAndValue, direction); 97 request->setCursorDetails(IndexedDB::CursorKeyAndValue, direction);
98 backendDB()->openCursor(m_transaction->id(), m_objectStore->id(), m_metadata .id, keyRange, direction, false, WebIDBDatabase::NormalTask, WebIDBCallbacksImpl ::create(request).leakPtr()); 98 backendDB()->openCursor(m_transaction->id(), m_objectStore->id(), m_metadata .id, keyRange, direction, false, WebIDBDatabase::NormalTask, WebIDBCallbacksImpl ::create(request).leakPtr());
99 return request; 99 return request;
100 } 100 }
101 101
102 PassRefPtr<IDBRequest> IDBIndex::count(ExecutionContext* context, const ScriptVa lue& range, ExceptionState& exceptionState) 102 PassRefPtr<IDBRequest> IDBIndex::count(ExecutionContext* context, const ScriptVa lue& range, ExceptionState& exceptionState)
103 { 103 {
104 IDB_TRACE("IDBIndex::count"); 104 IDB_TRACE("IDBIndex::count");
105 if (isDeleted()) { 105 if (isDeleted()) {
106 exceptionState.throwDOMException(InvalidStateError, IDBDatabase::indexDe letedErrorMessage); 106 exceptionState.throwDOMException(InvalidStateError, IDBDatabase::indexDe letedErrorMessage);
107 return 0; 107 return nullptr;
108 } 108 }
109 if (m_transaction->isFinished()) { 109 if (m_transaction->isFinished()) {
110 exceptionState.throwDOMException(TransactionInactiveError, IDBDatabase:: transactionFinishedErrorMessage); 110 exceptionState.throwDOMException(TransactionInactiveError, IDBDatabase:: transactionFinishedErrorMessage);
111 return 0; 111 return nullptr;
112 } 112 }
113 if (!m_transaction->isActive()) { 113 if (!m_transaction->isActive()) {
114 exceptionState.throwDOMException(TransactionInactiveError, IDBDatabase:: transactionInactiveErrorMessage); 114 exceptionState.throwDOMException(TransactionInactiveError, IDBDatabase:: transactionInactiveErrorMessage);
115 return 0; 115 return nullptr;
116 } 116 }
117 117
118 RefPtr<IDBKeyRange> keyRange = IDBKeyRange::fromScriptValue(context, range, exceptionState); 118 RefPtr<IDBKeyRange> keyRange = IDBKeyRange::fromScriptValue(context, range, exceptionState);
119 if (exceptionState.hadException()) 119 if (exceptionState.hadException())
120 return 0; 120 return nullptr;
121 121
122 RefPtr<IDBRequest> request = IDBRequest::create(context, IDBAny::create(this ), m_transaction.get()); 122 RefPtr<IDBRequest> request = IDBRequest::create(context, IDBAny::create(this ), m_transaction.get());
123 backendDB()->count(m_transaction->id(), m_objectStore->id(), m_metadata.id, keyRange.release(), WebIDBCallbacksImpl::create(request).leakPtr()); 123 backendDB()->count(m_transaction->id(), m_objectStore->id(), m_metadata.id, keyRange.release(), WebIDBCallbacksImpl::create(request).leakPtr());
124 return request; 124 return request;
125 } 125 }
126 126
127 PassRefPtr<IDBRequest> IDBIndex::openKeyCursor(ExecutionContext* context, const ScriptValue& range, const String& directionString, ExceptionState& exceptionStat e) 127 PassRefPtr<IDBRequest> IDBIndex::openKeyCursor(ExecutionContext* context, const ScriptValue& range, const String& directionString, ExceptionState& exceptionStat e)
128 { 128 {
129 IDB_TRACE("IDBIndex::openKeyCursor"); 129 IDB_TRACE("IDBIndex::openKeyCursor");
130 if (isDeleted()) { 130 if (isDeleted()) {
131 exceptionState.throwDOMException(InvalidStateError, IDBDatabase::indexDe letedErrorMessage); 131 exceptionState.throwDOMException(InvalidStateError, IDBDatabase::indexDe letedErrorMessage);
132 return 0; 132 return nullptr;
133 } 133 }
134 if (m_transaction->isFinished()) { 134 if (m_transaction->isFinished()) {
135 exceptionState.throwDOMException(TransactionInactiveError, IDBDatabase:: transactionFinishedErrorMessage); 135 exceptionState.throwDOMException(TransactionInactiveError, IDBDatabase:: transactionFinishedErrorMessage);
136 return 0; 136 return nullptr;
137 } 137 }
138 if (!m_transaction->isActive()) { 138 if (!m_transaction->isActive()) {
139 exceptionState.throwDOMException(TransactionInactiveError, IDBDatabase:: transactionInactiveErrorMessage); 139 exceptionState.throwDOMException(TransactionInactiveError, IDBDatabase:: transactionInactiveErrorMessage);
140 return 0; 140 return nullptr;
141 } 141 }
142 WebIDBCursor::Direction direction = IDBCursor::stringToDirection(directionSt ring, exceptionState); 142 WebIDBCursor::Direction direction = IDBCursor::stringToDirection(directionSt ring, exceptionState);
143 if (exceptionState.hadException()) 143 if (exceptionState.hadException())
144 return 0; 144 return nullptr;
145 145
146 RefPtr<IDBKeyRange> keyRange = IDBKeyRange::fromScriptValue(context, range, exceptionState); 146 RefPtr<IDBKeyRange> keyRange = IDBKeyRange::fromScriptValue(context, range, exceptionState);
147 if (exceptionState.hadException()) 147 if (exceptionState.hadException())
148 return 0; 148 return nullptr;
149 149
150 RefPtr<IDBRequest> request = IDBRequest::create(context, IDBAny::create(this ), m_transaction.get()); 150 RefPtr<IDBRequest> request = IDBRequest::create(context, IDBAny::create(this ), m_transaction.get());
151 request->setCursorDetails(IndexedDB::CursorKeyOnly, direction); 151 request->setCursorDetails(IndexedDB::CursorKeyOnly, direction);
152 backendDB()->openCursor(m_transaction->id(), m_objectStore->id(), m_metadata .id, keyRange.release(), direction, true, WebIDBDatabase::NormalTask, WebIDBCall backsImpl::create(request).leakPtr()); 152 backendDB()->openCursor(m_transaction->id(), m_objectStore->id(), m_metadata .id, keyRange.release(), direction, true, WebIDBDatabase::NormalTask, WebIDBCall backsImpl::create(request).leakPtr());
153 return request; 153 return request;
154 } 154 }
155 155
156 PassRefPtr<IDBRequest> IDBIndex::get(ExecutionContext* context, const ScriptValu e& key, ExceptionState& exceptionState) 156 PassRefPtr<IDBRequest> IDBIndex::get(ExecutionContext* context, const ScriptValu e& key, ExceptionState& exceptionState)
157 { 157 {
158 IDB_TRACE("IDBIndex::get"); 158 IDB_TRACE("IDBIndex::get");
159 return getInternal(context, key, exceptionState, false); 159 return getInternal(context, key, exceptionState, false);
160 } 160 }
161 161
162 PassRefPtr<IDBRequest> IDBIndex::getKey(ExecutionContext* context, const ScriptV alue& key, ExceptionState& exceptionState) 162 PassRefPtr<IDBRequest> IDBIndex::getKey(ExecutionContext* context, const ScriptV alue& key, ExceptionState& exceptionState)
163 { 163 {
164 IDB_TRACE("IDBIndex::getKey"); 164 IDB_TRACE("IDBIndex::getKey");
165 return getInternal(context, key, exceptionState, true); 165 return getInternal(context, key, exceptionState, true);
166 } 166 }
167 167
168 PassRefPtr<IDBRequest> IDBIndex::getInternal(ExecutionContext* context, const Sc riptValue& key, ExceptionState& exceptionState, bool keyOnly) 168 PassRefPtr<IDBRequest> IDBIndex::getInternal(ExecutionContext* context, const Sc riptValue& key, ExceptionState& exceptionState, bool keyOnly)
169 { 169 {
170 if (isDeleted()) { 170 if (isDeleted()) {
171 exceptionState.throwDOMException(InvalidStateError, IDBDatabase::indexDe letedErrorMessage); 171 exceptionState.throwDOMException(InvalidStateError, IDBDatabase::indexDe letedErrorMessage);
172 return 0; 172 return nullptr;
173 } 173 }
174 if (m_transaction->isFinished()) { 174 if (m_transaction->isFinished()) {
175 exceptionState.throwDOMException(TransactionInactiveError, IDBDatabase:: transactionFinishedErrorMessage); 175 exceptionState.throwDOMException(TransactionInactiveError, IDBDatabase:: transactionFinishedErrorMessage);
176 return 0; 176 return nullptr;
177 } 177 }
178 if (!m_transaction->isActive()) { 178 if (!m_transaction->isActive()) {
179 exceptionState.throwDOMException(TransactionInactiveError, IDBDatabase:: transactionInactiveErrorMessage); 179 exceptionState.throwDOMException(TransactionInactiveError, IDBDatabase:: transactionInactiveErrorMessage);
180 return 0; 180 return nullptr;
181 } 181 }
182 182
183 RefPtr<IDBKeyRange> keyRange = IDBKeyRange::fromScriptValue(context, key, ex ceptionState); 183 RefPtr<IDBKeyRange> keyRange = IDBKeyRange::fromScriptValue(context, key, ex ceptionState);
184 if (exceptionState.hadException()) 184 if (exceptionState.hadException())
185 return 0; 185 return nullptr;
186 if (!keyRange) { 186 if (!keyRange) {
187 exceptionState.throwDOMException(DataError, IDBDatabase::noKeyOrKeyRange ErrorMessage); 187 exceptionState.throwDOMException(DataError, IDBDatabase::noKeyOrKeyRange ErrorMessage);
188 return 0; 188 return nullptr;
189 } 189 }
190 190
191 RefPtr<IDBRequest> request = IDBRequest::create(context, IDBAny::create(this ), m_transaction.get()); 191 RefPtr<IDBRequest> request = IDBRequest::create(context, IDBAny::create(this ), m_transaction.get());
192 backendDB()->get(m_transaction->id(), m_objectStore->id(), m_metadata.id, ke yRange.release(), keyOnly, WebIDBCallbacksImpl::create(request).leakPtr()); 192 backendDB()->get(m_transaction->id(), m_objectStore->id(), m_metadata.id, ke yRange.release(), keyOnly, WebIDBCallbacksImpl::create(request).leakPtr());
193 return request; 193 return request;
194 } 194 }
195 195
196 WebIDBDatabase* IDBIndex::backendDB() const 196 WebIDBDatabase* IDBIndex::backendDB() const
197 { 197 {
198 return m_transaction->backendDB(); 198 return m_transaction->backendDB();
199 } 199 }
200 200
201 bool IDBIndex::isDeleted() const 201 bool IDBIndex::isDeleted() const
202 { 202 {
203 return m_deleted || m_objectStore->isDeleted(); 203 return m_deleted || m_objectStore->isDeleted();
204 } 204 }
205 205
206 } // namespace WebCore 206 } // namespace WebCore
OLDNEW
« no previous file with comments | « Source/modules/indexeddb/IDBFactory.cpp ('k') | Source/modules/indexeddb/IDBKeyRange.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698