OLD | NEW |
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 Loading... |
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 Loading... |
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 Loading... |
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 |
OLD | NEW |