| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2011 Google Inc. All rights reserved. | 2 * Copyright (C) 2011 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 are | 5 * modification, are permitted provided that the following conditions are |
| 6 * met: | 6 * met: |
| 7 * | 7 * |
| 8 * * Redistributions of source code must retain the above copyright | 8 * * 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 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
| (...skipping 171 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 182 unsigned long long spaceAvailable = 0; | 182 unsigned long long spaceAvailable = 0; |
| 183 unsigned long long databaseSize = 0; | 183 unsigned long long databaseSize = 0; |
| 184 QuotaTracker::instance().getDatabaseSizeAndSpaceAvailableToOrigin( | 184 QuotaTracker::instance().getDatabaseSizeAndSpaceAvailableToOrigin( |
| 185 database->securityOrigin()->databaseIdentifier(), | 185 database->securityOrigin()->databaseIdentifier(), |
| 186 database->stringIdentifier(), &databaseSize, &spaceAvailable); | 186 database->stringIdentifier(), &databaseSize, &spaceAvailable); |
| 187 return databaseSize + spaceAvailable; | 187 return databaseSize + spaceAvailable; |
| 188 } | 188 } |
| 189 | 189 |
| 190 void DatabaseTracker::interruptAllDatabasesForContext(const ScriptExecutionConte
xt* context) | 190 void DatabaseTracker::interruptAllDatabasesForContext(const ScriptExecutionConte
xt* context) |
| 191 { | 191 { |
| 192 Vector<RefPtr<AbstractDatabase> > openDatabases; | 192 MutexLocker openDatabaseMapLock(m_openDatabaseMapGuard); |
| 193 { | |
| 194 MutexLocker openDatabaseMapLock(m_openDatabaseMapGuard); | |
| 195 | 193 |
| 196 if (!m_openDatabaseMap) | 194 if (!m_openDatabaseMap) |
| 197 return; | 195 return; |
| 198 | 196 |
| 199 DatabaseNameMap* nameMap = m_openDatabaseMap->get(context->securityOrigi
n()->databaseIdentifier()); | 197 DatabaseNameMap* nameMap = m_openDatabaseMap->get(context->securityOrigin()-
>databaseIdentifier()); |
| 200 if (!nameMap) | 198 if (!nameMap) |
| 201 return; | 199 return; |
| 202 | 200 |
| 203 DatabaseNameMap::const_iterator dbNameMapEndIt = nameMap->end(); | 201 DatabaseNameMap::const_iterator dbNameMapEndIt = nameMap->end(); |
| 204 for (DatabaseNameMap::const_iterator dbNameMapIt = nameMap->begin(); dbN
ameMapIt != dbNameMapEndIt; ++dbNameMapIt) { | 202 for (DatabaseNameMap::const_iterator dbNameMapIt = nameMap->begin(); dbNameM
apIt != dbNameMapEndIt; ++dbNameMapIt) { |
| 205 DatabaseSet* databaseSet = dbNameMapIt->second; | 203 DatabaseSet* databaseSet = dbNameMapIt->second; |
| 206 DatabaseSet::const_iterator dbSetEndIt = databaseSet->end(); | 204 DatabaseSet::const_iterator end = databaseSet->end(); |
| 207 for (DatabaseSet::const_iterator dbSetIt = databaseSet->begin(); dbS
etIt != dbSetEndIt; ++dbSetIt) { | 205 for (DatabaseSet::const_iterator it = databaseSet->begin(); it != end; +
+it) { |
| 208 if ((*dbSetIt)->scriptExecutionContext() == context) | 206 if ((*it)->scriptExecutionContext() == context) |
| 209 openDatabases.append(*dbSetIt); | 207 (*it)->interrupt(); |
| 210 } | |
| 211 } | 208 } |
| 212 } | 209 } |
| 213 | |
| 214 Vector<RefPtr<AbstractDatabase> >::const_iterator openDatabasesEndIt = openD
atabases.end(); | |
| 215 for (Vector<RefPtr<AbstractDatabase> >::const_iterator openDatabasesIt = ope
nDatabases.begin(); openDatabasesIt != openDatabasesEndIt; ++openDatabasesIt) | |
| 216 (*openDatabasesIt)->interrupt(); | |
| 217 } | 210 } |
| 218 | 211 |
| 219 } | 212 } |
| 220 | 213 |
| 221 #endif // ENABLE(DATABASE) | 214 #endif // ENABLE(DATABASE) |
| OLD | NEW |