| 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) 2006 Samuel Weinig (sam.weinig@gmail.com) | 4 Copyright (C) 2006 Samuel Weinig (sam.weinig@gmail.com) |
| 5 Copyright (C) 2004, 2005, 2006, 2007 Apple Inc. All rights reserved. | 5 Copyright (C) 2004, 2005, 2006, 2007 Apple Inc. All rights reserved. |
| 6 | 6 |
| 7 This library is free software; you can redistribute it and/or | 7 This library is free software; you can redistribute it and/or |
| 8 modify it under the terms of the GNU Library General Public | 8 modify it under the terms of the GNU Library General Public |
| 9 License as published by the Free Software Foundation; either | 9 License as published by the Free Software Foundation; either |
| 10 version 2 of the License, or (at your option) any later version. | 10 version 2 of the License, or (at your option) any later version. |
| (...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 63 static ImageResource* fetch(FetchRequest&, ResourceFetcher*); | 63 static ImageResource* fetch(FetchRequest&, ResourceFetcher*); |
| 64 | 64 |
| 65 // TODO(hiroshige): Make create() test-only by refactoring ImageDocument. | 65 // TODO(hiroshige): Make create() test-only by refactoring ImageDocument. |
| 66 static ImageResource* create(const ResourceRequest&); | 66 static ImageResource* create(const ResourceRequest&); |
| 67 | 67 |
| 68 ~ImageResource() override; | 68 ~ImageResource() override; |
| 69 | 69 |
| 70 ImageResourceContent* getContent(); | 70 ImageResourceContent* getContent(); |
| 71 const ImageResourceContent* getContent() const; | 71 const ImageResourceContent* getContent() const; |
| 72 | 72 |
| 73 void reloadIfLoFiOrPlaceholderImage(ResourceFetcher*, | 73 ImageResource* reloadIfLoFiOrPlaceholderImage( |
| 74 ReloadLoFiOrPlaceholderPolicy); | 74 ResourceFetcher*, |
| 75 ReloadLoFiOrPlaceholderPolicy) override; |
| 75 | 76 |
| 76 void didAddClient(ResourceClient*) override; | 77 void didAddClient(ResourceClient*) override; |
| 77 | 78 |
| 78 ResourcePriority priorityFromObservers() override; | 79 ResourcePriority priorityFromObservers() override; |
| 79 | 80 |
| 80 void allClientsAndObserversRemoved() override; | 81 void allClientsAndObserversRemoved() override; |
| 81 | 82 |
| 82 bool canReuse(const FetchRequest&) const override; | 83 bool canReuse(const FetchRequest&) const override; |
| 83 | 84 |
| 84 PassRefPtr<const SharedBuffer> resourceBuffer() const override; | 85 PassRefPtr<const SharedBuffer> resourceBuffer() const override; |
| (...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 122 SecurityOrigin*, | 123 SecurityOrigin*, |
| 123 ImageResourceInfo::DoesCurrentFrameHaveSingleSecurityOrigin) const; | 124 ImageResourceInfo::DoesCurrentFrameHaveSingleSecurityOrigin) const; |
| 124 | 125 |
| 125 bool hasClientsOrObservers() const override; | 126 bool hasClientsOrObservers() const override; |
| 126 | 127 |
| 127 void updateImageAndClearBuffer(); | 128 void updateImageAndClearBuffer(); |
| 128 void updateImage(PassRefPtr<SharedBuffer>, | 129 void updateImage(PassRefPtr<SharedBuffer>, |
| 129 ImageResourceContent::UpdateImageOption, | 130 ImageResourceContent::UpdateImageOption, |
| 130 bool allDataReceived); | 131 bool allDataReceived); |
| 131 | 132 |
| 132 void checkNotify() override; | |
| 133 | |
| 134 void destroyDecodedDataIfPossible() override; | 133 void destroyDecodedDataIfPossible() override; |
| 135 void destroyDecodedDataForFailedRevalidation() override; | 134 void destroyDecodedDataForFailedRevalidation() override; |
| 136 | 135 |
| 137 void flushImageIfNeeded(TimerBase*); | 136 void flushImageIfNeeded(TimerBase*); |
| 138 | 137 |
| 139 bool shouldReloadBrokenPlaceholder() const; | 138 bool shouldReloadBrokenPlaceholder() const; |
| 140 | 139 |
| 140 void detachContent(); |
| 141 |
| 141 Member<ImageResourceContent> m_content; | 142 Member<ImageResourceContent> m_content; |
| 142 | 143 |
| 143 // TODO(hiroshige): move |m_devicePixelRatioHeaderValue| and | 144 // TODO(hiroshige): move |m_devicePixelRatioHeaderValue| and |
| 144 // |m_hasDevicePixelRatioHeaderValue| to ImageResourceContent and update | 145 // |m_hasDevicePixelRatioHeaderValue| to ImageResourceContent and update |
| 145 // it via ImageResourceContent::updateImage(). | 146 // it via ImageResourceContent::updateImage(). |
| 146 float m_devicePixelRatioHeaderValue; | 147 float m_devicePixelRatioHeaderValue; |
| 147 | 148 |
| 148 Member<MultipartImageResourceParser> m_multipartParser; | 149 Member<MultipartImageResourceParser> m_multipartParser; |
| 149 MultipartParsingState m_multipartParsingState = | 150 MultipartParsingState m_multipartParsingState = |
| 150 MultipartParsingState::WaitingForFirstPart; | 151 MultipartParsingState::WaitingForFirstPart; |
| 151 bool m_hasDevicePixelRatioHeaderValue; | 152 bool m_hasDevicePixelRatioHeaderValue; |
| 152 | 153 |
| 153 // Indicates if the ImageResource is currently scheduling a reload, e.g. | |
| 154 // because reloadIfLoFi() was called. | |
| 155 bool m_isSchedulingReload; | |
| 156 | |
| 157 // Indicates if this ImageResource is either attempting to load a placeholder | 154 // Indicates if this ImageResource is either attempting to load a placeholder |
| 158 // image, or is a (possibly broken) placeholder image. | 155 // image, or is a (possibly broken) placeholder image. |
| 159 enum class PlaceholderOption { | 156 enum class PlaceholderOption { |
| 160 // Do not show or reload placeholder. | 157 // Do not show or reload placeholder. |
| 161 DoNotReloadPlaceholder, | 158 DoNotReloadPlaceholder, |
| 162 | 159 |
| 163 // Do not show placeholder, reload only when decode error occurs. | 160 // Do not show placeholder, reload only when decode error occurs. |
| 164 ReloadPlaceholderOnDecodeError, | 161 ReloadPlaceholderOnDecodeError, |
| 165 | 162 |
| 166 // Show placeholder and reload. | 163 // Show placeholder and reload. |
| 167 ShowAndReloadPlaceholderAlways, | 164 ShowAndReloadPlaceholderAlways, |
| 168 }; | 165 }; |
| 169 PlaceholderOption m_placeholderOption; | 166 PlaceholderOption m_placeholderOption; |
| 170 | 167 |
| 171 Timer<ImageResource> m_flushTimer; | 168 Timer<ImageResource> m_flushTimer; |
| 172 double m_lastFlushTime = 0.; | 169 double m_lastFlushTime = 0.; |
| 173 }; | 170 }; |
| 174 | 171 |
| 175 DEFINE_RESOURCE_TYPE_CASTS(Image); | 172 DEFINE_RESOURCE_TYPE_CASTS(Image); |
| 176 | 173 |
| 177 } // namespace blink | 174 } // namespace blink |
| 178 | 175 |
| 179 #endif | 176 #endif |
| OLD | NEW |