Index: third_party/WebKit/Source/modules/webdatabase/DatabaseTracker.cpp |
diff --git a/third_party/WebKit/Source/modules/webdatabase/DatabaseTracker.cpp b/third_party/WebKit/Source/modules/webdatabase/DatabaseTracker.cpp |
index 24f5626adb73f5ed9fe683d11386ae9439d9c534..434a9c5e9cb03bf7e777a24367a39a585e4a079c 100644 |
--- a/third_party/WebKit/Source/modules/webdatabase/DatabaseTracker.cpp |
+++ b/third_party/WebKit/Source/modules/webdatabase/DatabaseTracker.cpp |
@@ -37,11 +37,11 @@ |
#include "modules/webdatabase/DatabaseContext.h" |
#include "modules/webdatabase/QuotaTracker.h" |
#include "modules/webdatabase/sqlite/SQLiteFileSystem.h" |
-#include "platform/weborigin/DatabaseIdentifier.h" |
#include "platform/weborigin/SecurityOrigin.h" |
#include "platform/weborigin/SecurityOriginHash.h" |
#include "public/platform/Platform.h" |
#include "public/platform/WebDatabaseObserver.h" |
+#include "public/platform/WebSecurityOrigin.h" |
#include "public/platform/WebTraceLocation.h" |
#include "wtf/Assertions.h" |
#include "wtf/StdLibExtras.h" |
@@ -52,7 +52,7 @@ static void databaseClosed(Database* database) |
{ |
if (Platform::current()->databaseObserver()) { |
Platform::current()->databaseObserver()->databaseClosed( |
- createDatabaseIdentifierFromSecurityOrigin(database->getSecurityOrigin()), |
+ WebSecurityOrigin(database->getSecurityOrigin()), |
database->stringIdentifier()); |
} |
} |
@@ -79,7 +79,7 @@ bool DatabaseTracker::canEstablishDatabase(DatabaseContext* databaseContext, con |
String DatabaseTracker::fullPathForDatabase(SecurityOrigin* origin, const String& name, bool) |
{ |
- return createDatabaseIdentifierFromSecurityOrigin(origin) + "/" + name + "#"; |
+ return String(Platform::current()->databaseCreateOriginIdentifier(WebSecurityOrigin(origin))) + "/" + name + "#"; |
} |
void DatabaseTracker::addOpenDatabase(Database* database) |
@@ -88,11 +88,11 @@ void DatabaseTracker::addOpenDatabase(Database* database) |
if (!m_openDatabaseMap) |
m_openDatabaseMap = adoptPtr(new DatabaseOriginMap); |
- String originIdentifier = createDatabaseIdentifierFromSecurityOrigin(database->getSecurityOrigin()); |
- DatabaseNameMap* nameMap = m_openDatabaseMap->get(originIdentifier); |
+ String originString = database->getSecurityOrigin()->toString(); |
+ DatabaseNameMap* nameMap = m_openDatabaseMap->get(originString); |
if (!nameMap) { |
nameMap = new DatabaseNameMap(); |
- m_openDatabaseMap->set(originIdentifier, nameMap); |
+ m_openDatabaseMap->set(originString, nameMap); |
} |
String name(database->stringIdentifier()); |
@@ -109,9 +109,9 @@ void DatabaseTracker::removeOpenDatabase(Database* database) |
{ |
{ |
MutexLocker openDatabaseMapLock(m_openDatabaseMapGuard); |
- String originIdentifier = createDatabaseIdentifierFromSecurityOrigin(database->getSecurityOrigin()); |
+ String originString = database->getSecurityOrigin()->toString(); |
ASSERT(m_openDatabaseMap); |
- DatabaseNameMap* nameMap = m_openDatabaseMap->get(originIdentifier); |
+ DatabaseNameMap* nameMap = m_openDatabaseMap->get(originString); |
if (!nameMap) |
return; |
@@ -129,7 +129,7 @@ void DatabaseTracker::removeOpenDatabase(Database* database) |
nameMap->remove(name); |
delete databaseSet; |
if (nameMap->isEmpty()) { |
- m_openDatabaseMap->remove(originIdentifier); |
+ m_openDatabaseMap->remove(originString); |
delete nameMap; |
} |
} |
@@ -142,7 +142,7 @@ void DatabaseTracker::prepareToOpenDatabase(Database* database) |
ASSERT(database->getDatabaseContext()->getExecutionContext()->isContextThread()); |
if (Platform::current()->databaseObserver()) { |
Platform::current()->databaseObserver()->databaseOpened( |
- createDatabaseIdentifierFromSecurityOrigin(database->getSecurityOrigin()), |
+ WebSecurityOrigin(database->getSecurityOrigin()), |
database->stringIdentifier(), |
database->displayName(), |
database->estimatedSize()); |
@@ -159,43 +159,44 @@ unsigned long long DatabaseTracker::getMaxSizeForDatabase(const Database* databa |
unsigned long long spaceAvailable = 0; |
unsigned long long databaseSize = 0; |
QuotaTracker::instance().getDatabaseSizeAndSpaceAvailableToOrigin( |
- createDatabaseIdentifierFromSecurityOrigin(database->getSecurityOrigin()), |
+ database->getSecurityOrigin(), |
database->stringIdentifier(), &databaseSize, &spaceAvailable); |
return databaseSize + spaceAvailable; |
} |
class DatabaseTracker::CloseOneDatabaseImmediatelyTask final : public ExecutionContextTask { |
public: |
- static PassOwnPtr<CloseOneDatabaseImmediatelyTask> create(const String& originIdentifier, const String& name, Database* database) |
+ static PassOwnPtr<CloseOneDatabaseImmediatelyTask> create(const String& originString, const String& name, Database* database) |
{ |
- return adoptPtr(new CloseOneDatabaseImmediatelyTask(originIdentifier, name, database)); |
+ return adoptPtr(new CloseOneDatabaseImmediatelyTask(originString, name, database)); |
} |
void performTask(ExecutionContext*) override |
{ |
- DatabaseTracker::tracker().closeOneDatabaseImmediately(m_originIdentifier, m_name, m_database); |
+ DatabaseTracker::tracker().closeOneDatabaseImmediately(m_originString, m_name, m_database); |
} |
private: |
- CloseOneDatabaseImmediatelyTask(const String& originIdentifier, const String& name, Database* database) |
- : m_originIdentifier(originIdentifier.isolatedCopy()) |
+ CloseOneDatabaseImmediatelyTask(const String& originString, const String& name, Database* database) |
+ : m_originString(originString.isolatedCopy()) |
, m_name(name.isolatedCopy()) |
, m_database(database) |
{ |
} |
- String m_originIdentifier; |
+ String m_originString; |
String m_name; |
CrossThreadPersistent<Database> m_database; |
}; |
-void DatabaseTracker::closeDatabasesImmediately(const String& originIdentifier, const String& name) |
+void DatabaseTracker::closeDatabasesImmediately(SecurityOrigin* origin, const String& name) |
{ |
+ String originString = origin->toString(); |
MutexLocker openDatabaseMapLock(m_openDatabaseMapGuard); |
if (!m_openDatabaseMap) |
return; |
- DatabaseNameMap* nameMap = m_openDatabaseMap->get(originIdentifier); |
+ DatabaseNameMap* nameMap = m_openDatabaseMap->get(originString); |
if (!nameMap) |
return; |
@@ -205,10 +206,10 @@ void DatabaseTracker::closeDatabasesImmediately(const String& originIdentifier, |
// We have to call closeImmediately() on the context thread. |
for (DatabaseSet::iterator it = databaseSet->begin(); it != databaseSet->end(); ++it) |
- (*it)->getDatabaseContext()->getExecutionContext()->postTask(BLINK_FROM_HERE, CloseOneDatabaseImmediatelyTask::create(originIdentifier, name, *it)); |
+ (*it)->getDatabaseContext()->getExecutionContext()->postTask(BLINK_FROM_HERE, CloseOneDatabaseImmediatelyTask::create(originString, name, *it)); |
} |
-void DatabaseTracker::closeOneDatabaseImmediately(const String& originIdentifier, const String& name, Database* database) |
+void DatabaseTracker::closeOneDatabaseImmediately(const String& originString, const String& name, Database* database) |
{ |
// First we have to confirm the 'database' is still in our collection. |
{ |
@@ -216,7 +217,7 @@ void DatabaseTracker::closeOneDatabaseImmediately(const String& originIdentifier |
if (!m_openDatabaseMap) |
return; |
- DatabaseNameMap* nameMap = m_openDatabaseMap->get(originIdentifier); |
+ DatabaseNameMap* nameMap = m_openDatabaseMap->get(originString); |
if (!nameMap) |
return; |