#ifndef MEDIA_GPU_TEST_FAKE_COMMAND_BUFFER_HELPER_H_
#define MEDIA_GPU_TEST_FAKE_COMMAND_BUFFER_HELPER_H_
#include <map>
#include <set>
#include "base/memory/scoped_refptr.h"
#include "base/task/single_thread_task_runner.h"
#include "build/build_config.h"
#include "media/gpu/command_buffer_helper.h"
namespace media {
class FakeCommandBufferHelper : public CommandBufferHelper {
public:
explicit FakeCommandBufferHelper(
scoped_refptr<base::SingleThreadTaskRunner> task_runner);
FakeCommandBufferHelper(const FakeCommandBufferHelper&) = delete;
FakeCommandBufferHelper& operator=(const FakeCommandBufferHelper&) = delete;
void WaitForSyncToken(gpu::SyncToken sync_token,
base::OnceClosure done_cb) override;
void StubLost();
void ContextLost();
void CurrentContextLost();
void ReleaseSyncToken(gpu::SyncToken sync_token);
#if !BUILDFLAG(IS_ANDROID)
gpu::SharedImageStub* GetSharedImageStub() override;
gpu::MemoryTypeTracker* GetMemoryTypeTracker() override;
#endif
gpu::SharedImageManager* GetSharedImageManager() override;
private:
~FakeCommandBufferHelper() override;
scoped_refptr<base::SingleThreadTaskRunner> task_runner_;
std::map<gpu::SyncToken, base::OnceClosure> waits_;
};
}
#endif