Preliminary support for lz4diff + EROFS parsing

Most of the changes in this CL is to propagate compressed file
information from FilesystemInterface to delta_diff_utils.
But delta_diff_util functions already take so many parameters, so
instead of adding two more, we just pass the FilesystemInterface::File
object.

Test: th
Bug: 206729162

Change-Id: Iaf3df2acda294d2d23dd5ac4f4b3d9a708c46393
diff --git a/payload_generator/deflate_utils.h b/payload_generator/deflate_utils.h
index d69a551..517fc4e 100644
--- a/payload_generator/deflate_utils.h
+++ b/payload_generator/deflate_utils.h
@@ -95,8 +95,13 @@
 // Expands a BitExtents to a ByteExtent.
 puffin::ByteExtent ExpandToByteExtent(const puffin::BitExtent& extent);
 
-bool IsFileExtensions(const std::string& name,
-                      const std::initializer_list<std::string>& extensions);
+bool IsFileExtensions(
+    const std::string_view name,
+    const std::initializer_list<std::string_view>& extensions);
+
+bool DeflatePreprocessFileData(const std::string_view filename,
+                               const brillo::Blob& data,
+                               std::vector<puffin::BitExtent>* deflates);
 
 }  // namespace deflate_utils
 }  // namespace chromeos_update_engine