Index: Source/core/fetch/ImageResource.cpp |
diff --git a/Source/core/fetch/ImageResource.cpp b/Source/core/fetch/ImageResource.cpp |
index 90011895438217c44e913ea1e761de59110dad67..7603cbec2126e42d791717649d688cddf4527530 100644 |
--- a/Source/core/fetch/ImageResource.cpp |
+++ b/Source/core/fetch/ImageResource.cpp |
@@ -23,6 +23,7 @@ |
#include "config.h" |
#include "core/fetch/ImageResource.h" |
+#include "RuntimeEnabledFeatures.h" |
pdr.
2013/10/26 01:26:31
Nit: Can you put this include one line lower?
...
|
#include "core/fetch/ImageResourceClient.h" |
#include "core/fetch/MemoryCache.h" |
@@ -44,8 +45,10 @@ namespace WebCore { |
ImageResource::ImageResource(const ResourceRequest& resourceRequest) |
: Resource(resourceRequest, Image) |
+ , m_dprHeaderValue(1.0) |
, m_image(0) |
, m_loadingMultipartContent(false) |
+ , m_hasDprHeaderValue(false) |
{ |
setStatus(Unknown); |
setCustomAcceptHeader(); |
@@ -377,6 +380,13 @@ void ImageResource::responseReceived(const ResourceResponse& response) |
finishOnePart(); |
else if (response.isMultipart()) |
m_loadingMultipartContent = true; |
+ if (RuntimeEnabledFeatures::clientHintsDprEnabled()) { |
+ m_dprHeaderValue = response.httpHeaderField("DPR").toFloat(&m_hasDprHeaderValue); |
+ if (!m_hasDprHeaderValue || m_dprHeaderValue <= 0.0) { |
+ m_dprHeaderValue = 1.0; |
+ m_hasDprHeaderValue = false; |
+ } |
+ } |
Resource::responseReceived(response); |
} |