Commit 05f6503f authored by Shawn Gallea's avatar Shawn Gallea Committed by Commit Bot

Remove CastExternalBeginFrameSource

This is no longer needed to reduce headless framerate.
https://chromium-review.googlesource.com/c/chromium/src/+/1815049
is used instead.

Test NONE

Bug: NONE
Change-Id: Iba114a91e6ca07a6383303b729cf5d5b415931db
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2055344
Commit-Queue: Shawn Gallea <sagallea@google.com>
Commit-Queue: Michael Spang <spang@chromium.org>
Reviewed-by: default avatarMichael Spang <spang@chromium.org>
Cr-Commit-Position: refs/heads/master@{#741167}
parent 6c523d46
......@@ -49,8 +49,6 @@ cast_source_set("graphics") {
"accessibility/partial_magnification_controller.h",
"cast_display_util.cc",
"cast_display_util.h",
"cast_external_begin_frame_source.cc",
"cast_external_begin_frame_source.h",
"cast_focus_client_aura.cc",
"cast_focus_client_aura.h",
"cast_touch_event_gate.cc",
......
// Copyright 2019 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 "chromecast/graphics/cast_external_begin_frame_source.h"
#include "base/time/time.h"
#include "chromecast/graphics/cast_window_manager_aura.h"
#include "chromecast/graphics/cast_window_tree_host_aura.h"
namespace chromecast {
namespace {
constexpr base::TimeDelta kFrameInterval =
base::TimeDelta::FromMilliseconds(250);
constexpr uint64_t kSourceId = viz::BeginFrameArgs::kManualSourceId;
} // namespace
CastExternalBeginFrameSource::CastExternalBeginFrameSource(
CastWindowManagerAura* cast_window_manager_aura)
: cast_window_manager_aura_(cast_window_manager_aura),
sequence_number_(viz::BeginFrameArgs::kStartingFrameNumber),
weak_factory_(this) {
IssueExternalBeginFrame();
}
CastExternalBeginFrameSource::~CastExternalBeginFrameSource() {}
void CastExternalBeginFrameSource::OnFrameComplete(
const viz::BeginFrameAck& ack) {
DCHECK_EQ(kSourceId, ack.frame_id.source_id);
timer_.Start(
FROM_HERE, kFrameInterval,
base::BindOnce(&CastExternalBeginFrameSource::IssueExternalBeginFrame,
base::Unretained(this)));
}
void CastExternalBeginFrameSource::IssueExternalBeginFrame() {
const auto now = base::TimeTicks::Now();
viz::BeginFrameArgs args = viz::BeginFrameArgs::Create(
BEGINFRAME_FROM_HERE, kSourceId, sequence_number_, now,
now + kFrameInterval, kFrameInterval, viz::BeginFrameArgs::NORMAL);
ui::Compositor* compositor =
cast_window_manager_aura_->window_tree_host()->compositor();
compositor->context_factory_private()->IssueExternalBeginFrame(
compositor, args, false,
base::BindOnce(&CastExternalBeginFrameSource::OnFrameComplete,
weak_factory_.GetWeakPtr()));
sequence_number_++;
}
} // namespace chromecast
// Copyright 2019 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.
#ifndef CHROMECAST_GRAPHICS_CAST_EXTERNAL_BEGIN_FRAME_SOURCE_H_
#define CHROMECAST_GRAPHICS_CAST_EXTERNAL_BEGIN_FRAME_SOURCE_H_
#include "base/memory/weak_ptr.h"
#include "base/timer/timer.h"
#include "components/viz/common/frame_sinks/begin_frame_args.h"
namespace chromecast {
class CastWindowManagerAura;
class CastExternalBeginFrameSource {
public:
explicit CastExternalBeginFrameSource(
CastWindowManagerAura* cast_window_manager_aura);
~CastExternalBeginFrameSource();
private:
void OnFrameComplete(const viz::BeginFrameAck& ack);
void IssueExternalBeginFrame();
CastWindowManagerAura* cast_window_manager_aura_;
uint64_t sequence_number_;
base::OneShotTimer timer_;
base::WeakPtrFactory<CastExternalBeginFrameSource> weak_factory_;
DISALLOW_COPY_AND_ASSIGN(CastExternalBeginFrameSource);
};
} // namespace chromecast
#endif // CHROMECAST_GRAPHICS_CAST_EXTERNAL_BEGIN_FRAME_SOURCE_H_
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment