Index: third_party/sqlite/patches/0006-Modify-default-VFS-to-support-WebDatabase.patch |
diff --git a/third_party/sqlite/patches/0006-Modify-default-VFS-to-support-WebDatabase.patch b/third_party/sqlite/patches/0006-Modify-default-VFS-to-support-WebDatabase.patch |
deleted file mode 100644 |
index 4d2093307abff4334869b16b12c968d9d1a16c4b..0000000000000000000000000000000000000000 |
--- a/third_party/sqlite/patches/0006-Modify-default-VFS-to-support-WebDatabase.patch |
+++ /dev/null |
@@ -1,184 +0,0 @@ |
-From 25f1f784320aa0e32b69f78098b652b30df40865 Mon Sep 17 00:00:00 2001 |
-From: dumi <dumi@chromium.org> |
-Date: Mon, 20 Jul 2009 23:40:51 +0000 |
-Subject: [PATCH 06/23] Modify default VFS to support WebDatabase. |
- |
-The renderer WebDatabase implementation needs to broker certain requests |
-to the browser. This modifies SQLite to allow monkey-patching the VFS |
-to support this. |
- |
-NOTE(shess): This patch relies on core SQLite implementation details |
-remaining unchanged. When importing a new version of SQLite, pay very |
-close attention to whether the change is still doing what is intended. |
- |
-Original review URLs: |
-https://codereview.chromium.org/159044 |
-https://codereview.chromium.org/384075 |
-https://codereview.chromium.org/377039 |
-[Possibly not a complete list.] |
---- |
- third_party/sqlite/src/src/os_unix.c | 98 +++++++++++++++++++++++++++++------- |
- third_party/sqlite/src/src/os_win.c | 7 +++ |
- 2 files changed, 88 insertions(+), 17 deletions(-) |
- |
-diff --git a/third_party/sqlite/src/src/os_unix.c b/third_party/sqlite/src/src/os_unix.c |
-index 998e353..766b52a 100644 |
---- a/third_party/sqlite/src/src/os_unix.c |
-+++ b/third_party/sqlite/src/src/os_unix.c |
-@@ -4418,9 +4418,16 @@ typedef const sqlite3_io_methods *(*finder_type)(const char*,unixFile*); |
- */ |
- |
- /* |
-+** Initializes a unixFile structure with zeros. |
-+*/ |
-+void initUnixFile(sqlite3_file* file) { |
-+ memset(file, 0, sizeof(unixFile)); |
-+} |
-+ |
-+/* |
- ** Initialize the contents of the unixFile structure pointed to by pId. |
- */ |
--static int fillInUnixFile( |
-+int fillInUnixFile( |
- sqlite3_vfs *pVfs, /* Pointer to vfs object */ |
- int h, /* Open file descriptor of file being opened */ |
- int dirfd, /* Directory file descriptor */ |
-@@ -4834,6 +4841,73 @@ static int findCreateFileMode( |
- } |
- |
- /* |
-+** Initializes a unixFile structure with zeros. |
-+*/ |
-+void chromium_sqlite3_initialize_unix_sqlite3_file(sqlite3_file* file) { |
-+ memset(file, 0, sizeof(unixFile)); |
-+} |
-+ |
-+int chromium_sqlite3_fill_in_unix_sqlite3_file(sqlite3_vfs* vfs, |
-+ int fd, |
-+ int dirfd, |
-+ sqlite3_file* file, |
-+ const char* fileName, |
-+ int noLock, |
-+ int isDelete) { |
-+ return fillInUnixFile(vfs, fd, dirfd, file, fileName, noLock, isDelete, 0); |
-+} |
-+ |
-+/* |
-+** Search for an unused file descriptor that was opened on the database file. |
-+** If a suitable file descriptor if found, then it is stored in *fd; otherwise, |
-+** *fd is not modified. |
-+** |
-+** If a reusable file descriptor is not found, and a new UnixUnusedFd cannot |
-+** be allocated, SQLITE_NOMEM is returned. Otherwise, SQLITE_OK is returned. |
-+*/ |
-+int chromium_sqlite3_get_reusable_file_handle(sqlite3_file* file, |
-+ const char* fileName, |
-+ int flags, |
-+ int* fd) { |
-+ unixFile* unixSQLite3File = (unixFile*)file; |
-+ int fileType = flags & 0xFFFFFF00; |
-+ if (fileType == SQLITE_OPEN_MAIN_DB) { |
-+ UnixUnusedFd *unusedFd = findReusableFd(fileName, flags); |
-+ if (unusedFd) { |
-+ *fd = unusedFd->fd; |
-+ } else { |
-+ unusedFd = sqlite3_malloc(sizeof(*unusedFd)); |
-+ if (!unusedFd) { |
-+ return SQLITE_NOMEM; |
-+ } |
-+ } |
-+ unixSQLite3File->pUnused = unusedFd; |
-+ } |
-+ return SQLITE_OK; |
-+} |
-+ |
-+/* |
-+** Marks 'fd' as the unused file descriptor for 'pFile'. |
-+*/ |
-+void chromium_sqlite3_update_reusable_file_handle(sqlite3_file* file, |
-+ int fd, |
-+ int flags) { |
-+ unixFile* unixSQLite3File = (unixFile*)file; |
-+ if (unixSQLite3File->pUnused) { |
-+ unixSQLite3File->pUnused->fd = fd; |
-+ unixSQLite3File->pUnused->flags = flags; |
-+ } |
-+} |
-+ |
-+/* |
-+** Destroys pFile's field that keeps track of the unused file descriptor. |
-+*/ |
-+void chromium_sqlite3_destroy_reusable_file_handle(sqlite3_file* file) { |
-+ unixFile* unixSQLite3File = (unixFile*)file; |
-+ sqlite3_free(unixSQLite3File->pUnused); |
-+} |
-+ |
-+/* |
- ** Open the file zPath. |
- ** |
- ** Previously, the SQLite OS layer used three functions in place of this |
-@@ -4921,20 +4995,13 @@ static int unixOpen( |
- || eType==SQLITE_OPEN_TRANSIENT_DB || eType==SQLITE_OPEN_WAL |
- ); |
- |
-- memset(p, 0, sizeof(unixFile)); |
-+ chromium_sqlite3_initialize_unix_sqlite3_file(pFile); |
- |
- if( eType==SQLITE_OPEN_MAIN_DB ){ |
-- UnixUnusedFd *pUnused; |
-- pUnused = findReusableFd(zName, flags); |
-- if( pUnused ){ |
-- fd = pUnused->fd; |
-- }else{ |
-- pUnused = sqlite3_malloc(sizeof(*pUnused)); |
-- if( !pUnused ){ |
-- return SQLITE_NOMEM; |
-- } |
-+ rc = chromium_sqlite3_get_reusable_file_handle(pFile, zName, flags, &fd); |
-+ if( rc!=SQLITE_OK ){ |
-+ return rc; |
- } |
-- p->pUnused = pUnused; |
- }else if( !zName ){ |
- /* If zName is NULL, the upper layer is requesting a temp file. */ |
- assert(isDelete && !isOpenDirectory); |
-@@ -4984,10 +5051,7 @@ static int unixOpen( |
- *pOutFlags = flags; |
- } |
- |
-- if( p->pUnused ){ |
-- p->pUnused->fd = fd; |
-- p->pUnused->flags = flags; |
-- } |
-+ chromium_sqlite3_update_reusable_file_handle(pFile, fd, flags); |
- |
- if( isDelete ){ |
- #if OS_VXWORKS |
-@@ -5090,7 +5154,7 @@ static int unixOpen( |
- isDelete, isReadonly); |
- open_finished: |
- if( rc!=SQLITE_OK ){ |
-- sqlite3_free(p->pUnused); |
-+ chromium_sqlite3_destroy_reusable_file_handle(pFile); |
- } |
- return rc; |
- } |
-diff --git a/third_party/sqlite/src/src/os_win.c b/third_party/sqlite/src/src/os_win.c |
-index c876833..78e58b5 100644 |
---- a/third_party/sqlite/src/src/os_win.c |
-+++ b/third_party/sqlite/src/src/os_win.c |
-@@ -2784,4 +2784,11 @@ int sqlite3_os_end(void){ |
- return SQLITE_OK; |
- } |
- |
-+void chromium_sqlite3_initialize_win_sqlite3_file(sqlite3_file* file, HANDLE handle) { |
-+ winFile* winSQLite3File = (winFile*)file; |
-+ memset(file, 0, sizeof(*file)); |
-+ winSQLite3File->pMethod = &winIoMethod; |
-+ winSQLite3File->h = handle; |
-+} |
-+ |
- #endif /* SQLITE_OS_WIN */ |
--- |
-2.2.1 |
- |