// Copyright 2017 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef CC_TILES_CHECKER_IMAGE_TRACKER_H_ #define CC_TILES_CHECKER_IMAGE_TRACKER_H_ #include <memory> #include <optional> #include <unordered_map> #include <vector> #include "base/containers/contains.h" #include "base/memory/raw_ptr.h" #include "cc/cc_export.h" #include "cc/paint/image_id.h" #include "cc/tiles/image_controller.h" #include "third_party/skia/include/core/SkImage.h" namespace cc { class CC_EXPORT CheckerImageTrackerClient { … }; // CheckerImageTracker is used to track the set of images in a frame which are // decoded asynchronously, using the ImageDecodeService, from the rasterization // of tiles which depend on them. Once decoded, these images are stored for // invalidation on the next sync tree. TakeImagesToInvalidateOnSyncTree will // return this set and maintain a copy to keeps these images locked until the // sync tree is activated. // Note: It is illegal to call TakeImagesToInvalidateOnSyncTree for the next // sync tree until the previous tree is activated. class CC_EXPORT CheckerImageTracker { … }; } // namespace cc #endif // CC_TILES_CHECKER_IMAGE_TRACKER_H_