Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(219)

Side by Side Diff: third_party/WebKit/Source/core/fetch/ImageResource.cpp

Issue 1839473002: Centralize the setting of Accept headers (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 Copyright (C) 1998 Lars Knoll (knoll@mpi-hd.mpg.de) 2 Copyright (C) 1998 Lars Knoll (knoll@mpi-hd.mpg.de)
3 Copyright (C) 2001 Dirk Mueller (mueller@kde.org) 3 Copyright (C) 2001 Dirk Mueller (mueller@kde.org)
4 Copyright (C) 2002 Waldo Bastian (bastian@kde.org) 4 Copyright (C) 2002 Waldo Bastian (bastian@kde.org)
5 Copyright (C) 2006 Samuel Weinig (sam.weinig@gmail.com) 5 Copyright (C) 2006 Samuel Weinig (sam.weinig@gmail.com)
6 Copyright (C) 2004, 2005, 2006, 2007 Apple Inc. All rights reserved. 6 Copyright (C) 2004, 2005, 2006, 2007 Apple Inc. All rights reserved.
7 7
8 This library is free software; you can redistribute it and/or 8 This library is free software; you can redistribute it and/or
9 modify it under the terms of the GNU Library General Public 9 modify it under the terms of the GNU Library General Public
10 License as published by the Free Software Foundation; either 10 License as published by the Free Software Foundation; either
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
57 return toImageResource(fetcher->requestResource(request, ImageResourceFactor y())); 57 return toImageResource(fetcher->requestResource(request, ImageResourceFactor y()));
58 } 58 }
59 59
60 ImageResource::ImageResource(const ResourceRequest& resourceRequest, const Resou rceLoaderOptions& options) 60 ImageResource::ImageResource(const ResourceRequest& resourceRequest, const Resou rceLoaderOptions& options)
61 : Resource(resourceRequest, Image, options) 61 : Resource(resourceRequest, Image, options)
62 , m_devicePixelRatioHeaderValue(1.0) 62 , m_devicePixelRatioHeaderValue(1.0)
63 , m_image(nullptr) 63 , m_image(nullptr)
64 , m_hasDevicePixelRatioHeaderValue(false) 64 , m_hasDevicePixelRatioHeaderValue(false)
65 { 65 {
66 WTF_LOG(Timers, "new ImageResource(ResourceRequest) %p", this); 66 WTF_LOG(Timers, "new ImageResource(ResourceRequest) %p", this);
67 setCustomAcceptHeader();
68 } 67 }
69 68
70 ImageResource::ImageResource(blink::Image* image, const ResourceLoaderOptions& o ptions) 69 ImageResource::ImageResource(blink::Image* image, const ResourceLoaderOptions& o ptions)
71 : Resource(ResourceRequest(""), Image, options) 70 : Resource(ResourceRequest(""), Image, options)
72 , m_devicePixelRatioHeaderValue(1.0) 71 , m_devicePixelRatioHeaderValue(1.0)
73 , m_image(image) 72 , m_image(image)
74 , m_hasDevicePixelRatioHeaderValue(false) 73 , m_hasDevicePixelRatioHeaderValue(false)
75 { 74 {
76 WTF_LOG(Timers, "new ImageResource(Image) %p", this); 75 WTF_LOG(Timers, "new ImageResource(Image) %p", this);
77 setStatus(Cached); 76 setStatus(Cached);
78 setCustomAcceptHeader();
79 } 77 }
80 78
81 ImageResource::ImageResource(const ResourceRequest& resourceRequest, blink::Imag e* image, const ResourceLoaderOptions& options) 79 ImageResource::ImageResource(const ResourceRequest& resourceRequest, blink::Imag e* image, const ResourceLoaderOptions& options)
82 : Resource(resourceRequest, Image, options) 80 : Resource(resourceRequest, Image, options)
83 , m_image(image) 81 , m_image(image)
84 { 82 {
85 WTF_LOG(Timers, "new ImageResource(ResourceRequest, Image) %p", this); 83 WTF_LOG(Timers, "new ImageResource(ResourceRequest, Image) %p", this);
86 setStatus(Cached); 84 setStatus(Cached);
87 setCustomAcceptHeader();
88 } 85 }
89 86
90 ImageResource::~ImageResource() 87 ImageResource::~ImageResource()
91 { 88 {
92 WTF_LOG(Timers, "~ImageResource %p", this); 89 WTF_LOG(Timers, "~ImageResource %p", this);
93 clearImage(); 90 clearImage();
94 } 91 }
95 92
96 DEFINE_TRACE(ImageResource) 93 DEFINE_TRACE(ImageResource)
97 { 94 {
(...skipping 207 matching lines...) Expand 10 before | Expand all | Expand 10 after
305 } 302 }
306 } 303 }
307 304
308 void ImageResource::clear() 305 void ImageResource::clear()
309 { 306 {
310 prune(); 307 prune();
311 clearImage(); 308 clearImage();
312 setEncodedSize(0); 309 setEncodedSize(0);
313 } 310 }
314 311
315 void ImageResource::setCustomAcceptHeader()
316 {
317 DEFINE_STATIC_LOCAL(const AtomicString, acceptImages, ("image/webp,image/*,* /*;q=0.8"));
318 setAccept(acceptImages);
319 }
320
321 inline void ImageResource::createImage() 312 inline void ImageResource::createImage()
322 { 313 {
323 // Create the image if it doesn't yet exist. 314 // Create the image if it doesn't yet exist.
324 if (m_image) 315 if (m_image)
325 return; 316 return;
326 317
327 if (m_response.mimeType() == "image/svg+xml") { 318 if (m_response.mimeType() == "image/svg+xml") {
328 m_image = SVGImage::create(this); 319 m_image = SVGImage::create(this);
329 } else { 320 } else {
330 m_image = BitmapImage::create(this); 321 m_image = BitmapImage::create(this);
(...skipping 212 matching lines...) Expand 10 before | Expand all | Expand 10 after
543 if (response().wasFetchedViaServiceWorker()) 534 if (response().wasFetchedViaServiceWorker())
544 return response().serviceWorkerResponseType() != WebServiceWorkerRespons eTypeOpaque; 535 return response().serviceWorkerResponseType() != WebServiceWorkerRespons eTypeOpaque;
545 if (!getImage()->currentFrameHasSingleSecurityOrigin()) 536 if (!getImage()->currentFrameHasSingleSecurityOrigin())
546 return false; 537 return false;
547 if (passesAccessControlCheck(securityOrigin)) 538 if (passesAccessControlCheck(securityOrigin))
548 return true; 539 return true;
549 return !securityOrigin->taintsCanvas(response().url()); 540 return !securityOrigin->taintsCanvas(response().url());
550 } 541 }
551 542
552 } // namespace blink 543 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698