| 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 30 matching lines...) Expand all Loading... |
| 41 #include "modules/webdatabase/SQLResultSetRowList.h" | 41 #include "modules/webdatabase/SQLResultSetRowList.h" |
| 42 #include "modules/webdatabase/SQLStatementCallback.h" | 42 #include "modules/webdatabase/SQLStatementCallback.h" |
| 43 #include "modules/webdatabase/SQLStatementErrorCallback.h" | 43 #include "modules/webdatabase/SQLStatementErrorCallback.h" |
| 44 #include "modules/webdatabase/SQLTransaction.h" | 44 #include "modules/webdatabase/SQLTransaction.h" |
| 45 #include "modules/webdatabase/SQLTransactionCallback.h" | 45 #include "modules/webdatabase/SQLTransactionCallback.h" |
| 46 #include "modules/webdatabase/SQLTransactionErrorCallback.h" | 46 #include "modules/webdatabase/SQLTransactionErrorCallback.h" |
| 47 #include "modules/webdatabase/sqlite/SQLValue.h" | 47 #include "modules/webdatabase/sqlite/SQLValue.h" |
| 48 #include "platform/inspector_protocol/Values.h" | 48 #include "platform/inspector_protocol/Values.h" |
| 49 #include "wtf/Vector.h" | 49 #include "wtf/Vector.h" |
| 50 | 50 |
| 51 typedef blink::protocol::Dispatcher::DatabaseCommandHandler::ExecuteSQLCallback
ExecuteSQLCallback; | 51 typedef blink::protocol::Backend::Database::ExecuteSQLCallback ExecuteSQLCallbac
k; |
| 52 | 52 |
| 53 namespace blink { | 53 namespace blink { |
| 54 | 54 |
| 55 namespace DatabaseAgentState { | 55 namespace DatabaseAgentState { |
| 56 static const char databaseAgentEnabled[] = "databaseAgentEnabled"; | 56 static const char databaseAgentEnabled[] = "databaseAgentEnabled"; |
| 57 }; | 57 }; |
| 58 | 58 |
| 59 namespace { | 59 namespace { |
| 60 | 60 |
| 61 class ExecuteSQLCallbackWrapper : public RefCounted<ExecuteSQLCallbackWrapper> { | 61 class ExecuteSQLCallbackWrapper : public RefCounted<ExecuteSQLCallbackWrapper> { |
| (...skipping 147 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 209 ~TransactionSuccessCallback() override { } | 209 ~TransactionSuccessCallback() override { } |
| 210 | 210 |
| 211 void handleEvent() override { } | 211 void handleEvent() override { } |
| 212 | 212 |
| 213 private: | 213 private: |
| 214 TransactionSuccessCallback() { } | 214 TransactionSuccessCallback() { } |
| 215 }; | 215 }; |
| 216 | 216 |
| 217 } // namespace | 217 } // namespace |
| 218 | 218 |
| 219 void InspectorDatabaseAgent::didOpenDatabase(Database* database, const String& d
omain, const String& name, const String& version) | 219 void InspectorDatabaseAgent::didOpenDatabase(blink::Database* database, const St
ring& domain, const String& name, const String& version) |
| 220 { | 220 { |
| 221 if (InspectorDatabaseResource* resource = findByFileName(database->fileName(
))) { | 221 if (InspectorDatabaseResource* resource = findByFileName(database->fileName(
))) { |
| 222 resource->setDatabase(database); | 222 resource->setDatabase(database); |
| 223 return; | 223 return; |
| 224 } | 224 } |
| 225 | 225 |
| 226 InspectorDatabaseResource* resource = InspectorDatabaseResource::create(data
base, domain, name, version); | 226 InspectorDatabaseResource* resource = InspectorDatabaseResource::create(data
base, domain, name, version); |
| 227 m_resources.set(resource->id(), resource); | 227 m_resources.set(resource->id(), resource); |
| 228 // Resources are only bound while visible. | 228 // Resources are only bound while visible. |
| 229 if (frontend() && m_enabled) | 229 if (frontend() && m_enabled) |
| (...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 278 | 278 |
| 279 void InspectorDatabaseAgent::getDatabaseTableNames(ErrorString* error, const Str
ing& databaseId, OwnPtr<protocol::Array<String>>* names) | 279 void InspectorDatabaseAgent::getDatabaseTableNames(ErrorString* error, const Str
ing& databaseId, OwnPtr<protocol::Array<String>>* names) |
| 280 { | 280 { |
| 281 if (!m_enabled) { | 281 if (!m_enabled) { |
| 282 *error = "Database agent is not enabled"; | 282 *error = "Database agent is not enabled"; |
| 283 return; | 283 return; |
| 284 } | 284 } |
| 285 | 285 |
| 286 *names = protocol::Array<String>::create(); | 286 *names = protocol::Array<String>::create(); |
| 287 | 287 |
| 288 Database* database = databaseForId(databaseId); | 288 blink::Database* database = databaseForId(databaseId); |
| 289 if (database) { | 289 if (database) { |
| 290 Vector<String> tableNames = database->tableNames(); | 290 Vector<String> tableNames = database->tableNames(); |
| 291 unsigned length = tableNames.size(); | 291 unsigned length = tableNames.size(); |
| 292 for (unsigned i = 0; i < length; ++i) | 292 for (unsigned i = 0; i < length; ++i) |
| 293 (*names)->addItem(tableNames[i]); | 293 (*names)->addItem(tableNames[i]); |
| 294 } | 294 } |
| 295 } | 295 } |
| 296 | 296 |
| 297 void InspectorDatabaseAgent::executeSQL(ErrorString*, const String& databaseId,
const String& query, PassOwnPtr<ExecuteSQLCallback> prpRequestCallback) | 297 void InspectorDatabaseAgent::executeSQL(ErrorString*, const String& databaseId,
const String& query, PassOwnPtr<ExecuteSQLCallback> prpRequestCallback) |
| 298 { | 298 { |
| 299 OwnPtr<ExecuteSQLCallback> requestCallback = prpRequestCallback; | 299 OwnPtr<ExecuteSQLCallback> requestCallback = prpRequestCallback; |
| 300 | 300 |
| 301 if (!m_enabled) { | 301 if (!m_enabled) { |
| 302 requestCallback->sendFailure("Database agent is not enabled"); | 302 requestCallback->sendFailure("Database agent is not enabled"); |
| 303 return; | 303 return; |
| 304 } | 304 } |
| 305 | 305 |
| 306 Database* database = databaseForId(databaseId); | 306 blink::Database* database = databaseForId(databaseId); |
| 307 if (!database) { | 307 if (!database) { |
| 308 requestCallback->sendFailure("Database not found"); | 308 requestCallback->sendFailure("Database not found"); |
| 309 return; | 309 return; |
| 310 } | 310 } |
| 311 | 311 |
| 312 RefPtr<ExecuteSQLCallbackWrapper> wrapper = ExecuteSQLCallbackWrapper::creat
e(requestCallback.release()); | 312 RefPtr<ExecuteSQLCallbackWrapper> wrapper = ExecuteSQLCallbackWrapper::creat
e(requestCallback.release()); |
| 313 SQLTransactionCallback* callback = TransactionCallback::create(query, wrappe
r); | 313 SQLTransactionCallback* callback = TransactionCallback::create(query, wrappe
r); |
| 314 SQLTransactionErrorCallback* errorCallback = TransactionErrorCallback::creat
e(wrapper); | 314 SQLTransactionErrorCallback* errorCallback = TransactionErrorCallback::creat
e(wrapper); |
| 315 VoidCallback* successCallback = TransactionSuccessCallback::create(); | 315 VoidCallback* successCallback = TransactionSuccessCallback::create(); |
| 316 database->transaction(callback, errorCallback, successCallback); | 316 database->transaction(callback, errorCallback, successCallback); |
| 317 } | 317 } |
| 318 | 318 |
| 319 InspectorDatabaseResource* InspectorDatabaseAgent::findByFileName(const String&
fileName) | 319 InspectorDatabaseResource* InspectorDatabaseAgent::findByFileName(const String&
fileName) |
| 320 { | 320 { |
| 321 for (DatabaseResourcesHeapMap::iterator it = m_resources.begin(); it != m_re
sources.end(); ++it) { | 321 for (DatabaseResourcesHeapMap::iterator it = m_resources.begin(); it != m_re
sources.end(); ++it) { |
| 322 if (it->value->database()->fileName() == fileName) | 322 if (it->value->database()->fileName() == fileName) |
| 323 return it->value.get(); | 323 return it->value.get(); |
| 324 } | 324 } |
| 325 return 0; | 325 return 0; |
| 326 } | 326 } |
| 327 | 327 |
| 328 Database* InspectorDatabaseAgent::databaseForId(const String& databaseId) | 328 blink::Database* InspectorDatabaseAgent::databaseForId(const String& databaseId) |
| 329 { | 329 { |
| 330 DatabaseResourcesHeapMap::iterator it = m_resources.find(databaseId); | 330 DatabaseResourcesHeapMap::iterator it = m_resources.find(databaseId); |
| 331 if (it == m_resources.end()) | 331 if (it == m_resources.end()) |
| 332 return 0; | 332 return 0; |
| 333 return it->value->database(); | 333 return it->value->database(); |
| 334 } | 334 } |
| 335 | 335 |
| 336 DEFINE_TRACE(InspectorDatabaseAgent) | 336 DEFINE_TRACE(InspectorDatabaseAgent) |
| 337 { | 337 { |
| 338 visitor->trace(m_page); | 338 visitor->trace(m_page); |
| 339 visitor->trace(m_resources); | 339 visitor->trace(m_resources); |
| 340 InspectorBaseAgent::trace(visitor); | 340 InspectorBaseAgent::trace(visitor); |
| 341 } | 341 } |
| 342 | 342 |
| 343 } // namespace blink | 343 } // namespace blink |
| OLD | NEW |