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

Side by Side Diff: webkit/tools/test_shell/simple_database_system.cc

Issue 507014: Adding methods that will be used by the quota management UI.... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 10 years, 11 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
OLDNEW
1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. Use of this 1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. Use of this
2 // source code is governed by a BSD-style license that can be found in the 2 // source code is governed by a BSD-style license that can be found in the
3 // LICENSE file. 3 // LICENSE file.
4 4
5 #include "webkit/tools/test_shell/simple_database_system.h" 5 #include "webkit/tools/test_shell/simple_database_system.h"
6 6
7 #if defined(USE_SYSTEM_SQLITE) 7 #if defined(USE_SYSTEM_SQLITE)
8 #include <sqlite3.h> 8 #include <sqlite3.h>
9 #else 9 #else
10 #include "third_party/sqlite/preprocessed/sqlite3.h" 10 #include "third_party/sqlite/preprocessed/sqlite3.h"
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after
84 long long SimpleDatabaseSystem::GetFileSize(const string16& vfs_file_name) { 84 long long SimpleDatabaseSystem::GetFileSize(const string16& vfs_file_name) {
85 return VfsBackend::GetFileSize(GetFullFilePathForVfsFile(vfs_file_name)); 85 return VfsBackend::GetFileSize(GetFullFilePathForVfsFile(vfs_file_name));
86 } 86 }
87 87
88 void SimpleDatabaseSystem::DatabaseOpened(const string16& origin_identifier, 88 void SimpleDatabaseSystem::DatabaseOpened(const string16& origin_identifier,
89 const string16& database_name, 89 const string16& database_name,
90 const string16& description, 90 const string16& description,
91 int64 estimated_size) { 91 int64 estimated_size) {
92 int64 database_size = 0; 92 int64 database_size = 0;
93 int64 space_available = 0; 93 int64 space_available = 0;
94 database_connections_.AddConnection(origin_identifier, database_name);
94 db_tracker_->DatabaseOpened(origin_identifier, database_name, description, 95 db_tracker_->DatabaseOpened(origin_identifier, database_name, description,
95 estimated_size, &database_size, &space_available); 96 estimated_size, &database_size, &space_available);
96 SetFullFilePathsForVfsFile(origin_identifier, database_name); 97 SetFullFilePathsForVfsFile(origin_identifier, database_name);
97 98
98 OnDatabaseSizeChanged(origin_identifier, database_name, 99 OnDatabaseSizeChanged(origin_identifier, database_name,
99 database_size, space_available); 100 database_size, space_available);
100 } 101 }
101 102
102 void SimpleDatabaseSystem::DatabaseModified(const string16& origin_identifier, 103 void SimpleDatabaseSystem::DatabaseModified(const string16& origin_identifier,
103 const string16& database_name) { 104 const string16& database_name) {
105 DCHECK(database_connections_.IsDatabaseOpened(
106 origin_identifier, database_name));
104 db_tracker_->DatabaseModified(origin_identifier, database_name); 107 db_tracker_->DatabaseModified(origin_identifier, database_name);
105 } 108 }
106 109
107 void SimpleDatabaseSystem::DatabaseClosed(const string16& origin_identifier, 110 void SimpleDatabaseSystem::DatabaseClosed(const string16& origin_identifier,
108 const string16& database_name) { 111 const string16& database_name) {
112 DCHECK(database_connections_.IsDatabaseOpened(
113 origin_identifier, database_name));
109 db_tracker_->DatabaseClosed(origin_identifier, database_name); 114 db_tracker_->DatabaseClosed(origin_identifier, database_name);
115 database_connections_.RemoveConnection(origin_identifier, database_name);
110 } 116 }
111 117
112 void SimpleDatabaseSystem::OnDatabaseSizeChanged( 118 void SimpleDatabaseSystem::OnDatabaseSizeChanged(
113 const string16& origin_identifier, 119 const string16& origin_identifier,
114 const string16& database_name, 120 const string16& database_name,
115 int64 database_size, 121 int64 database_size,
116 int64 space_available) { 122 int64 space_available) {
117 WebKit::WebDatabase::updateDatabaseSize( 123 if (database_connections_.IsOriginUsed(origin_identifier)) {
118 origin_identifier, database_name, database_size, space_available); 124 WebKit::WebDatabase::updateDatabaseSize(
125 origin_identifier, database_name, database_size, space_available);
126 }
119 } 127 }
120 128
121 void SimpleDatabaseSystem::databaseOpened(const WebKit::WebDatabase& database) { 129 void SimpleDatabaseSystem::databaseOpened(const WebKit::WebDatabase& database) {
122 DatabaseOpened(database.securityOrigin().databaseIdentifier(), 130 DatabaseOpened(database.securityOrigin().databaseIdentifier(),
123 database.name(), database.displayName(), 131 database.name(), database.displayName(),
124 database.estimatedSize()); 132 database.estimatedSize());
125 } 133 }
126 134
127 void SimpleDatabaseSystem::databaseModified( 135 void SimpleDatabaseSystem::databaseModified(
128 const WebKit::WebDatabase& database) { 136 const WebKit::WebDatabase& database) {
129 DatabaseModified(database.securityOrigin().databaseIdentifier(), 137 DatabaseModified(database.securityOrigin().databaseIdentifier(),
130 database.name()); 138 database.name());
131 } 139 }
132 140
133 void SimpleDatabaseSystem::databaseClosed(const WebKit::WebDatabase& database) { 141 void SimpleDatabaseSystem::databaseClosed(const WebKit::WebDatabase& database) {
134 DatabaseClosed(database.securityOrigin().databaseIdentifier(), 142 DatabaseClosed(database.securityOrigin().databaseIdentifier(),
135 database.name()); 143 database.name());
136 } 144 }
137 145
138 void SimpleDatabaseSystem::ClearAllDatabases() { 146 void SimpleDatabaseSystem::ClearAllDatabases() {
147 db_tracker_->CloseDatabases(database_connections_);
148 database_connections_.RemoveAllConnections();
139 db_tracker_->CloseTrackerDatabaseAndClearCaches(); 149 db_tracker_->CloseTrackerDatabaseAndClearCaches();
140 file_util::Delete(db_tracker_->DatabaseDirectory(), true); 150 file_util::Delete(db_tracker_->DatabaseDirectory(), true);
141 file_names_.clear(); 151 file_names_.clear();
142 } 152 }
143 153
144 void SimpleDatabaseSystem::SetFullFilePathsForVfsFile( 154 void SimpleDatabaseSystem::SetFullFilePathsForVfsFile(
145 const string16& origin_identifier, 155 const string16& origin_identifier,
146 const string16& database_name) { 156 const string16& database_name) {
147 string16 vfs_file_name = origin_identifier + ASCIIToUTF16("/") + 157 string16 vfs_file_name = origin_identifier + ASCIIToUTF16("/") +
148 database_name + ASCIIToUTF16("#"); 158 database_name + ASCIIToUTF16("#");
149 FilePath file_name = 159 FilePath file_name =
150 DatabaseUtil::GetFullFilePathForVfsFile(db_tracker_, vfs_file_name); 160 DatabaseUtil::GetFullFilePathForVfsFile(db_tracker_, vfs_file_name);
151 161
152 AutoLock file_names_auto_lock(file_names_lock_); 162 AutoLock file_names_auto_lock(file_names_lock_);
153 file_names_[vfs_file_name] = file_name; 163 file_names_[vfs_file_name] = file_name;
154 file_names_[vfs_file_name + ASCIIToUTF16("-journal")] = 164 file_names_[vfs_file_name + ASCIIToUTF16("-journal")] =
155 FilePath::FromWStringHack(file_name.ToWStringHack() + 165 FilePath::FromWStringHack(file_name.ToWStringHack() +
156 ASCIIToWide("-journal")); 166 ASCIIToWide("-journal"));
157 } 167 }
158 168
159 FilePath SimpleDatabaseSystem::GetFullFilePathForVfsFile( 169 FilePath SimpleDatabaseSystem::GetFullFilePathForVfsFile(
160 const string16& vfs_file_name) { 170 const string16& vfs_file_name) {
161 AutoLock file_names_auto_lock(file_names_lock_); 171 AutoLock file_names_auto_lock(file_names_lock_);
162 DCHECK(file_names_.find(vfs_file_name) != file_names_.end()); 172 DCHECK(file_names_.find(vfs_file_name) != file_names_.end());
163 return file_names_[vfs_file_name]; 173 return file_names_[vfs_file_name];
164 } 174 }
OLDNEW
« no previous file with comments | « webkit/tools/test_shell/simple_database_system.h ('k') | webkit/tools/test_shell/test_shell.gyp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698