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 247 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
258 return; | 258 return; |
259 | 259 |
260 m_resources.clear(); | 260 m_resources.clear(); |
261 } | 261 } |
262 | 262 |
263 InspectorDatabaseAgent::InspectorDatabaseAgent(Page* page) | 263 InspectorDatabaseAgent::InspectorDatabaseAgent(Page* page) |
264 : m_page(page), m_enabled(false) {} | 264 : m_page(page), m_enabled(false) {} |
265 | 265 |
266 InspectorDatabaseAgent::~InspectorDatabaseAgent() {} | 266 InspectorDatabaseAgent::~InspectorDatabaseAgent() {} |
267 | 267 |
268 void InspectorDatabaseAgent::enable(ErrorString*) { | 268 Response InspectorDatabaseAgent::enable() { |
269 if (m_enabled) | 269 if (m_enabled) |
270 return; | 270 return Response::OK(); |
271 m_enabled = true; | 271 m_enabled = true; |
272 m_state->setBoolean(DatabaseAgentState::databaseAgentEnabled, m_enabled); | 272 m_state->setBoolean(DatabaseAgentState::databaseAgentEnabled, m_enabled); |
273 if (DatabaseClient* client = DatabaseClient::fromPage(m_page)) | 273 if (DatabaseClient* client = DatabaseClient::fromPage(m_page)) |
274 client->setInspectorAgent(this); | 274 client->setInspectorAgent(this); |
275 DatabaseTracker::tracker().forEachOpenDatabaseInPage( | 275 DatabaseTracker::tracker().forEachOpenDatabaseInPage( |
276 m_page, WTF::bind(&InspectorDatabaseAgent::registerDatabaseOnCreation, | 276 m_page, WTF::bind(&InspectorDatabaseAgent::registerDatabaseOnCreation, |
277 wrapPersistent(this))); | 277 wrapPersistent(this))); |
| 278 return Response::OK(); |
278 } | 279 } |
279 | 280 |
280 void InspectorDatabaseAgent::disable(ErrorString*) { | 281 Response InspectorDatabaseAgent::disable() { |
281 if (!m_enabled) | 282 if (!m_enabled) |
282 return; | 283 return Response::OK(); |
283 m_enabled = false; | 284 m_enabled = false; |
284 m_state->setBoolean(DatabaseAgentState::databaseAgentEnabled, m_enabled); | 285 m_state->setBoolean(DatabaseAgentState::databaseAgentEnabled, m_enabled); |
285 if (DatabaseClient* client = DatabaseClient::fromPage(m_page)) | 286 if (DatabaseClient* client = DatabaseClient::fromPage(m_page)) |
286 client->setInspectorAgent(nullptr); | 287 client->setInspectorAgent(nullptr); |
287 m_resources.clear(); | 288 m_resources.clear(); |
| 289 return Response::OK(); |
288 } | 290 } |
289 | 291 |
290 void InspectorDatabaseAgent::restore() { | 292 void InspectorDatabaseAgent::restore() { |
291 if (m_state->booleanProperty(DatabaseAgentState::databaseAgentEnabled, | 293 if (m_state->booleanProperty(DatabaseAgentState::databaseAgentEnabled, |
292 false)) { | 294 false)) { |
293 ErrorString error; | 295 enable(); |
294 enable(&error); | |
295 } | 296 } |
296 } | 297 } |
297 | 298 |
298 void InspectorDatabaseAgent::getDatabaseTableNames( | 299 Response InspectorDatabaseAgent::getDatabaseTableNames( |
299 ErrorString* error, | |
300 const String& databaseId, | 300 const String& databaseId, |
301 std::unique_ptr<protocol::Array<String>>* names) { | 301 std::unique_ptr<protocol::Array<String>>* names) { |
302 if (!m_enabled) { | 302 if (!m_enabled) |
303 *error = "Database agent is not enabled"; | 303 return Response::Error("Database agent is not enabled"); |
304 return; | |
305 } | |
306 | 304 |
307 *names = protocol::Array<String>::create(); | 305 *names = protocol::Array<String>::create(); |
308 | 306 |
309 blink::Database* database = databaseForId(databaseId); | 307 blink::Database* database = databaseForId(databaseId); |
310 if (database) { | 308 if (database) { |
311 Vector<String> tableNames = database->tableNames(); | 309 Vector<String> tableNames = database->tableNames(); |
312 unsigned length = tableNames.size(); | 310 unsigned length = tableNames.size(); |
313 for (unsigned i = 0; i < length; ++i) | 311 for (unsigned i = 0; i < length; ++i) |
314 (*names)->addItem(tableNames[i]); | 312 (*names)->addItem(tableNames[i]); |
315 } | 313 } |
| 314 return Response::OK(); |
316 } | 315 } |
317 | 316 |
318 void InspectorDatabaseAgent::executeSQL( | 317 void InspectorDatabaseAgent::executeSQL( |
319 const String& databaseId, | 318 const String& databaseId, |
320 const String& query, | 319 const String& query, |
321 std::unique_ptr<ExecuteSQLCallback> prpRequestCallback) { | 320 std::unique_ptr<ExecuteSQLCallback> prpRequestCallback) { |
322 std::unique_ptr<ExecuteSQLCallback> requestCallback = | 321 std::unique_ptr<ExecuteSQLCallback> requestCallback = |
323 std::move(prpRequestCallback); | 322 std::move(prpRequestCallback); |
324 | 323 |
325 if (!m_enabled) { | 324 if (!m_enabled) { |
326 requestCallback->sendFailure("Database agent is not enabled"); | 325 requestCallback->sendFailure( |
| 326 Response::Error("Database agent is not enabled")); |
327 return; | 327 return; |
328 } | 328 } |
329 | 329 |
330 blink::Database* database = databaseForId(databaseId); | 330 blink::Database* database = databaseForId(databaseId); |
331 if (!database) { | 331 if (!database) { |
332 requestCallback->sendFailure("Database not found"); | 332 requestCallback->sendFailure(Response::Error("Database not found")); |
333 return; | 333 return; |
334 } | 334 } |
335 | 335 |
336 RefPtr<ExecuteSQLCallbackWrapper> wrapper = | 336 RefPtr<ExecuteSQLCallbackWrapper> wrapper = |
337 ExecuteSQLCallbackWrapper::create(std::move(requestCallback)); | 337 ExecuteSQLCallbackWrapper::create(std::move(requestCallback)); |
338 SQLTransactionCallback* callback = | 338 SQLTransactionCallback* callback = |
339 TransactionCallback::create(query, wrapper); | 339 TransactionCallback::create(query, wrapper); |
340 SQLTransactionErrorCallback* errorCallback = | 340 SQLTransactionErrorCallback* errorCallback = |
341 TransactionErrorCallback::create(wrapper); | 341 TransactionErrorCallback::create(wrapper); |
342 VoidCallback* successCallback = TransactionSuccessCallback::create(); | 342 VoidCallback* successCallback = TransactionSuccessCallback::create(); |
(...skipping 18 matching lines...) Expand all Loading... |
361 return it->value->database(); | 361 return it->value->database(); |
362 } | 362 } |
363 | 363 |
364 DEFINE_TRACE(InspectorDatabaseAgent) { | 364 DEFINE_TRACE(InspectorDatabaseAgent) { |
365 visitor->trace(m_page); | 365 visitor->trace(m_page); |
366 visitor->trace(m_resources); | 366 visitor->trace(m_resources); |
367 InspectorBaseAgent::trace(visitor); | 367 InspectorBaseAgent::trace(visitor); |
368 } | 368 } |
369 | 369 |
370 } // namespace blink | 370 } // namespace blink |
OLD | NEW |