/content/child/database_util.cc

https://gitlab.com/0072016/Facebook-SDK- · C++ · 77 lines · 61 code · 13 blank · 3 comment · 0 complexity · 7ff0bd1559d7fedf67e1037dd2a85e0c MD5 · raw file

  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
  3. // found in the LICENSE file.
  4. #include "content/child/database_util.h"
  5. #include "content/common/database_messages.h"
  6. #include "ipc/ipc_sync_message_filter.h"
  7. #include "third_party/WebKit/public/platform/WebString.h"
  8. #include "third_party/sqlite/sqlite3.h"
  9. using blink::Platform;
  10. using blink::WebString;
  11. namespace content {
  12. Platform::FileHandle DatabaseUtil::DatabaseOpenFile(
  13. const WebString& vfs_file_name,
  14. int desired_flags,
  15. IPC::SyncMessageFilter* sync_message_filter) {
  16. IPC::PlatformFileForTransit file_handle =
  17. IPC::InvalidPlatformFileForTransit();
  18. sync_message_filter->Send(new DatabaseHostMsg_OpenFile(
  19. vfs_file_name, desired_flags, &file_handle));
  20. return IPC::PlatformFileForTransitToPlatformFile(file_handle);
  21. }
  22. int DatabaseUtil::DatabaseDeleteFile(
  23. const WebString& vfs_file_name,
  24. bool sync_dir,
  25. IPC::SyncMessageFilter* sync_message_filter) {
  26. int rv = SQLITE_IOERR_DELETE;
  27. sync_message_filter->Send(
  28. new DatabaseHostMsg_DeleteFile(vfs_file_name, sync_dir, &rv));
  29. return rv;
  30. }
  31. long DatabaseUtil::DatabaseGetFileAttributes(
  32. const WebString& vfs_file_name,
  33. IPC::SyncMessageFilter* sync_message_filter) {
  34. int32_t rv = -1;
  35. sync_message_filter->Send(
  36. new DatabaseHostMsg_GetFileAttributes(vfs_file_name, &rv));
  37. return rv;
  38. }
  39. long long DatabaseUtil::DatabaseGetFileSize(
  40. const WebString& vfs_file_name,
  41. IPC::SyncMessageFilter* sync_message_filter) {
  42. int64_t rv = 0LL;
  43. sync_message_filter->Send(
  44. new DatabaseHostMsg_GetFileSize(vfs_file_name, &rv));
  45. return rv;
  46. }
  47. long long DatabaseUtil::DatabaseGetSpaceAvailable(
  48. const WebString& origin_identifier,
  49. IPC::SyncMessageFilter* sync_message_filter) {
  50. int64_t rv = 0LL;
  51. sync_message_filter->Send(
  52. new DatabaseHostMsg_GetSpaceAvailable(origin_identifier.utf8(), &rv));
  53. return rv;
  54. }
  55. bool DatabaseUtil::DatabaseSetFileSize(
  56. const WebString& vfs_file_name,
  57. int64_t size,
  58. IPC::SyncMessageFilter* sync_message_filter) {
  59. bool rv = false;
  60. sync_message_filter->Send(
  61. new DatabaseHostMsg_SetFileSize(vfs_file_name, size, &rv));
  62. return rv;
  63. }
  64. } // namespace content