| Index: third_party/WebKit/Source/core/frame/FrameSerializer.cpp
|
| diff --git a/third_party/WebKit/Source/core/frame/FrameSerializer.cpp b/third_party/WebKit/Source/core/frame/FrameSerializer.cpp
|
| index c86ccf31327fe6c422293ee188965ed0aff233d0..1c8a2c8c6948bb7c5bc5fd2c8fdad5013d985f81 100644
|
| --- a/third_party/WebKit/Source/core/frame/FrameSerializer.cpp
|
| +++ b/third_party/WebKit/Source/core/frame/FrameSerializer.cpp
|
| @@ -47,7 +47,7 @@
|
| #include "core/dom/Element.h"
|
| #include "core/dom/Text.h"
|
| #include "core/editing/serializers/MarkupAccumulator.h"
|
| -#include "core/fetch/ImageResource.h"
|
| +#include "core/fetch/ImageResourceContent.h"
|
| #include "core/frame/LocalFrame.h"
|
| #include "core/html/HTMLFrameElementBase.h"
|
| #include "core/html/HTMLImageElement.h"
|
| @@ -305,14 +305,14 @@ void FrameSerializer::serializeFrame(const LocalFrame& frame) {
|
| HTMLImageElement& imageElement = toHTMLImageElement(element);
|
| KURL url =
|
| document.completeURL(imageElement.getAttribute(HTMLNames::srcAttr));
|
| - ImageResource* cachedImage = imageElement.cachedImage();
|
| + ImageResourceContent* cachedImage = imageElement.cachedImage();
|
| addImageToResources(cachedImage, url);
|
| } else if (isHTMLInputElement(element)) {
|
| HTMLInputElement& inputElement = toHTMLInputElement(element);
|
| if (inputElement.type() == InputTypeNames::image &&
|
| inputElement.imageLoader()) {
|
| KURL url = inputElement.src();
|
| - ImageResource* cachedImage = inputElement.imageLoader()->image();
|
| + ImageResourceContent* cachedImage = inputElement.imageLoader()->image();
|
| addImageToResources(cachedImage, url);
|
| }
|
| } else if (isHTMLLinkElement(element)) {
|
| @@ -446,10 +446,11 @@ bool FrameSerializer::shouldAddURL(const KURL& url) {
|
| !url.protocolIsData() && !m_delegate.shouldSkipResourceWithURL(url);
|
| }
|
|
|
| -void FrameSerializer::addToResources(const Resource& resource,
|
| +void FrameSerializer::addToResources(const String& mimeType,
|
| + bool hasCacheControlNoStoreHeader,
|
| PassRefPtr<const SharedBuffer> data,
|
| const KURL& url) {
|
| - if (m_delegate.shouldSkipResource(resource))
|
| + if (m_delegate.shouldSkipResource(hasCacheControlNoStoreHeader))
|
| return;
|
|
|
| if (!data) {
|
| @@ -457,12 +458,11 @@ void FrameSerializer::addToResources(const Resource& resource,
|
| return;
|
| }
|
|
|
| - String mimeType = resource.response().mimeType();
|
| m_resources->append(SerializedResource(url, mimeType, std::move(data)));
|
| m_resourceURLs.add(url);
|
| }
|
|
|
| -void FrameSerializer::addImageToResources(ImageResource* image,
|
| +void FrameSerializer::addImageToResources(ImageResourceContent* image,
|
| const KURL& url) {
|
| if (!image || !image->hasImage() || image->errorOccurred() ||
|
| !shouldAddURL(url))
|
| @@ -473,7 +473,8 @@ void FrameSerializer::addImageToResources(ImageResource* image,
|
| double imageStartTime = monotonicallyIncreasingTime();
|
|
|
| RefPtr<const SharedBuffer> data = image->getImage()->data();
|
| - addToResources(*image, data, url);
|
| + addToResources(image->response().mimeType(),
|
| + image->hasCacheControlNoStoreHeader(), data, url);
|
|
|
| // If we're already reporting time for CSS serialization don't report it for
|
| // this image to avoid reporting the same time twice.
|
| @@ -494,7 +495,8 @@ void FrameSerializer::addFontToResources(FontResource* font) {
|
|
|
| RefPtr<const SharedBuffer> data(font->resourceBuffer());
|
|
|
| - addToResources(*font, data, font->url());
|
| + addToResources(font->response().mimeType(),
|
| + font->hasCacheControlNoStoreHeader(), data, font->url());
|
| }
|
|
|
| void FrameSerializer::retrieveResourcesForProperties(
|
|
|