| 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 137 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 148 } | 148 } |
| 149 | 149 |
| 150 void ImageResource::allClientsRemoved() | 150 void ImageResource::allClientsRemoved() |
| 151 { | 151 { |
| 152 m_pendingContainerSizeRequests.clear(); | 152 m_pendingContainerSizeRequests.clear(); |
| 153 if (m_image && !errorOccurred()) | 153 if (m_image && !errorOccurred()) |
| 154 m_image->resetAnimation(); | 154 m_image->resetAnimation(); |
| 155 Resource::allClientsRemoved(); | 155 Resource::allClientsRemoved(); |
| 156 } | 156 } |
| 157 | 157 |
| 158 pair<blink::Image*, float> ImageResource::brokenImage(float deviceScaleFactor) | |
| 159 { | |
| 160 if (deviceScaleFactor >= 2) { | |
| 161 DEFINE_STATIC_REF(blink::Image, brokenImageHiRes, (blink::Image::loadPla
tformResource("missingImage@2x"))); | |
| 162 return std::make_pair(brokenImageHiRes, 2); | |
| 163 } | |
| 164 | |
| 165 DEFINE_STATIC_REF(blink::Image, brokenImageLoRes, (blink::Image::loadPlatfor
mResource("missingImage"))); | |
| 166 return std::make_pair(brokenImageLoRes, 1); | |
| 167 } | |
| 168 | |
| 169 blink::Image* ImageResource::image() | 158 blink::Image* ImageResource::image() |
| 170 { | 159 { |
| 171 ASSERT(!isPurgeable()); | 160 ASSERT(!isPurgeable()); |
| 172 | 161 |
| 173 if (errorOccurred()) { | |
| 174 // Returning the 1x broken image is non-ideal, but we cannot reliably ac
cess the appropriate | |
| 175 // deviceScaleFactor from here. It is critical that callers use ImageRes
ource::brokenImage() | |
| 176 // when they need the real, deviceScaleFactor-appropriate broken image i
con. | |
| 177 return brokenImage(1).first; | |
| 178 } | |
| 179 | |
| 180 if (m_image) | 162 if (m_image) |
| 181 return m_image.get(); | 163 return m_image.get(); |
| 182 | 164 |
| 183 return blink::Image::nullImage(); | 165 return blink::Image::nullImage(); |
| 184 } | 166 } |
| 185 | 167 |
| 186 blink::Image* ImageResource::imageForRenderer(const RenderObject* renderer) | 168 blink::Image* ImageResource::imageForRenderer(const RenderObject* renderer) |
| 187 { | 169 { |
| 188 ASSERT(!isPurgeable()); | 170 ASSERT(!isPurgeable()); |
| 189 | 171 |
| 190 if (errorOccurred()) { | |
| 191 // Returning the 1x broken image is non-ideal, but we cannot reliably ac
cess the appropriate | |
| 192 // deviceScaleFactor from here. It is critical that callers use ImageRes
ource::brokenImage() | |
| 193 // when they need the real, deviceScaleFactor-appropriate broken image i
con. | |
| 194 return brokenImage(1).first; | |
| 195 } | |
| 196 | |
| 197 if (!m_image) | 172 if (!m_image) |
| 198 return blink::Image::nullImage(); | 173 return blink::Image::nullImage(); |
| 199 | 174 |
| 200 return m_image.get(); | 175 return m_image.get(); |
| 201 } | 176 } |
| 202 | 177 |
| 203 void ImageResource::setContainerSizeForRenderer(const ImageResourceClient* rende
rer, const IntSize& containerSize) | 178 void ImageResource::setContainerSizeForRenderer(const ImageResourceClient* rende
rer, const IntSize& containerSize) |
| 204 { | 179 { |
| 205 if (containerSize.isEmpty()) | 180 if (containerSize.isEmpty()) |
| 206 return; | 181 return; |
| (...skipping 215 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 422 | 397 |
| 423 bool ImageResource::currentFrameKnownToBeOpaque(const RenderObject* renderer) | 398 bool ImageResource::currentFrameKnownToBeOpaque(const RenderObject* renderer) |
| 424 { | 399 { |
| 425 blink::Image* image = imageForRenderer(renderer); | 400 blink::Image* image = imageForRenderer(renderer); |
| 426 if (image->isBitmapImage()) | 401 if (image->isBitmapImage()) |
| 427 image->nativeImageForCurrentFrame(); // force decode | 402 image->nativeImageForCurrentFrame(); // force decode |
| 428 return image->currentFrameKnownToBeOpaque(); | 403 return image->currentFrameKnownToBeOpaque(); |
| 429 } | 404 } |
| 430 | 405 |
| 431 } // namespace blink | 406 } // namespace blink |
| OLD | NEW |