-// 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 {
// 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;
};
ScopedDecodeHolder& operator=(const ScopedDecodeHolder&) = delete;
private:
- ImageController* controller_;
+ raw_ptr<ImageController> controller_;
ImageController::ImageDecodeRequestId request_id_;
};
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_;
// 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_;
base::flat_map<PaintImage::Id, PaintImage::DecodingMode> decoding_mode_map_;
- base::WeakPtrFactory<CheckerImageTracker> weak_factory_;
+ base::WeakPtrFactory<CheckerImageTracker> weak_factory_{this};
};
} // namespace cc