diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2022-02-04 17:20:24 +0100 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2022-02-12 08:15:25 +0000 |
commit | 8fa0776f1f79e91fc9c0b9c1ba11a0a29c05196b (patch) | |
tree | 788d8d7549712682703a0310ca4a0f0860d4802b /chromium/sql | |
parent | 606d85f2a5386472314d39923da28c70c60dc8e7 (diff) | |
download | qtwebengine-chromium-8fa0776f1f79e91fc9c0b9c1ba11a0a29c05196b.tar.gz |
BASELINE: Update Chromium to 98.0.4758.90
Change-Id: Ib7c41539bf8a8e0376bd639f27d68294de90f3c8
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Diffstat (limited to 'chromium/sql')
-rw-r--r-- | chromium/sql/database.cc | 10 | ||||
-rw-r--r-- | chromium/sql/database.h | 5 | ||||
-rw-r--r-- | chromium/sql/database_memory_dump_provider.h | 3 | ||||
-rw-r--r-- | chromium/sql/database_unittest.cc | 3 | ||||
-rw-r--r-- | chromium/sql/meta_table.h | 4 | ||||
-rw-r--r-- | chromium/sql/recover_module/cursor.h | 3 | ||||
-rw-r--r-- | chromium/sql/recover_module/pager.h | 3 | ||||
-rw-r--r-- | chromium/sql/recover_module/payload.h | 3 | ||||
-rw-r--r-- | chromium/sql/recover_module/record.h | 3 | ||||
-rw-r--r-- | chromium/sql/recover_module/table.h | 3 | ||||
-rw-r--r-- | chromium/sql/recovery.cc | 1 | ||||
-rw-r--r-- | chromium/sql/recovery.h | 3 | ||||
-rw-r--r-- | chromium/sql/sandboxed_vfs_file.h | 6 | ||||
-rw-r--r-- | chromium/sql/sqlite_features_unittest.cc | 25 | ||||
-rw-r--r-- | chromium/sql/vfs_wrapper.cc | 13 |
15 files changed, 53 insertions, 35 deletions
diff --git a/chromium/sql/database.cc b/chromium/sql/database.cc index f104d45e2cf..9252e4b345b 100644 --- a/chromium/sql/database.cc +++ b/chromium/sql/database.cc @@ -17,12 +17,13 @@ #include "base/files/file_path.h" #include "base/files/file_util.h" #include "base/format_macros.h" +#include "base/ignore_result.h" #include "base/location.h" #include "base/logging.h" +#include "base/memory/raw_ptr.h" #include "base/no_destructor.h" #include "base/numerics/safe_conversions.h" #include "base/ranges/algorithm.h" -#include "base/single_thread_task_runner.h" #include "base/strings/strcat.h" #include "base/strings/string_number_conversions.h" #include "base/strings/string_piece.h" @@ -31,6 +32,7 @@ #include "base/strings/stringprintf.h" #include "base/strings/utf_string_conversions.h" #include "base/synchronization/lock.h" +#include "base/task/single_thread_task_runner.h" #include "base/threading/scoped_blocking_call.h" #include "base/trace_event/memory_dump_manager.h" #include "base/trace_event/trace_event.h" @@ -65,7 +67,7 @@ class ScopedBusyTimeout { } private: - sqlite3* db_; + raw_ptr<sqlite3> db_; }; // Helper to "safely" enable writable_schema. No error checking @@ -84,7 +86,7 @@ class ScopedWritableSchema { } private: - sqlite3* db_; + raw_ptr<sqlite3> db_; }; // Helper to wrap the sqlite3_backup_*() step of Raze(). Return @@ -450,6 +452,8 @@ base::FilePath Database::DbPath() const { return base::FilePath(); const char* path = sqlite3_db_filename(db_, "main"); + if (!path) + return base::FilePath(); const base::StringPiece db_path(path); #if defined(OS_WIN) return base::FilePath(base::UTF8ToWide(db_path)); diff --git a/chromium/sql/database.h b/chromium/sql/database.h index ec31ec637a4..ac258b238d8 100644 --- a/chromium/sql/database.h +++ b/chromium/sql/database.h @@ -19,6 +19,7 @@ #include "base/containers/flat_map.h" #include "base/feature_list.h" #include "base/gtest_prod_util.h" +#include "base/memory/raw_ptr.h" #include "base/memory/ref_counted.h" #include "base/sequence_checker.h" #include "base/strings/string_piece.h" @@ -692,8 +693,8 @@ class COMPONENT_EXPORT(SQL) Database { ~StatementRef(); - Database* database_; - sqlite3_stmt* stmt_; + raw_ptr<Database> database_; + raw_ptr<sqlite3_stmt> stmt_; bool was_valid_; }; friend class StatementRef; diff --git a/chromium/sql/database_memory_dump_provider.h b/chromium/sql/database_memory_dump_provider.h index 3b612c04670..f14d846a75b 100644 --- a/chromium/sql/database_memory_dump_provider.h +++ b/chromium/sql/database_memory_dump_provider.h @@ -7,6 +7,7 @@ #include <string> +#include "base/memory/raw_ptr.h" #include "base/synchronization/lock.h" #include "base/trace_event/memory_dump_provider.h" @@ -48,7 +49,7 @@ class DatabaseMemoryDumpProvider std::string FormatDumpName() const; - sqlite3* db_; // not owned. + raw_ptr<sqlite3> db_; // not owned. base::Lock lock_; std::string connection_name_; }; diff --git a/chromium/sql/database_unittest.cc b/chromium/sql/database_unittest.cc index a4a3e66a369..39096470035 100644 --- a/chromium/sql/database_unittest.cc +++ b/chromium/sql/database_unittest.cc @@ -12,6 +12,7 @@ #include "base/files/file_util.h" #include "base/files/scoped_temp_dir.h" #include "base/logging.h" +#include "base/memory/raw_ptr.h" #include "base/strings/string_number_conversions.h" #include "base/test/bind.h" #include "base/test/gtest_util.h" @@ -56,7 +57,7 @@ class RefCounter { ~RefCounter() { (*counter_)--; } private: - size_t* counter_; + raw_ptr<size_t> counter_; }; // Empty callback for implementation of ErrorCallbackSetHelper(). diff --git a/chromium/sql/meta_table.h b/chromium/sql/meta_table.h index 9465e933ff2..70304764fe5 100644 --- a/chromium/sql/meta_table.h +++ b/chromium/sql/meta_table.h @@ -9,7 +9,7 @@ #include <string> #include "base/component_export.h" -#include "base/macros.h" +#include "base/memory/raw_ptr.h" namespace sql { @@ -127,7 +127,7 @@ class COMPONENT_EXPORT(SQL) MetaTable { void PrepareSetStatement(Statement* statement, const char* key); bool PrepareGetStatement(Statement* statement, const char* key); - Database* db_ = nullptr; + raw_ptr<Database> db_ = nullptr; }; } // namespace sql diff --git a/chromium/sql/recover_module/cursor.h b/chromium/sql/recover_module/cursor.h index afcd6900e14..845b7852648 100644 --- a/chromium/sql/recover_module/cursor.h +++ b/chromium/sql/recover_module/cursor.h @@ -11,6 +11,7 @@ #include <utility> #include "base/check_op.h" +#include "base/memory/raw_ptr.h" #include "base/sequence_checker.h" #include "sql/recover_module/btree.h" #include "sql/recover_module/pager.h" @@ -111,7 +112,7 @@ class VirtualCursor { // Raw pointer usage is acceptable because SQLite will ensure that the // VirtualTable, which is passed around as a sqlite3_vtab*, will outlive this // cursor, which is passed around as a sqlite3_cursor*. - VirtualTable* const table_; + const raw_ptr<VirtualTable> table_; // Reads database pages for this cursor. DatabasePageReader db_reader_; diff --git a/chromium/sql/recover_module/pager.h b/chromium/sql/recover_module/pager.h index 5976d21679e..07cac3cb989 100644 --- a/chromium/sql/recover_module/pager.h +++ b/chromium/sql/recover_module/pager.h @@ -10,6 +10,7 @@ #include <ostream> #include "base/check_op.h" +#include "base/memory/raw_ptr.h" #include "base/sequence_checker.h" struct sqlite3_file; @@ -141,7 +142,7 @@ class DatabasePageReader { const std::unique_ptr<uint8_t[]> page_data_; // Raw pointer usage is acceptable because this instance's owner is expected // to ensure that the VirtualTable outlives this. - VirtualTable* const table_; + const raw_ptr<VirtualTable> table_; int page_size_ = 0; SEQUENCE_CHECKER(sequence_checker_); diff --git a/chromium/sql/recover_module/payload.h b/chromium/sql/recover_module/payload.h index 6deedacacdb..645907f809d 100644 --- a/chromium/sql/recover_module/payload.h +++ b/chromium/sql/recover_module/payload.h @@ -10,6 +10,7 @@ #include <vector> #include "base/check_op.h" +#include "base/memory/raw_ptr.h" #include "base/sequence_checker.h" #include "sql/recover_module/pager.h" @@ -105,7 +106,7 @@ class LeafPayloadReader { // // Raw pointer usage is acceptable because this instance's owner is expected // to ensure that the DatabasePageReader outlives this. - DatabasePageReader* const db_reader_; + const raw_ptr<DatabasePageReader> db_reader_; // Total size of the current payload. int64_t payload_size_; diff --git a/chromium/sql/recover_module/record.h b/chromium/sql/recover_module/record.h index b1f5b1072cf..ac2e0a53224 100644 --- a/chromium/sql/recover_module/record.h +++ b/chromium/sql/recover_module/record.h @@ -8,6 +8,7 @@ #include <cstdint> #include <vector> +#include "base/memory/raw_ptr.h" #include "base/sequence_checker.h" struct sqlite3_context; @@ -139,7 +140,7 @@ class RecordReader { // // Raw pointer usage is acceptable because this instance's owner is expected // to ensure that the LeafPayloadReader outlives this. - LeafPayloadReader* const payload_reader_; + const raw_ptr<LeafPayloadReader> payload_reader_; // The number of columns in the table schema. No payload should have more than // this number of columns. diff --git a/chromium/sql/recover_module/table.h b/chromium/sql/recover_module/table.h index bf872eaafd0..ee4c7a5d160 100644 --- a/chromium/sql/recover_module/table.h +++ b/chromium/sql/recover_module/table.h @@ -12,6 +12,7 @@ #include <vector> #include "base/check_op.h" +#include "base/memory/raw_ptr.h" #include "sql/recover_module/parsing.h" #include "third_party/sqlite/sqlite3.h" @@ -103,7 +104,7 @@ class VirtualTable { sqlite3_vtab sqlite_table_; // See the corresponding getters for these members' purpose. - sqlite3_file* const sqlite_file_; + const raw_ptr<sqlite3_file> sqlite_file_; const int root_page_id_; const int page_size_; const std::vector<RecoveredColumnSpec> column_specs_; diff --git a/chromium/sql/recovery.cc b/chromium/sql/recovery.cc index d0a06c03e23..b1410e431df 100644 --- a/chromium/sql/recovery.cc +++ b/chromium/sql/recovery.cc @@ -14,6 +14,7 @@ #include "base/check_op.h" #include "base/files/file_path.h" #include "base/format_macros.h" +#include "base/ignore_result.h" #include "base/logging.h" #include "base/notreached.h" #include "base/strings/string_util.h" diff --git a/chromium/sql/recovery.h b/chromium/sql/recovery.h index c140655a51b..79f6fc58918 100644 --- a/chromium/sql/recovery.h +++ b/chromium/sql/recovery.h @@ -10,6 +10,7 @@ #include <memory> #include "base/component_export.h" +#include "base/memory/raw_ptr.h" #include "sql/database.h" #include "sql/internal_api_token.h" @@ -201,7 +202,7 @@ class COMPONENT_EXPORT(SQL) Recovery { }; void Shutdown(Disposition raze); - Database* db_; // Original Database connection. + raw_ptr<Database> db_; // Original Database connection. Database recover_db_; // Recovery Database connection. }; diff --git a/chromium/sql/sandboxed_vfs_file.h b/chromium/sql/sandboxed_vfs_file.h index c1cfc6f98b9..59039a0bca5 100644 --- a/chromium/sql/sandboxed_vfs_file.h +++ b/chromium/sql/sandboxed_vfs_file.h @@ -7,6 +7,7 @@ #include "base/files/file.h" #include "base/files/file_path.h" +#include "base/memory/raw_ptr.h" #include "third_party/sqlite/sqlite3.h" namespace sql { @@ -75,7 +76,7 @@ class SandboxedVfsFile { // One of the SQLite locking mode constants. int sqlite_lock_mode_; // The SandboxedVfs that created this instance. - SandboxedVfs* const vfs_; + const raw_ptr<SandboxedVfs> vfs_; // Used to identify the file in IPCs to the browser process. const base::FilePath file_path_; }; @@ -83,6 +84,9 @@ class SandboxedVfsFile { // sqlite3_file "subclass" that bridges to a SandboxedVfsFile instance. struct SandboxedVfsFileSqliteBridge { sqlite3_file sqlite_file; + // `sandboxed_vfs_file` is not a raw_ptr<SandboxedVfsFile>, because + // reinterpret_cast of uninitialized memory to raw_ptr can cause ref-counting + // mismatch. SandboxedVfsFile* sandboxed_vfs_file; static SandboxedVfsFileSqliteBridge& FromSqliteFile( diff --git a/chromium/sql/sqlite_features_unittest.cc b/chromium/sql/sqlite_features_unittest.cc index 6d50b25b9e2..1de3c6649f7 100644 --- a/chromium/sql/sqlite_features_unittest.cc +++ b/chromium/sql/sqlite_features_unittest.cc @@ -12,6 +12,7 @@ #include "base/files/file_util.h" #include "base/files/memory_mapped_file.h" #include "base/files/scoped_temp_dir.h" +#include "base/ignore_result.h" #include "build/build_config.h" #include "sql/database.h" #include "sql/statement.h" @@ -20,8 +21,8 @@ #include "testing/gtest/include/gtest/gtest.h" #include "third_party/sqlite/sqlite3.h" -#if defined(OS_MAC) -#include "base/mac/mac_util.h" +#if defined(OS_APPLE) +#include "base/mac/backup_util.h" #endif // Test that certain features are/are-not enabled in our SQLite. @@ -291,9 +292,9 @@ TEST_F(SQLiteFeaturesTest, CachedRegexp) { EXPECT_EQ(7, s.ColumnInt(0)); } -#if defined(OS_MAC) -// If a database file is marked to be excluded from Time Machine, verify that -// journal files are also excluded. +#if defined(OS_APPLE) +// If a database file is marked to be excluded from backups, verify that journal +// files are also excluded. TEST_F(SQLiteFeaturesTest, TimeMachine) { ASSERT_TRUE(db_.Execute("CREATE TABLE t (id INTEGER PRIMARY KEY)")); db_.Close(); @@ -303,19 +304,19 @@ TEST_F(SQLiteFeaturesTest, TimeMachine) { ASSERT_TRUE(base::PathExists(journal_path)); // Not excluded to start. - EXPECT_FALSE(base::mac::GetFileBackupExclusion(db_path_)); - EXPECT_FALSE(base::mac::GetFileBackupExclusion(journal_path)); + EXPECT_FALSE(base::mac::GetBackupExclusion(db_path_)); + EXPECT_FALSE(base::mac::GetBackupExclusion(journal_path)); // Exclude the main database file. - EXPECT_TRUE(base::mac::SetFileBackupExclusion(db_path_)); + EXPECT_TRUE(base::mac::SetBackupExclusion(db_path_)); - EXPECT_TRUE(base::mac::GetFileBackupExclusion(db_path_)); - EXPECT_FALSE(base::mac::GetFileBackupExclusion(journal_path)); + EXPECT_TRUE(base::mac::GetBackupExclusion(db_path_)); + EXPECT_FALSE(base::mac::GetBackupExclusion(journal_path)); EXPECT_TRUE(db_.Open(db_path_)); ASSERT_TRUE(db_.Execute("INSERT INTO t VALUES (1)")); - EXPECT_TRUE(base::mac::GetFileBackupExclusion(db_path_)); - EXPECT_TRUE(base::mac::GetFileBackupExclusion(journal_path)); + EXPECT_TRUE(base::mac::GetBackupExclusion(db_path_)); + EXPECT_TRUE(base::mac::GetBackupExclusion(journal_path)); // TODO(shess): In WAL mode this will touch -wal and -shm files. -shm files // could be always excluded. diff --git a/chromium/sql/vfs_wrapper.cc b/chromium/sql/vfs_wrapper.cc index db1e20af76e..f5b74e02b3a 100644 --- a/chromium/sql/vfs_wrapper.cc +++ b/chromium/sql/vfs_wrapper.cc @@ -17,8 +17,8 @@ #include "base/strings/string_piece.h" #include "build/build_config.h" -#if defined(OS_MAC) -#include "base/mac/mac_util.h" +#if defined(OS_APPLE) +#include "base/mac/backup_util.h" #endif #if defined(OS_FUCHSIA) @@ -192,8 +192,8 @@ int Open(sqlite3_vfs* vfs, const char* file_name, sqlite3_file* wrapper_file, // NOTE(shess): Any early exit from here needs to call xClose() on // |wrapped_file|. -#if defined(OS_MAC) - // When opening journal files, propagate time-machine exclusion from db. +#if defined(OS_APPLE) + // When opening journal files, propagate backup exclusion from db. static int kJournalFlags = SQLITE_OPEN_MAIN_JOURNAL | SQLITE_OPEN_TEMP_JOURNAL | SQLITE_OPEN_SUBJOURNAL | SQLITE_OPEN_MASTER_JOURNAL; @@ -204,9 +204,8 @@ int Open(sqlite3_vfs* vfs, const char* file_name, sqlite3_file* wrapper_file, size_t dash_index = file_name_string_piece.rfind('-'); if (dash_index != base::StringPiece::npos) { base::StringPiece db_name(file_name, dash_index); - if (base::mac::GetFileBackupExclusion(base::FilePath(db_name))) { - base::mac::SetFileBackupExclusion( - base::FilePath(file_name_string_piece)); + if (base::mac::GetBackupExclusion(base::FilePath(db_name))) { + base::mac::SetBackupExclusion(base::FilePath(file_name_string_piece)); } } } |