Index: cc/tiles/image_controller.h |
diff --git a/cc/tiles/image_controller.h b/cc/tiles/image_controller.h |
index 7fb45b868aceb43d3cc272cd5cffbfa44e256e07..d64282f8e9040c09d0deee671c90e529fa5cb3b8 100644 |
--- a/cc/tiles/image_controller.h |
+++ b/cc/tiles/image_controller.h |
@@ -5,15 +5,11 @@ |
#ifndef CC_TILES_IMAGE_CONTROLLER_H_ |
#define CC_TILES_IMAGE_CONTROLLER_H_ |
-#include <set> |
#include <vector> |
#include "base/macros.h" |
#include "base/memory/ref_counted.h" |
-#include "base/memory/weak_ptr.h" |
-#include "base/threading/simple_thread.h" |
#include "cc/base/cc_export.h" |
-#include "cc/base/unique_notifier.h" |
#include "cc/playback/draw_image.h" |
#include "cc/raster/tile_task.h" |
#include "cc/tiles/image_decode_cache.h" |
@@ -22,12 +18,8 @@ |
class CC_EXPORT ImageController { |
public: |
- using ImageDecodeRequestId = uint64_t; |
- using ImageDecodedCallback = base::Callback<void(ImageDecodeRequestId)>; |
- explicit ImageController( |
- base::SequencedTaskRunner* origin_task_runner, |
- scoped_refptr<base::SequencedTaskRunner> worker_task_runner); |
- virtual ~ImageController(); |
+ ImageController(); |
+ ~ImageController(); |
void SetImageDecodeCache(ImageDecodeCache* cache); |
void GetTasksForImagesAndRef( |
@@ -40,65 +32,9 @@ |
std::vector<DrawImage> predecode_images, |
const ImageDecodeCache::TracingInfo& tracing_info); |
- // Virtual for testing. |
- virtual void UnlockImageDecode(ImageDecodeRequestId id); |
- |
- // This function requests that the given image be decoded and locked. Once the |
- // callback has been issued, it is passed an ID, which should be used to |
- // unlock this image. It is up to the caller to ensure that the image is later |
- // unlocked using UnlockImageDecode. |
- // Virtual for testing. |
- virtual ImageDecodeRequestId QueueImageDecode( |
- sk_sp<const SkImage> image, |
- const ImageDecodedCallback& callback); |
- |
private: |
- struct ImageDecodeRequest { |
- ImageDecodeRequest(); |
- ImageDecodeRequest(ImageDecodeRequestId id, |
- const DrawImage& draw_image, |
- const ImageDecodedCallback& callback, |
- scoped_refptr<TileTask> task, |
- bool need_unref); |
- ImageDecodeRequest(ImageDecodeRequest&& other); |
- ImageDecodeRequest(const ImageDecodeRequest& other); |
- ~ImageDecodeRequest(); |
- |
- ImageDecodeRequest& operator=(ImageDecodeRequest&& other); |
- ImageDecodeRequest& operator=(const ImageDecodeRequest& other); |
- |
- ImageDecodeRequestId id; |
- DrawImage draw_image; |
- ImageDecodedCallback callback; |
- scoped_refptr<TileTask> task; |
- bool need_unref; |
- }; |
- |
- void StopWorkerTasks(); |
- |
- // Called from the worker thread. |
- void ProcessNextImageDecodeOnWorkerThread(); |
- |
- void ImageDecodeCompleted(ImageDecodeRequestId id); |
- |
ImageDecodeCache* cache_ = nullptr; |
std::vector<DrawImage> predecode_locked_images_; |
- |
- static ImageDecodeRequestId s_next_image_decode_queue_id_; |
- std::unordered_map<ImageDecodeRequestId, DrawImage> requested_locked_images_; |
- |
- base::SequencedTaskRunner* origin_task_runner_ = nullptr; |
- scoped_refptr<base::SequencedTaskRunner> worker_task_runner_; |
- |
- // The variables defined below this lock (aside from weak_ptr_factory_) can |
- // only be accessed when the lock is acquired. |
- base::Lock lock_; |
- std::map<ImageDecodeRequestId, ImageDecodeRequest> image_decode_queue_; |
- std::map<ImageDecodeRequestId, ImageDecodeRequest> |
- requests_needing_completion_; |
- bool abort_tasks_ = false; |
- |
- base::WeakPtrFactory<ImageController> weak_ptr_factory_; |
DISALLOW_COPY_AND_ASSIGN(ImageController); |
}; |