| 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 140 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 151 } | 151 } |
| 152 | 152 |
| 153 void ImageResource::allClientsRemoved() | 153 void ImageResource::allClientsRemoved() |
| 154 { | 154 { |
| 155 m_pendingContainerSizeRequests.clear(); | 155 m_pendingContainerSizeRequests.clear(); |
| 156 if (m_image && !errorOccurred()) | 156 if (m_image && !errorOccurred()) |
| 157 m_image->resetAnimation(); | 157 m_image->resetAnimation(); |
| 158 Resource::allClientsRemoved(); | 158 Resource::allClientsRemoved(); |
| 159 } | 159 } |
| 160 | 160 |
| 161 pair<blink::Image*, float> ImageResource::brokenImage(float deviceScaleFactor) | |
| 162 { | |
| 163 if (deviceScaleFactor >= 2) { | |
| 164 DEFINE_STATIC_REF(blink::Image, brokenImageHiRes, (blink::Image::loadPla
tformResource("missingImage@2x"))); | |
| 165 return std::make_pair(brokenImageHiRes, 2); | |
| 166 } | |
| 167 | |
| 168 DEFINE_STATIC_REF(blink::Image, brokenImageLoRes, (blink::Image::loadPlatfor
mResource("missingImage"))); | |
| 169 return std::make_pair(brokenImageLoRes, 1); | |
| 170 } | |
| 171 | |
| 172 bool ImageResource::willPaintBrokenImage() const | |
| 173 { | |
| 174 return errorOccurred(); | |
| 175 } | |
| 176 | 161 |
| 177 blink::Image* ImageResource::image() | 162 blink::Image* ImageResource::image() |
| 178 { | 163 { |
| 179 ASSERT(!isPurgeable()); | 164 ASSERT(!isPurgeable()); |
| 180 | 165 |
| 181 if (errorOccurred()) { | |
| 182 // Returning the 1x broken image is non-ideal, but we cannot reliably ac
cess the appropriate | |
| 183 // deviceScaleFactor from here. It is critical that callers use ImageRes
ource::brokenImage() | |
| 184 // when they need the real, deviceScaleFactor-appropriate broken image i
con. | |
| 185 return brokenImage(1).first; | |
| 186 } | |
| 187 | |
| 188 if (m_image) | 166 if (m_image) |
| 189 return m_image.get(); | 167 return m_image.get(); |
| 190 | 168 |
| 191 return blink::Image::nullImage(); | 169 return blink::Image::nullImage(); |
| 192 } | 170 } |
| 193 | 171 |
| 194 blink::Image* ImageResource::imageForRenderer(const RenderObject* renderer) | 172 blink::Image* ImageResource::imageForRenderer(const RenderObject* renderer) |
| 195 { | 173 { |
| 196 ASSERT(!isPurgeable()); | 174 ASSERT(!isPurgeable()); |
| 197 | 175 |
| 198 if (errorOccurred()) { | |
| 199 // Returning the 1x broken image is non-ideal, but we cannot reliably ac
cess the appropriate | |
| 200 // deviceScaleFactor from here. It is critical that callers use ImageRes
ource::brokenImage() | |
| 201 // when they need the real, deviceScaleFactor-appropriate broken image i
con. | |
| 202 return brokenImage(1).first; | |
| 203 } | |
| 204 | |
| 205 if (!m_image) | 176 if (!m_image) |
| 206 return blink::Image::nullImage(); | 177 return blink::Image::nullImage(); |
| 207 | 178 |
| 208 if (m_image->isSVGImage()) { | 179 if (m_image->isSVGImage()) { |
| 209 blink::Image* image = m_svgImageCache->imageForRenderer(renderer); | 180 blink::Image* image = m_svgImageCache->imageForRenderer(renderer); |
| 210 if (image != blink::Image::nullImage()) | 181 if (image != blink::Image::nullImage()) |
| 211 return image; | 182 return image; |
| 212 } | 183 } |
| 213 | 184 |
| 214 return m_image.get(); | 185 return m_image.get(); |
| (...skipping 275 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 490 if (response().wasFetchedViaServiceWorker()) | 461 if (response().wasFetchedViaServiceWorker()) |
| 491 return response().serviceWorkerResponseType() != WebServiceWorkerRespons
eTypeOpaque; | 462 return response().serviceWorkerResponseType() != WebServiceWorkerRespons
eTypeOpaque; |
| 492 if (!image()->currentFrameHasSingleSecurityOrigin()) | 463 if (!image()->currentFrameHasSingleSecurityOrigin()) |
| 493 return false; | 464 return false; |
| 494 if (passesAccessControlCheck(securityOrigin)) | 465 if (passesAccessControlCheck(securityOrigin)) |
| 495 return true; | 466 return true; |
| 496 return !securityOrigin->taintsCanvas(response().url()); | 467 return !securityOrigin->taintsCanvas(response().url()); |
| 497 } | 468 } |
| 498 | 469 |
| 499 } // namespace blink | 470 } // namespace blink |
| OLD | NEW |