#include "ui/base/x/x11_xrandr_interval_only_vsync_provider.h"
#include "base/functional/bind.h"
#include "base/no_destructor.h"
#include "base/task/single_thread_task_runner.h"
#include "ui/base/x/x11_display_util.h"
#include "ui/gfx/x/connection.h"
#include "ui/gfx/x/event.h"
#include "ui/gfx/x/future.h"
#include "ui/gfx/x/randr.h"
namespace ui {
namespace {
bool IsXrandrAvailable() { … }
class XRandrHelper : public x11::EventObserver { … };
}
XrandrIntervalOnlyVSyncProvider::XrandrIntervalOnlyVSyncProvider() = default;
XrandrIntervalOnlyVSyncProvider::~XrandrIntervalOnlyVSyncProvider() = default;
void XrandrIntervalOnlyVSyncProvider::GetVSyncParameters(
UpdateVSyncCallback callback) { … }
bool XrandrIntervalOnlyVSyncProvider::GetVSyncParametersIfAvailable(
base::TimeTicks* timebase,
base::TimeDelta* interval) { … }
bool XrandrIntervalOnlyVSyncProvider::SupportGetVSyncParametersIfAvailable()
const { … }
bool XrandrIntervalOnlyVSyncProvider::IsHWClock() const { … }
}