[M108 Migration][VD] Avoid pending frame counter becoming negative
[platform/framework/web/chromium-efl.git] / cc / tiles / checker_image_tracker.h
index ee5578f..daab8fd 100644 (file)
@@ -1,17 +1,19 @@
-// Copyright 2017 The Chromium Authors. All rights reserved.
+// 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 <unordered_map>
 #include <vector>
 
-#include "base/optional.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/abseil-cpp/absl/types/optional.h"
 #include "third_party/skia/include/core/SkImage.h"
 
 namespace cc {
@@ -137,9 +139,10 @@ class CC_EXPORT CheckerImageTracker {
   // queuing the image decode.
   struct DecodeState {
     DecodePolicy policy = DecodePolicy::SYNC;
-    SkFilterQuality filter_quality = kNone_SkFilterQuality;
+    bool use_dark_mode = false;
+    PaintFlags::FilterQuality filter_quality = PaintFlags::FilterQuality::kNone;
     SkSize scale = SkSize::MakeEmpty();
-    gfx::ColorSpace color_space;
+    TargetColorParams target_color_params;
     size_t frame_index = PaintImage::kDefaultFrameIndex;
   };
 
@@ -156,7 +159,7 @@ class CC_EXPORT CheckerImageTracker {
     ScopedDecodeHolder& operator=(const ScopedDecodeHolder&) = delete;
 
    private:
-    ImageController* controller_;
+    raw_ptr<ImageController> controller_;
     ImageController::ImageDecodeRequestId request_id_;
   };
 
@@ -171,8 +174,8 @@ class CC_EXPORT CheckerImageTracker {
                          PaintImage::Id paint_image_id,
                          DecodeState* decode_state);
 
-  ImageController* image_controller_;
-  CheckerImageTrackerClient* client_;
+  raw_ptr<ImageController> image_controller_;
+  raw_ptr<CheckerImageTrackerClient> client_;
   const bool enable_checker_imaging_;
   const size_t min_image_bytes_to_checker_;
 
@@ -197,7 +200,7 @@ class CC_EXPORT CheckerImageTracker {
 
   // The currently outstanding image decode that has been scheduled with the
   // decode service. There can be only one outstanding decode at a time.
-  base::Optional<PaintImage> outstanding_image_decode_;
+  absl::optional<PaintImage> outstanding_image_decode_;
 
   // A map of ImageId to its DecodePolicy.
   std::unordered_map<PaintImage::Id, DecodeState> image_async_decode_state_;
@@ -208,7 +211,7 @@ class CC_EXPORT CheckerImageTracker {
 
   base::flat_map<PaintImage::Id, PaintImage::DecodingMode> decoding_mode_map_;
 
-  base::WeakPtrFactory<CheckerImageTracker> weak_factory_;
+  base::WeakPtrFactory<CheckerImageTracker> weak_factory_{this};
 };
 
 }  // namespace cc