Add Accept header to chrome://brave-image loader (#31489)
The PR adds `Accept: <image formats>` to chrome://brave-image requests. This will allow to use more optimized formats (i.e. WebP) when the backend supports it.
This commit is contained in:
@@ -25,6 +25,7 @@
|
||||
#include "net/traffic_annotation/network_traffic_annotation.h"
|
||||
#include "services/network/public/cpp/resource_request.h"
|
||||
#include "services/network/public/cpp/simple_url_loader.h"
|
||||
#include "third_party/blink/public/common/loader/network_utils.h"
|
||||
#include "third_party/skia/include/core/SkBitmap.h"
|
||||
#include "ui/gfx/codec/png_codec.h"
|
||||
#include "ui/gfx/geometry/size.h"
|
||||
@@ -247,6 +248,8 @@ void BraveSanitizedImageSource::StartImageDownload(
|
||||
auto request = std::make_unique<network::ResourceRequest>();
|
||||
request->url = request_attributes.image_url;
|
||||
request->credentials_mode = network::mojom::CredentialsMode::kOmit;
|
||||
request->headers.SetHeader("Accept",
|
||||
blink::network_utils::ImageAcceptHeader());
|
||||
|
||||
auto loader =
|
||||
network::SimpleURLLoader::Create(std::move(request), traffic_annotation);
|
||||
|
||||
@@ -71,7 +71,16 @@ class BraveSanitizedImageSourceTest : public testing::Test {
|
||||
"chrome://brave-image/?url=" + EncodeQuery(url.spec()) +
|
||||
(target_size.empty() ? ""
|
||||
: "&target_size=" + EncodeQuery(target_size)));
|
||||
base::RepeatingCallback<void(const network::ResourceRequest&)> interceptor =
|
||||
base::BindLambdaForTesting(
|
||||
[&](const network::ResourceRequest& request) {
|
||||
const auto accept_header = request.headers.GetHeader("Accept");
|
||||
ASSERT_TRUE(accept_header.has_value());
|
||||
EXPECT_NE(accept_header->find("image/webp"), std::string::npos);
|
||||
});
|
||||
test_url_loader_factory_.SetInterceptor(std::move(interceptor));
|
||||
test_url_loader_factory_.AddResponse(url.spec(), std::move(data));
|
||||
|
||||
base::RunLoop run_loop;
|
||||
scoped_refptr<base::RefCountedMemory> result;
|
||||
source_.StartDataRequest(
|
||||
|
||||
Reference in New Issue
Block a user