diff options
Diffstat (limited to 'deps/v8/third_party')
-rw-r--r-- | deps/v8/third_party/inspector_protocol/crdtp/json_platform_v8.cc | 3 | ||||
-rw-r--r-- | deps/v8/third_party/zlib/google/zip.cc | 4 | ||||
-rw-r--r-- | deps/v8/third_party/zlib/google/zip.h | 7 | ||||
-rw-r--r-- | deps/v8/third_party/zlib/google/zip_reader.cc | 1 | ||||
-rw-r--r-- | deps/v8/third_party/zlib/google/zip_reader.h | 1 | ||||
-rw-r--r-- | deps/v8/third_party/zlib/google/zip_reader_unittest.cc | 9 | ||||
-rw-r--r-- | deps/v8/third_party/zlib/google/zip_unittest.cc | 1 | ||||
-rw-r--r-- | deps/v8/third_party/zlib/google/zip_writer.cc | 19 | ||||
-rw-r--r-- | deps/v8/third_party/zlib/google/zip_writer.h | 8 |
9 files changed, 36 insertions, 17 deletions
diff --git a/deps/v8/third_party/inspector_protocol/crdtp/json_platform_v8.cc b/deps/v8/third_party/inspector_protocol/crdtp/json_platform_v8.cc index a973a7292d..497bb708e5 100644 --- a/deps/v8/third_party/inspector_protocol/crdtp/json_platform_v8.cc +++ b/deps/v8/third_party/inspector_protocol/crdtp/json_platform_v8.cc @@ -16,7 +16,8 @@ namespace platform { // Parses |str| into |result|. Returns false iff there are // leftover characters or parsing errors. bool StrToD(const char* str, double* result) { - *result = v8::internal::StringToDouble(str, v8::internal::NO_FLAGS); + *result = + v8::internal::StringToDouble(str, v8::internal::NO_CONVERSION_FLAGS); return std::isfinite(*result); } diff --git a/deps/v8/third_party/zlib/google/zip.cc b/deps/v8/third_party/zlib/google/zip.cc index 7c9bd6190c..7c46718808 100644 --- a/deps/v8/third_party/zlib/google/zip.cc +++ b/deps/v8/third_party/zlib/google/zip.cc @@ -115,7 +115,8 @@ class DirectFileAccessor : public FileAccessor { std::ostream& operator<<(std::ostream& out, const Progress& progress) { return out << progress.bytes << " bytes, " << progress.files << " files, " - << progress.directories << " dirs"; + << progress.directories << " dirs, " << progress.errors + << " errors"; } bool Zip(const ZipParams& params) { @@ -143,6 +144,7 @@ bool Zip(const ZipParams& params) { zip_writer->SetProgressCallback(params.progress_callback, params.progress_period); zip_writer->SetRecursive(params.recursive); + zip_writer->ContinueOnError(params.continue_on_error); if (!params.include_hidden_files || params.filter_callback) zip_writer->SetFilterCallback(base::BindRepeating( diff --git a/deps/v8/third_party/zlib/google/zip.h b/deps/v8/third_party/zlib/google/zip.h index ae08a24ef1..ecaecb1dc9 100644 --- a/deps/v8/third_party/zlib/google/zip.h +++ b/deps/v8/third_party/zlib/google/zip.h @@ -68,6 +68,10 @@ struct Progress { // Number of directory entries added to the ZIP so far. // A directory entry is added before items in it. int directories = 0; + + // Number of errors encountered so far (files that cannot be opened, + // directories that cannot be listed). + int errors = 0; }; // Prints Progress to output stream. @@ -130,6 +134,9 @@ struct ZipParams { // Should recursively add subdirectory contents? bool recursive = false; + + // Should ignore errors when discovering files and zipping them? + bool continue_on_error = false; }; // Zip files specified into a ZIP archives. The source files and ZIP destination diff --git a/deps/v8/third_party/zlib/google/zip_reader.cc b/deps/v8/third_party/zlib/google/zip_reader.cc index 0c6a93aa51..53fa13fd99 100644 --- a/deps/v8/third_party/zlib/google/zip_reader.cc +++ b/deps/v8/third_party/zlib/google/zip_reader.cc @@ -9,7 +9,6 @@ #include "base/bind.h" #include "base/files/file.h" #include "base/logging.h" -#include "base/macros.h" #include "base/strings/string_util.h" #include "base/strings/utf_string_conversions.h" #include "base/threading/sequenced_task_runner_handle.h" diff --git a/deps/v8/third_party/zlib/google/zip_reader.h b/deps/v8/third_party/zlib/google/zip_reader.h index ac474471c6..e1ca7aa417 100644 --- a/deps/v8/third_party/zlib/google/zip_reader.h +++ b/deps/v8/third_party/zlib/google/zip_reader.h @@ -14,7 +14,6 @@ #include "base/files/file.h" #include "base/files/file_path.h" #include "base/files/file_util.h" -#include "base/macros.h" #include "base/memory/weak_ptr.h" #include "base/time/time.h" diff --git a/deps/v8/third_party/zlib/google/zip_reader_unittest.cc b/deps/v8/third_party/zlib/google/zip_reader_unittest.cc index e5bb4b4d2e..c1d654afe9 100644 --- a/deps/v8/third_party/zlib/google/zip_reader_unittest.cc +++ b/deps/v8/third_party/zlib/google/zip_reader_unittest.cc @@ -632,11 +632,10 @@ class FileWriterDelegateTest : public ::testing::Test { protected: void SetUp() override { ASSERT_TRUE(base::CreateTemporaryFile(&temp_file_path_)); - file_.Initialize(temp_file_path_, (base::File::FLAG_CREATE_ALWAYS | - base::File::FLAG_READ | - base::File::FLAG_WRITE | - base::File::FLAG_TEMPORARY | - base::File::FLAG_DELETE_ON_CLOSE)); + file_.Initialize(temp_file_path_, + (base::File::FLAG_CREATE_ALWAYS | base::File::FLAG_READ | + base::File::FLAG_WRITE | base::File::FLAG_WIN_TEMPORARY | + base::File::FLAG_DELETE_ON_CLOSE)); ASSERT_TRUE(file_.IsValid()); } diff --git a/deps/v8/third_party/zlib/google/zip_unittest.cc b/deps/v8/third_party/zlib/google/zip_unittest.cc index d10ec059b1..944930ffc8 100644 --- a/deps/v8/third_party/zlib/google/zip_unittest.cc +++ b/deps/v8/third_party/zlib/google/zip_unittest.cc @@ -17,7 +17,6 @@ #include "base/files/file_util.h" #include "base/files/scoped_temp_dir.h" #include "base/logging.h" -#include "base/macros.h" #include "base/path_service.h" #include "base/strings/string_util.h" #include "base/strings/stringprintf.h" diff --git a/deps/v8/third_party/zlib/google/zip_writer.cc b/deps/v8/third_party/zlib/google/zip_writer.cc index 3e2345a46f..201f1997b5 100644 --- a/deps/v8/third_party/zlib/google/zip_writer.cc +++ b/deps/v8/third_party/zlib/google/zip_writer.cc @@ -112,12 +112,10 @@ bool ZipWriter::AddFileEntry(const base::FilePath& path, base::File file) { bool ZipWriter::AddDirectoryEntry(const base::FilePath& path) { FileAccessor::Info info; - if (!file_accessor_->GetInfo(path, &info)) - return false; - - if (!info.is_directory) { + if (!file_accessor_->GetInfo(path, &info) || !info.is_directory) { LOG(ERROR) << "Not a directory: " << Redact(path); - return false; + progress_.errors++; + return continue_on_error_; } if (!OpenNewFileEntry(path, /*is_directory=*/true, info.last_modified)) @@ -262,6 +260,11 @@ bool ZipWriter::AddFileEntries(Paths paths) { if (!file.IsValid()) { LOG(ERROR) << "Cannot open " << Redact(relative_path); + progress_.errors++; + + if (continue_on_error_) + continue; + return false; } @@ -285,8 +288,10 @@ bool ZipWriter::AddDirectoryEntries(Paths paths) { bool ZipWriter::AddDirectoryContents(const base::FilePath& path) { std::vector<base::FilePath> files, subdirs; - if (!file_accessor_->List(path, &files, &subdirs)) - return false; + if (!file_accessor_->List(path, &files, &subdirs)) { + progress_.errors++; + return continue_on_error_; + } Filter(&files); Filter(&subdirs); diff --git a/deps/v8/third_party/zlib/google/zip_writer.h b/deps/v8/third_party/zlib/google/zip_writer.h index c58b1b11d5..fcc9627500 100644 --- a/deps/v8/third_party/zlib/google/zip_writer.h +++ b/deps/v8/third_party/zlib/google/zip_writer.h @@ -57,6 +57,11 @@ class ZipWriter { progress_period_ = std::move(period); } + // Should ignore missing files and directories? + void ContinueOnError(bool continue_on_error) { + continue_on_error_ = continue_on_error; + } + // Sets the recursive flag, indicating whether the contents of subdirectories // should be included. void SetRecursive(bool b) { recursive_ = b; } @@ -138,6 +143,9 @@ class ZipWriter { // Should recursively add directories? bool recursive_ = false; + + // Should ignore missing files and directories? + bool continue_on_error_ = false; }; } // namespace internal |