Commit e501e9db authored by rajendrant's avatar rajendrant Committed by Commit Bot

Rename PlaceholderImageRequestType to ImageRequestOptimization

This rename enables adding a DeferImageLoad for css background images

Bug: 846170
Change-Id: I5c243e3560ae222742c08a6ac18ebb6cb859b37f
Reviewed-on: https://chromium-review.googlesource.com/1178686
Commit-Queue: rajendrant <rajendrant@chromium.org>
Reviewed-by: default avatarNate Chapin <japhet@chromium.org>
Cr-Commit-Position: refs/heads/master@{#585574}
parent 17934eb6
......@@ -102,7 +102,7 @@ StyleImage* CSSImageSetValue::CachedImage(float device_scale_factor) const {
StyleImage* CSSImageSetValue::CacheImage(
const Document& document,
float device_scale_factor,
FetchParameters::PlaceholderImageRequestType placeholder_image_request_type,
FetchParameters::ImageRequestOptimization image_request_optimization,
CrossOriginAttributeValue cross_origin) {
if (!images_in_set_.size())
FillImageSet();
......@@ -127,7 +127,7 @@ StyleImage* CSSImageSetValue::CacheImage(
}
if (document.GetFrame() &&
placeholder_image_request_type == FetchParameters::kAllowPlaceholder &&
image_request_optimization == FetchParameters::kAllowPlaceholder &&
document.GetFrame()->IsClientLoFiAllowed(params.GetResourceRequest())) {
params.SetClientLoFiPlaceholder();
}
......
......@@ -50,7 +50,7 @@ class CSSImageSetValue : public CSSValueList {
StyleImage* CacheImage(
const Document&,
float device_scale_factor,
FetchParameters::PlaceholderImageRequestType,
FetchParameters::ImageRequestOptimization,
CrossOriginAttributeValue = kCrossOriginAttributeNotSet);
String CustomCSSText() const;
......
......@@ -54,7 +54,7 @@ CSSImageValue::~CSSImageValue() = default;
StyleImage* CSSImageValue::CacheImage(
const Document& document,
FetchParameters::PlaceholderImageRequestType placeholder_image_request_type,
FetchParameters::ImageRequestOptimization image_request_optimization,
CrossOriginAttributeValue cross_origin) {
if (!cached_image_) {
if (absolute_url_.IsEmpty())
......@@ -74,7 +74,7 @@ StyleImage* CSSImageValue::CacheImage(
}
if (document.GetFrame() &&
placeholder_image_request_type == FetchParameters::kAllowPlaceholder &&
image_request_optimization == FetchParameters::kAllowPlaceholder &&
document.GetFrame()->IsClientLoFiAllowed(params.GetResourceRequest())) {
params.SetClientLoFiPlaceholder();
}
......
......@@ -69,7 +69,7 @@ class CORE_EXPORT CSSImageValue : public CSSValue {
}
StyleImage* CacheImage(
const Document&,
FetchParameters::PlaceholderImageRequestType,
FetchParameters::ImageRequestOptimization,
CrossOriginAttributeValue = kCrossOriginAttributeNotSet);
const String& Url() const { return absolute_url_; }
......
......@@ -142,10 +142,10 @@ static bool BackgroundLayerMayBeSprite(const FillLayer& background_layer) {
StyleImage* ElementStyleResources::LoadPendingImage(
ComputedStyle* style,
StylePendingImage* pending_image,
FetchParameters::PlaceholderImageRequestType placeholder_image_request_type,
FetchParameters::ImageRequestOptimization image_request_optimization,
CrossOriginAttributeValue cross_origin) {
if (CSSImageValue* image_value = pending_image->CssImageValue()) {
return image_value->CacheImage(*document_, placeholder_image_request_type,
return image_value->CacheImage(*document_, image_request_optimization,
cross_origin);
}
......@@ -163,7 +163,7 @@ StyleImage* ElementStyleResources::LoadPendingImage(
if (CSSImageSetValue* image_set_value = pending_image->CssImageSetValue()) {
return image_set_value->CacheImage(*document_, device_scale_factor_,
placeholder_image_request_type,
image_request_optimization,
cross_origin);
}
......@@ -200,7 +200,7 @@ void ElementStyleResources::LoadPendingImages(ComputedStyle* style) {
background_layer->SetImage(LoadPendingImage(
style, ToStylePendingImage(background_layer->GetImage()),
BackgroundLayerMayBeSprite(*background_layer)
? FetchParameters::kDisallowPlaceholder
? FetchParameters::kNone
: FetchParameters::kAllowPlaceholder));
}
}
......@@ -229,9 +229,8 @@ void ElementStyleResources::LoadPendingImages(ComputedStyle* style) {
if (StyleImage* image = current_cursor.GetImage()) {
if (image->IsPendingImage()) {
// cursor images shouldn't be replaced with placeholders
current_cursor.SetImage(
LoadPendingImage(style, ToStylePendingImage(image),
FetchParameters::kDisallowPlaceholder));
current_cursor.SetImage(LoadPendingImage(
style, ToStylePendingImage(image), FetchParameters::kNone));
}
}
}
......@@ -244,7 +243,7 @@ void ElementStyleResources::LoadPendingImages(ComputedStyle* style) {
// List style images shouldn't be replaced with placeholders
style->SetListStyleImage(LoadPendingImage(
style, ToStylePendingImage(style->ListStyleImage()),
FetchParameters::kDisallowPlaceholder));
FetchParameters::kNone));
}
break;
}
......@@ -254,7 +253,7 @@ void ElementStyleResources::LoadPendingImages(ComputedStyle* style) {
// Border images shouldn't be replaced with placeholders
style->SetBorderImageSource(LoadPendingImage(
style, ToStylePendingImage(style->BorderImageSource()),
FetchParameters::kDisallowPlaceholder));
FetchParameters::kNone));
}
break;
}
......
......@@ -78,7 +78,7 @@ class ElementStyleResources {
StyleImage* LoadPendingImage(
ComputedStyle*,
StylePendingImage*,
FetchParameters::PlaceholderImageRequestType,
FetchParameters::ImageRequestOptimization,
CrossOriginAttributeValue = kCrossOriginAttributeNotSet);
Member<Document> document_;
......
......@@ -47,7 +47,7 @@ TEST(LocalFrameTest, MaybeAllowPlaceholderImageUsesSpecifiedRequestValue) {
new TestLocalFrameClient(WebURLRequest::kPreviewsOff));
MaybeAllowImagePlaceholder(page_holder.get(), params1);
EXPECT_EQ(FetchParameters::kAllowPlaceholder,
params1.GetPlaceholderImageRequestType());
params1.GetImageRequestOptimization());
ResourceRequest request2;
request2.SetURL(KURL("https://secure.com"));
......@@ -57,8 +57,7 @@ TEST(LocalFrameTest, MaybeAllowPlaceholderImageUsesSpecifiedRequestValue) {
IntSize(800, 600), nullptr,
new TestLocalFrameClient(WebURLRequest::kClientLoFiOn));
MaybeAllowImagePlaceholder(page_holder2.get(), params2);
EXPECT_EQ(FetchParameters::kDisallowPlaceholder,
params2.GetPlaceholderImageRequestType());
EXPECT_EQ(FetchParameters::kNone, params2.GetImageRequestOptimization());
}
TEST(LocalFrameTest, MaybeAllowPlaceholderImageUsesFramePreviewsState) {
......@@ -71,7 +70,7 @@ TEST(LocalFrameTest, MaybeAllowPlaceholderImageUsesFramePreviewsState) {
new TestLocalFrameClient(WebURLRequest::kClientLoFiOn));
MaybeAllowImagePlaceholder(page_holder.get(), params1);
EXPECT_EQ(FetchParameters::kAllowPlaceholder,
params1.GetPlaceholderImageRequestType());
params1.GetImageRequestOptimization());
EXPECT_TRUE(page_holder->GetFrame().IsUsingDataSavingPreview());
ResourceRequest request2;
......@@ -82,8 +81,7 @@ TEST(LocalFrameTest, MaybeAllowPlaceholderImageUsesFramePreviewsState) {
IntSize(800, 600), nullptr,
new TestLocalFrameClient(WebURLRequest::kServerLitePageOn));
MaybeAllowImagePlaceholder(page_holder2.get(), params2);
EXPECT_EQ(FetchParameters::kDisallowPlaceholder,
params2.GetPlaceholderImageRequestType());
EXPECT_EQ(FetchParameters::kNone, params2.GetImageRequestOptimization());
EXPECT_FALSE(page_holder2->GetFrame().IsUsingDataSavingPreview());
}
......@@ -99,7 +97,7 @@ TEST(LocalFrameTest,
WebURLRequest::kClientLoFiOn));
MaybeAllowImagePlaceholder(page_holder.get(), params1);
EXPECT_EQ(FetchParameters::kAllowPlaceholder,
params1.GetPlaceholderImageRequestType());
params1.GetImageRequestOptimization());
ResourceRequest request2;
request2.SetURL(KURL("http://insecure.com"));
......@@ -110,8 +108,7 @@ TEST(LocalFrameTest,
new TestLocalFrameClient(WebURLRequest::kServerLoFiOn |
WebURLRequest::kClientLoFiOn));
MaybeAllowImagePlaceholder(page_holder2.get(), params2);
EXPECT_EQ(FetchParameters::kDisallowPlaceholder,
params2.GetPlaceholderImageRequestType());
EXPECT_EQ(FetchParameters::kNone, params2.GetImageRequestOptimization());
}
TEST(LocalFrameTest, IsUsingDataSavingPreview) {
......
......@@ -150,7 +150,7 @@ class ImageResource::ImageResourceFactory : public NonTextResourceFactory {
const ResourceLoaderOptions& options) const override {
return new ImageResource(request, options,
ImageResourceContent::CreateNotStarted(),
fetch_params_->GetPlaceholderImageRequestType() ==
fetch_params_->GetImageRequestOptimization() ==
FetchParameters::kAllowPlaceholder);
}
......@@ -181,7 +181,7 @@ bool ImageResource::CanReuse(
scoped_refptr<const SecurityOrigin> new_source_origin) const {
// If the image is a placeholder, but this fetch doesn't allow a
// placeholder, then do not reuse this resource.
if (params.GetPlaceholderImageRequestType() !=
if (params.GetImageRequestOptimization() !=
FetchParameters::kAllowPlaceholder &&
placeholder_option_ != PlaceholderOption::kDoNotReloadPlaceholder)
return false;
......
......@@ -897,7 +897,7 @@ TEST_P(ImageResourceReloadTest, ReloadIfLoFiOrPlaceholderForPlaceholder) {
params.SetAllowImagePlaceholder();
ImageResource* image_resource = ImageResource::Fetch(params, fetcher);
EXPECT_EQ(FetchParameters::kAllowPlaceholder,
params.GetPlaceholderImageRequestType());
params.GetImageRequestOptimization());
std::unique_ptr<MockImageResourceObserver> observer =
MockImageResourceObserver::Create(image_resource->GetContent());
......@@ -922,14 +922,14 @@ TEST_P(ImageResourceReloadTest, ReloadLoFiImagesWithDuplicateURLs) {
ImageResource* placeholder_resource =
ImageResource::Fetch(placeholder_params, fetcher);
EXPECT_EQ(FetchParameters::kAllowPlaceholder,
placeholder_params.GetPlaceholderImageRequestType());
placeholder_params.GetImageRequestOptimization());
EXPECT_TRUE(placeholder_resource->ShouldShowPlaceholder());
FetchParameters full_image_params{ResourceRequest(test_url)};
ImageResource* full_image_resource =
ImageResource::Fetch(full_image_params, fetcher);
EXPECT_EQ(FetchParameters::kDisallowPlaceholder,
full_image_params.GetPlaceholderImageRequestType());
EXPECT_EQ(FetchParameters::kNone,
full_image_params.GetImageRequestOptimization());
EXPECT_FALSE(full_image_resource->ShouldShowPlaceholder());
// The |placeholder_resource| should not be reused for the
......@@ -1349,8 +1349,7 @@ TEST(ImageResourceTest, FetchDisallowPlaceholder) {
FetchParameters params{ResourceRequest(test_url)};
ImageResource* image_resource = ImageResource::Fetch(params, CreateFetcher());
EXPECT_EQ(FetchParameters::kDisallowPlaceholder,
params.GetPlaceholderImageRequestType());
EXPECT_EQ(FetchParameters::kNone, params.GetImageRequestOptimization());
std::unique_ptr<MockImageResourceObserver> observer =
MockImageResourceObserver::Create(image_resource->GetContent());
......@@ -1365,8 +1364,7 @@ TEST(ImageResourceTest, FetchAllowPlaceholderDataURL) {
FetchParameters params{ResourceRequest(test_url)};
params.SetAllowImagePlaceholder();
ImageResource* image_resource = ImageResource::Fetch(params, CreateFetcher());
EXPECT_EQ(FetchParameters::kDisallowPlaceholder,
params.GetPlaceholderImageRequestType());
EXPECT_EQ(FetchParameters::kNone, params.GetImageRequestOptimization());
EXPECT_EQ(g_null_atom,
image_resource->GetResourceRequest().HttpHeaderField("range"));
EXPECT_FALSE(image_resource->ShouldShowPlaceholder());
......@@ -1380,8 +1378,7 @@ TEST(ImageResourceTest, FetchAllowPlaceholderPostRequest) {
FetchParameters params(resource_request);
params.SetAllowImagePlaceholder();
ImageResource* image_resource = ImageResource::Fetch(params, CreateFetcher());
EXPECT_EQ(FetchParameters::kDisallowPlaceholder,
params.GetPlaceholderImageRequestType());
EXPECT_EQ(FetchParameters::kNone, params.GetImageRequestOptimization());
EXPECT_EQ(g_null_atom,
image_resource->GetResourceRequest().HttpHeaderField("range"));
EXPECT_FALSE(image_resource->ShouldShowPlaceholder());
......@@ -1397,8 +1394,7 @@ TEST(ImageResourceTest, FetchAllowPlaceholderExistingRangeHeader) {
FetchParameters params(resource_request);
params.SetAllowImagePlaceholder();
ImageResource* image_resource = ImageResource::Fetch(params, CreateFetcher());
EXPECT_EQ(FetchParameters::kDisallowPlaceholder,
params.GetPlaceholderImageRequestType());
EXPECT_EQ(FetchParameters::kNone, params.GetImageRequestOptimization());
EXPECT_EQ("bytes=128-255",
image_resource->GetResourceRequest().HttpHeaderField("range"));
EXPECT_FALSE(image_resource->ShouldShowPlaceholder());
......@@ -1414,7 +1410,7 @@ TEST(ImageResourceTest, FetchAllowPlaceholderSuccessful) {
params.SetAllowImagePlaceholder();
ImageResource* image_resource = ImageResource::Fetch(params, CreateFetcher());
EXPECT_EQ(FetchParameters::kAllowPlaceholder,
params.GetPlaceholderImageRequestType());
params.GetImageRequestOptimization());
std::unique_ptr<MockImageResourceObserver> observer =
MockImageResourceObserver::Create(image_resource->GetContent());
......@@ -1430,7 +1426,7 @@ TEST(ImageResourceTest, FetchAllowPlaceholderUnsuccessful) {
params.SetAllowImagePlaceholder();
ImageResource* image_resource = ImageResource::Fetch(params, CreateFetcher());
EXPECT_EQ(FetchParameters::kAllowPlaceholder,
params.GetPlaceholderImageRequestType());
params.GetImageRequestOptimization());
EXPECT_EQ("bytes=0-2047",
image_resource->GetResourceRequest().HttpHeaderField("range"));
EXPECT_TRUE(image_resource->ShouldShowPlaceholder());
......@@ -1472,7 +1468,7 @@ TEST(ImageResourceTest, FetchAllowPlaceholderUnsuccessfulClientLoFi) {
params.SetAllowImagePlaceholder();
ImageResource* image_resource = ImageResource::Fetch(params, CreateFetcher());
EXPECT_EQ(FetchParameters::kAllowPlaceholder,
params.GetPlaceholderImageRequestType());
params.GetImageRequestOptimization());
EXPECT_EQ("bytes=0-2047",
image_resource->GetResourceRequest().HttpHeaderField("range"));
EXPECT_TRUE(image_resource->ShouldShowPlaceholder());
......@@ -1533,7 +1529,7 @@ TEST(ImageResourceTest, FetchAllowPlaceholderPartialContentWithoutDimensions) {
ImageResource* image_resource =
ImageResource::Fetch(params, CreateFetcher());
EXPECT_EQ(FetchParameters::kAllowPlaceholder,
params.GetPlaceholderImageRequestType());
params.GetImageRequestOptimization());
EXPECT_EQ("bytes=0-2047",
image_resource->GetResourceRequest().HttpHeaderField("range"));
EXPECT_TRUE(image_resource->ShouldShowPlaceholder());
......@@ -1683,7 +1679,7 @@ TEST(ImageResourceTest, FetchAllowPlaceholderFullResponseDecodeSuccess) {
ImageResource* image_resource =
ImageResource::Fetch(params, CreateFetcher());
EXPECT_EQ(FetchParameters::kAllowPlaceholder,
params.GetPlaceholderImageRequestType());
params.GetImageRequestOptimization());
EXPECT_EQ("bytes=0-2047",
image_resource->GetResourceRequest().HttpHeaderField("range"));
EXPECT_TRUE(image_resource->ShouldShowPlaceholder());
......@@ -1742,7 +1738,7 @@ TEST(ImageResourceTest,
ImageResource* image_resource =
ImageResource::Fetch(params, CreateFetcher());
EXPECT_EQ(FetchParameters::kAllowPlaceholder,
params.GetPlaceholderImageRequestType());
params.GetImageRequestOptimization());
EXPECT_EQ("bytes=0-2047",
image_resource->GetResourceRequest().HttpHeaderField("range"));
EXPECT_TRUE(image_resource->ShouldShowPlaceholder());
......@@ -1774,7 +1770,7 @@ TEST(ImageResourceTest,
ImageResource* image_resource =
ImageResource::Fetch(params, CreateFetcher());
EXPECT_EQ(FetchParameters::kAllowPlaceholder,
params.GetPlaceholderImageRequestType());
params.GetImageRequestOptimization());
EXPECT_EQ("bytes=0-2047",
image_resource->GetResourceRequest().HttpHeaderField("range"));
EXPECT_TRUE(image_resource->ShouldShowPlaceholder());
......
......@@ -38,7 +38,7 @@ FetchParameters::FetchParameters(const ResourceRequest& resource_request)
decoder_options_(TextResourceDecoderOptions::kPlainTextContent),
speculative_preload_type_(SpeculativePreloadType::kNotSpeculative),
defer_(kNoDefer),
placeholder_image_request_type_(kDisallowPlaceholder) {}
image_request_optimization_(kNone) {}
FetchParameters::FetchParameters(const ResourceRequest& resource_request,
const ResourceLoaderOptions& options)
......@@ -47,7 +47,7 @@ FetchParameters::FetchParameters(const ResourceRequest& resource_request,
options_(options),
speculative_preload_type_(SpeculativePreloadType::kNotSpeculative),
defer_(kNoDefer),
placeholder_image_request_type_(kDisallowPlaceholder) {}
image_request_optimization_(kNone) {}
FetchParameters::~FetchParameters() = default;
......@@ -118,7 +118,7 @@ void FetchParameters::SetClientLoFiPlaceholder() {
}
void FetchParameters::SetAllowImagePlaceholder() {
DCHECK_EQ(kDisallowPlaceholder, placeholder_image_request_type_);
DCHECK_EQ(kNone, image_request_optimization_);
if (!resource_request_.Url().ProtocolIsInHTTPFamily() ||
resource_request_.HttpMethod() != "GET" ||
!resource_request_.HttpHeaderField("range").IsNull()) {
......@@ -129,7 +129,7 @@ void FetchParameters::SetAllowImagePlaceholder() {
return;
}
placeholder_image_request_type_ = kAllowPlaceholder;
image_request_optimization_ = kAllowPlaceholder;
// Fetch the first few bytes of the image. This number is tuned to both (a)
// likely capture the entire image for small images and (b) likely contain
......
......@@ -57,9 +57,9 @@ class PLATFORM_EXPORT FetchParameters {
kInDocument, // The request was discovered in the main document
kInserted // The request was discovered in a document.write()
};
enum PlaceholderImageRequestType {
kDisallowPlaceholder = 0, // The requested image must not be a placeholder.
kAllowPlaceholder, // The image is allowed to be a placeholder.
enum ImageRequestOptimization {
kNone = 0, // No optimization.
kAllowPlaceholder, // The image is allowed to be a placeholder.
};
struct ResourceWidth {
DISALLOW_NEW();
......@@ -171,8 +171,8 @@ class PLATFORM_EXPORT FetchParameters {
void MakeSynchronous();
PlaceholderImageRequestType GetPlaceholderImageRequestType() const {
return placeholder_image_request_type_;
ImageRequestOptimization GetImageRequestOptimization() const {
return image_request_optimization_;
}
// Configures the request to load an image placeholder if the request is
......@@ -196,7 +196,7 @@ class PLATFORM_EXPORT FetchParameters {
DeferOption defer_;
ResourceWidth resource_width_;
ClientHintsPreferences client_hint_preferences_;
PlaceholderImageRequestType placeholder_image_request_type_;
ImageRequestOptimization image_request_optimization_;
bool is_stale_revalidation_ = false;
};
......
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