/* Copyright (C) 1998 Lars Knoll ([email protected]) Copyright (C) 2001 Dirk Mueller <[email protected]> Copyright (C) 2006 Samuel Weinig ([email protected]) Copyright (C) 2004, 2005, 2006, 2007 Apple Inc. All rights reserved. This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifndef THIRD_PARTY_BLINK_RENDERER_CORE_LOADER_RESOURCE_IMAGE_RESOURCE_H_ #define THIRD_PARTY_BLINK_RENDERER_CORE_LOADER_RESOURCE_IMAGE_RESOURCE_H_ #include "base/containers/span.h" #include "base/task/single_thread_task_runner.h" #include "base/time/time.h" #include "third_party/abseil-cpp/absl/types/variant.h" #include "third_party/blink/renderer/core/core_export.h" #include "third_party/blink/renderer/core/loader/resource/image_resource_content.h" #include "third_party/blink/renderer/core/loader/resource/image_resource_info.h" #include "third_party/blink/renderer/core/loader/resource/multipart_image_resource_parser.h" #include "third_party/blink/renderer/platform/heap/garbage_collected.h" #include "third_party/blink/renderer/platform/loader/fetch/resource.h" #include "third_party/blink/renderer/platform/timer.h" #include "third_party/blink/renderer/platform/wtf/casting.h" #include "third_party/blink/renderer/platform/wtf/shared_buffer.h" namespace blink { class DOMWrapperWorld; class FetchParameters; class ImageResourceContent; class ResourceClient; class ResourceFetcher; // ImageResource implements blink::Resource interface and image-specific logic // for loading images. // Image-related things (blink::Image and ImageResourceObserver) are handled by // ImageResourceContent. // Most users should use ImageResourceContent instead of ImageResource. // https://docs.google.com/document/d/1O-fB83mrE0B_V8gzXNqHgmRLCvstTB4MMi3RnVLr8bE/edit?usp=sharing // // As for the lifetimes of ImageResourceContent::m_image and m_data, see this // document: // https://docs.google.com/document/d/1v0yTAZ6wkqX2U_M6BNIGUJpM1s0TIw1VsqpxoL7aciY/edit?usp=sharing class CORE_EXPORT ImageResource final : public Resource, public MultipartImageResourceParser::Client { … }; template <> struct DowncastTraits<ImageResource> { … }; } // namespace blink #endif // THIRD_PARTY_BLINK_RENDERER_CORE_LOADER_RESOURCE_IMAGE_RESOURCE_H_