// Copyright 2018 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef MEDIA_CAPABILITIES_IN_MEMORY_VIDEO_DECODE_STATS_DB_IMPL_H_ #define MEDIA_CAPABILITIES_IN_MEMORY_VIDEO_DECODE_STATS_DB_IMPL_H_ #include <map> #include <memory> #include "base/memory/raw_ptr.h" #include "base/memory/weak_ptr.h" #include "components/leveldb_proto/public/proto_database.h" #include "media/base/media_export.h" #include "media/base/video_codecs.h" #include "media/capabilities/video_decode_stats_db.h" #include "ui/gfx/geometry/size.h" namespace media { class VideoDecodeStatsDBProvider; // The in-memory database disappears with profile shutdown to preserve the // privacy of off-the-record (OTR) browsing profiles (Guest and Incognito). It // also allows the MediaCapabilities API to behave the same both on and // off-the-record which prevents sites from detecting when users are OTR modes. // VideoDecodeStatsDBProvider gives incognito profiles a hook to read the stats // of the of the originating profile. Guest profiles are conceptually a blank // slate and will not have a "seed" DB. class MEDIA_EXPORT InMemoryVideoDecodeStatsDBImpl : public VideoDecodeStatsDB { … }; } // namespace media #endif // MEDIA_CAPABILITIES_IN_MEMORY_VIDEO_DECODE_STATS_DB_IMPL_H_