OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "webkit/browser/database/database_quota_client.h" | 5 #include "webkit/browser/database/database_quota_client.h" |
6 | 6 |
7 #include <vector> | 7 #include <vector> |
8 | 8 |
9 #include "base/bind.h" | 9 #include "base/bind.h" |
10 #include "base/bind_helpers.h" | 10 #include "base/bind_helpers.h" |
11 #include "base/location.h" | 11 #include "base/location.h" |
12 #include "base/memory/scoped_ptr.h" | 12 #include "base/memory/scoped_ptr.h" |
13 #include "base/message_loop/message_loop_proxy.h" | 13 #include "base/message_loop/message_loop_proxy.h" |
14 #include "base/task_runner_util.h" | 14 #include "base/task_runner_util.h" |
15 #include "net/base/net_errors.h" | 15 #include "net/base/net_errors.h" |
16 #include "net/base/net_util.h" | 16 #include "net/base/net_util.h" |
17 #include "webkit/base/origin_url_conversions.h" | |
18 #include "webkit/browser/database/database_tracker.h" | 17 #include "webkit/browser/database/database_tracker.h" |
19 #include "webkit/browser/database/database_util.h" | 18 #include "webkit/browser/database/database_util.h" |
| 19 #include "webkit/common/database/database_identifier.h" |
20 | 20 |
21 using quota::QuotaClient; | 21 using quota::QuotaClient; |
22 | 22 |
23 namespace webkit_database { | 23 namespace webkit_database { |
24 | 24 |
25 namespace { | 25 namespace { |
26 | 26 |
27 int64 GetOriginUsageOnDBThread( | 27 int64 GetOriginUsageOnDBThread( |
28 DatabaseTracker* db_tracker, | 28 DatabaseTracker* db_tracker, |
29 const GURL& origin_url) { | 29 const GURL& origin_url) { |
30 OriginInfo info; | 30 OriginInfo info; |
31 if (db_tracker->GetOriginInfo( | 31 if (db_tracker->GetOriginInfo( |
32 webkit_base::GetOriginIdentifierFromURL(origin_url), &info)) | 32 webkit_database::GetIdentifierFromOrigin(origin_url), &info)) |
33 return info.TotalSize(); | 33 return info.TotalSize(); |
34 return 0; | 34 return 0; |
35 } | 35 } |
36 | 36 |
37 void GetOriginsOnDBThread( | 37 void GetOriginsOnDBThread( |
38 DatabaseTracker* db_tracker, | 38 DatabaseTracker* db_tracker, |
39 std::set<GURL>* origins_ptr) { | 39 std::set<GURL>* origins_ptr) { |
40 std::vector<std::string> origin_identifiers; | 40 std::vector<std::string> origin_identifiers; |
41 if (db_tracker->GetAllOriginIdentifiers(&origin_identifiers)) { | 41 if (db_tracker->GetAllOriginIdentifiers(&origin_identifiers)) { |
42 for (std::vector<std::string>::const_iterator iter = | 42 for (std::vector<std::string>::const_iterator iter = |
43 origin_identifiers.begin(); | 43 origin_identifiers.begin(); |
44 iter != origin_identifiers.end(); ++iter) { | 44 iter != origin_identifiers.end(); ++iter) { |
45 GURL origin = webkit_base::GetOriginURLFromIdentifier(*iter); | 45 GURL origin = webkit_database::GetOriginFromIdentifier(*iter); |
46 origins_ptr->insert(origin); | 46 origins_ptr->insert(origin); |
47 } | 47 } |
48 } | 48 } |
49 } | 49 } |
50 | 50 |
51 void GetOriginsForHostOnDBThread( | 51 void GetOriginsForHostOnDBThread( |
52 DatabaseTracker* db_tracker, | 52 DatabaseTracker* db_tracker, |
53 std::set<GURL>* origins_ptr, | 53 std::set<GURL>* origins_ptr, |
54 const std::string& host) { | 54 const std::string& host) { |
55 std::vector<std::string> origin_identifiers; | 55 std::vector<std::string> origin_identifiers; |
56 if (db_tracker->GetAllOriginIdentifiers(&origin_identifiers)) { | 56 if (db_tracker->GetAllOriginIdentifiers(&origin_identifiers)) { |
57 for (std::vector<std::string>::const_iterator iter = | 57 for (std::vector<std::string>::const_iterator iter = |
58 origin_identifiers.begin(); | 58 origin_identifiers.begin(); |
59 iter != origin_identifiers.end(); ++iter) { | 59 iter != origin_identifiers.end(); ++iter) { |
60 GURL origin = webkit_base::GetOriginURLFromIdentifier(*iter); | 60 GURL origin = webkit_database::GetOriginFromIdentifier(*iter); |
61 if (host == net::GetHostOrSpecFromURL(origin)) | 61 if (host == net::GetHostOrSpecFromURL(origin)) |
62 origins_ptr->insert(origin); | 62 origins_ptr->insert(origin); |
63 } | 63 } |
64 } | 64 } |
65 } | 65 } |
66 | 66 |
67 void DidGetOrigins( | 67 void DidGetOrigins( |
68 const QuotaClient::GetOriginsCallback& callback, | 68 const QuotaClient::GetOriginsCallback& callback, |
69 std::set<GURL>* origins_ptr) { | 69 std::set<GURL>* origins_ptr) { |
70 callback.Run(*origins_ptr); | 70 callback.Run(*origins_ptr); |
(...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
203 base::Callback<void(int)> delete_callback = | 203 base::Callback<void(int)> delete_callback = |
204 base::Bind(&DidDeleteOriginData, | 204 base::Bind(&DidDeleteOriginData, |
205 base::MessageLoopProxy::current(), | 205 base::MessageLoopProxy::current(), |
206 callback); | 206 callback); |
207 | 207 |
208 PostTaskAndReplyWithResult( | 208 PostTaskAndReplyWithResult( |
209 db_tracker_thread_.get(), | 209 db_tracker_thread_.get(), |
210 FROM_HERE, | 210 FROM_HERE, |
211 base::Bind(&DatabaseTracker::DeleteDataForOrigin, | 211 base::Bind(&DatabaseTracker::DeleteDataForOrigin, |
212 db_tracker_, | 212 db_tracker_, |
213 webkit_base::GetOriginIdentifierFromURL(origin), | 213 webkit_database::GetIdentifierFromOrigin(origin), |
214 delete_callback), | 214 delete_callback), |
215 delete_callback); | 215 delete_callback); |
216 } | 216 } |
217 | 217 |
218 } // namespace webkit_database | 218 } // namespace webkit_database |
OLD | NEW |