blob: 02a02664ef370fb681c41ba5b23b2f7cfaa8987c [file] [log] [blame]
// Copyright 2017 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "components/viz/service/display_embedder/compositing_mode_reporter_impl.h"
namespace viz {
CompositingModeReporterImpl::CompositingModeReporterImpl() = default;
CompositingModeReporterImpl::~CompositingModeReporterImpl() = default;
void CompositingModeReporterImpl::BindRequest(
mojom::CompositingModeReporterRequest request) {
bindings_.AddBinding(this, std::move(request));
}
void CompositingModeReporterImpl::SetUsingSoftwareCompositing() {
gpu_ = false;
watchers_.ForAllPtrs([](mojom::CompositingModeWatcher* watcher) {
watcher->CompositingModeFallbackToSoftware();
});
}
void CompositingModeReporterImpl::AddCompositingModeWatcher(
mojom::CompositingModeWatcherPtr watcher) {
if (!gpu_)
watcher->CompositingModeFallbackToSoftware();
watchers_.AddPtr(std::move(watcher));
}
} // namespace viz