X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=cc%2Ftiles%2Fchecker_image_tracker.h;h=daab8fd1846edd4704d09f7663b0dc736d916235;hb=cd97a838b15c5bbfe2f3714aaffa5cfe2d5a4ae3;hp=1a8229feaf567adcdecf2ea2fe55547f035736be;hpb=2d6607648a3ab1d8a8f39f04bacee720eee5e06d;p=platform%2Fframework%2Fweb%2Fchromium-efl.git diff --git a/cc/tiles/checker_image_tracker.h b/cc/tiles/checker_image_tracker.h index 1a8229fe..daab8fd 100644 --- a/cc/tiles/checker_image_tracker.h +++ b/cc/tiles/checker_image_tracker.h @@ -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 #include #include -#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 { @@ -55,8 +57,11 @@ class CC_EXPORT CheckerImageTracker { CheckerImageTrackerClient* client, bool enable_checker_imaging, size_t min_image_bytes_to_checker); + CheckerImageTracker(const CheckerImageTracker&) = delete; ~CheckerImageTracker(); + CheckerImageTracker& operator=(const CheckerImageTracker&) = delete; + // Returns true if the decode for |image| will be deferred to the image decode // service and it should be be skipped during raster. bool ShouldCheckerImage(const DrawImage& image, WhichTree tree); @@ -134,8 +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(); + TargetColorParams target_color_params; size_t frame_index = PaintImage::kDefaultFrameIndex; }; @@ -146,13 +153,14 @@ class CC_EXPORT CheckerImageTracker { ScopedDecodeHolder(ImageController* controller, ImageController::ImageDecodeRequestId request_id) : controller_(controller), request_id_(request_id) {} + ScopedDecodeHolder(const ScopedDecodeHolder&) = delete; ~ScopedDecodeHolder() { controller_->UnlockImageDecode(request_id_); } + ScopedDecodeHolder& operator=(const ScopedDecodeHolder&) = delete; + private: - ImageController* controller_; + raw_ptr controller_; ImageController::ImageDecodeRequestId request_id_; - - DISALLOW_COPY_AND_ASSIGN(ScopedDecodeHolder); }; void DidFinishImageDecode(PaintImage::Id image_id, @@ -166,8 +174,8 @@ class CC_EXPORT CheckerImageTracker { PaintImage::Id paint_image_id, DecodeState* decode_state); - ImageController* image_controller_; - CheckerImageTrackerClient* client_; + raw_ptr image_controller_; + raw_ptr client_; const bool enable_checker_imaging_; const size_t min_image_bytes_to_checker_; @@ -192,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 outstanding_image_decode_; + absl::optional outstanding_image_decode_; // A map of ImageId to its DecodePolicy. std::unordered_map image_async_decode_state_; @@ -203,9 +211,7 @@ class CC_EXPORT CheckerImageTracker { base::flat_map decoding_mode_map_; - base::WeakPtrFactory weak_factory_; - - DISALLOW_COPY_AND_ASSIGN(CheckerImageTracker); + base::WeakPtrFactory weak_factory_{this}; }; } // namespace cc