OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 "content/child/database_util.h" | 5 #include "content/child/database_util.h" |
6 | 6 |
7 #include "content/common/database_messages.h" | 7 #include "content/common/database_messages.h" |
8 #include "ipc/ipc_sync_message_filter.h" | 8 #include "ipc/ipc_sync_message_filter.h" |
9 #include "third_party/WebKit/public/platform/WebString.h" | 9 #include "third_party/WebKit/public/platform/WebString.h" |
10 #include "third_party/sqlite/sqlite3.h" | 10 #include "third_party/sqlite/sqlite3.h" |
11 | 11 |
12 using blink::Platform; | 12 using blink::Platform; |
13 using blink::WebString; | 13 using blink::WebString; |
14 | 14 |
15 namespace content { | 15 namespace content { |
16 | 16 |
17 Platform::FileHandle DatabaseUtil::DatabaseOpenFile( | 17 Platform::FileHandle DatabaseUtil::DatabaseOpenFile( |
18 const WebString& vfs_file_name, | 18 const WebString& vfs_file_name, |
19 int desired_flags, | 19 int desired_flags, |
20 IPC::SyncMessageFilter* sync_message_filter) { | 20 IPC::SyncMessageFilter* sync_message_filter) { |
21 IPC::PlatformFileForTransit file_handle = | 21 IPC::PlatformFileForTransit file_handle = |
22 IPC::InvalidPlatformFileForTransit(); | 22 IPC::InvalidPlatformFileForTransit(); |
23 | 23 |
24 scoped_refptr<IPC::SyncMessageFilter> filter(sync_message_filter); | 24 sync_message_filter->Send(new DatabaseHostMsg_OpenFile( |
25 filter->Send(new DatabaseHostMsg_OpenFile( | |
26 vfs_file_name, desired_flags, &file_handle)); | 25 vfs_file_name, desired_flags, &file_handle)); |
27 | 26 |
28 return IPC::PlatformFileForTransitToPlatformFile(file_handle); | 27 return IPC::PlatformFileForTransitToPlatformFile(file_handle); |
29 } | 28 } |
30 | 29 |
31 int DatabaseUtil::DatabaseDeleteFile( | 30 int DatabaseUtil::DatabaseDeleteFile( |
32 const WebString& vfs_file_name, | 31 const WebString& vfs_file_name, |
33 bool sync_dir, | 32 bool sync_dir, |
34 IPC::SyncMessageFilter* sync_message_filter) { | 33 IPC::SyncMessageFilter* sync_message_filter) { |
35 int rv = SQLITE_IOERR_DELETE; | 34 int rv = SQLITE_IOERR_DELETE; |
36 scoped_refptr<IPC::SyncMessageFilter> filter(sync_message_filter); | 35 sync_message_filter->Send( |
37 filter->Send(new DatabaseHostMsg_DeleteFile( | 36 new DatabaseHostMsg_DeleteFile(vfs_file_name, sync_dir, &rv)); |
38 vfs_file_name, sync_dir, &rv)); | |
39 return rv; | 37 return rv; |
40 } | 38 } |
41 | 39 |
42 long DatabaseUtil::DatabaseGetFileAttributes( | 40 long DatabaseUtil::DatabaseGetFileAttributes( |
43 const WebString& vfs_file_name, | 41 const WebString& vfs_file_name, |
44 IPC::SyncMessageFilter* sync_message_filter) { | 42 IPC::SyncMessageFilter* sync_message_filter) { |
45 int32 rv = -1; | 43 int32 rv = -1; |
46 scoped_refptr<IPC::SyncMessageFilter> filter(sync_message_filter); | 44 sync_message_filter->Send( |
47 filter->Send(new DatabaseHostMsg_GetFileAttributes(vfs_file_name, &rv)); | 45 new DatabaseHostMsg_GetFileAttributes(vfs_file_name, &rv)); |
48 return rv; | 46 return rv; |
49 } | 47 } |
50 | 48 |
51 long long DatabaseUtil::DatabaseGetFileSize( | 49 long long DatabaseUtil::DatabaseGetFileSize( |
52 const WebString& vfs_file_name, | 50 const WebString& vfs_file_name, |
53 IPC::SyncMessageFilter* sync_message_filter) { | 51 IPC::SyncMessageFilter* sync_message_filter) { |
54 int64 rv = 0LL; | 52 int64 rv = 0LL; |
55 scoped_refptr<IPC::SyncMessageFilter> filter(sync_message_filter); | 53 sync_message_filter->Send( |
56 filter->Send(new DatabaseHostMsg_GetFileSize(vfs_file_name, &rv)); | 54 new DatabaseHostMsg_GetFileSize(vfs_file_name, &rv)); |
57 return rv; | 55 return rv; |
58 } | 56 } |
59 | 57 |
60 long long DatabaseUtil::DatabaseGetSpaceAvailable( | 58 long long DatabaseUtil::DatabaseGetSpaceAvailable( |
61 const WebString& origin_identifier, | 59 const WebString& origin_identifier, |
62 IPC::SyncMessageFilter* sync_message_filter) { | 60 IPC::SyncMessageFilter* sync_message_filter) { |
63 int64 rv = 0LL; | 61 int64 rv = 0LL; |
64 scoped_refptr<IPC::SyncMessageFilter> filter(sync_message_filter); | 62 sync_message_filter->Send( |
65 filter->Send(new DatabaseHostMsg_GetSpaceAvailable(origin_identifier.utf8(), | 63 new DatabaseHostMsg_GetSpaceAvailable(origin_identifier.utf8(), &rv)); |
66 &rv)); | |
67 return rv; | 64 return rv; |
68 } | 65 } |
69 | 66 |
| 67 bool DatabaseUtil::DatabaseSetFileSize( |
| 68 const WebString& vfs_file_name, |
| 69 int64 size, |
| 70 IPC::SyncMessageFilter* sync_message_filter) { |
| 71 bool rv = false; |
| 72 sync_message_filter->Send( |
| 73 new DatabaseHostMsg_SetFileSize(vfs_file_name, size, &rv)); |
| 74 return rv; |
| 75 } |
| 76 |
70 } // namespace content | 77 } // namespace content |
OLD | NEW |