Commit 588ad09c authored by Luciano Pacheco's avatar Luciano Pacheco Committed by Commit Bot

Files app: Enable gzip compression for resources

Enable gzip compression for resources on the following apps: Files,
Gallery, Video and Audio Player. For reducing the disk usage on the
ChromeOS root partition.

Change ExecuteCodeFunction::LoadFile() to use
ResourceBundle::LoadDataResourceString() to load resources that may be
compressed or not.

Test: ui_base_unittests --gtest_filter='ResourceBundleImageTest.*'
Bug: 715912, 1003433
Change-Id: I307d16e075c157784a3daad9f2a4c7faf4736cc2
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1873827
Auto-Submit: Luciano Pacheco <lucmult@chromium.org>
Reviewed-by: default avatarBen Wells <benwells@chromium.org>
Reviewed-by: default avatarScott Violet <sky@chromium.org>
Reviewed-by: default avatarDemetrios Papadopoulos <dpapad@chromium.org>
Commit-Queue: Luciano Pacheco <lucmult@chromium.org>
Cr-Commit-Position: refs/heads/master@{#712451}
parent ecbf35ec
......@@ -239,11 +239,9 @@ bool ExecuteCodeFunction::LoadFile(const std::string& file,
component_extension_resource_manager->IsComponentExtensionResource(
resource_.extension_root(), resource_.relative_path(),
&resource_id)) {
DCHECK(!ui::ResourceBundle::GetSharedInstance().IsGzipped(resource_id));
base::StringPiece resource =
ui::ResourceBundle::GetSharedInstance().GetRawDataResource(resource_id);
std::unique_ptr<std::string> data(
new std::string(resource.data(), resource.size()));
auto data = std::make_unique<std::string>(
ui::ResourceBundle::GetSharedInstance().LoadDataResourceString(
resource_id));
base::PostTaskAndReplyWithResult(
FROM_HERE,
......
......@@ -157,6 +157,7 @@ void DecompressIfNeeded(base::StringPiece data, std::string* output) {
bool success = BrotliDecompress(data, output);
DCHECK(success);
} else {
// Assume the raw data is not compressed.
data.CopyToString(output);
}
}
......
......@@ -513,6 +513,9 @@ TEST_F(ResourceBundleImageTest, LoadDataResourceString) {
// Resource ID 8 is Gzip compressed, expect it to be uncompressed.
EXPECT_EQ("this is id 8", resource_bundle->LoadDataResourceString(8));
// Resource ID 4 is plain text (not compressed), expect to return as-is.
EXPECT_EQ("this is id 4", resource_bundle->LoadDataResourceString(4));
}
TEST_F(ResourceBundleImageTest, GetRawDataResource) {
......
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment