blob: a7b2a63df7948d81247c49ec78d66e22c361bd99 [file] [log] [blame]
// Copyright 2020 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 "content/test/mock_widget.h"
namespace content {
MockWidget::MockWidget() = default;
MockWidget::~MockWidget() = default;
mojo::PendingAssociatedRemote<blink::mojom::Widget> MockWidget::GetNewRemote() {
blink_widget_.reset();
return blink_widget_.BindNewEndpointAndPassDedicatedRemote();
}
const std::vector<blink::VisualProperties>&
MockWidget::ReceivedVisualProperties() {
return visual_properties_;
}
void MockWidget::ClearVisualProperties() {
visual_properties_.clear();
}
const std::vector<std::pair<gfx::Rect, gfx::Rect>>&
MockWidget::ReceivedScreenRects() {
return screen_rects_;
}
void MockWidget::ClearScreenRects() {
for (auto& callback : screen_rects_callbacks_) {
std::move(callback).Run();
}
screen_rects_callbacks_.clear();
screen_rects_.clear();
}
void MockWidget::ForceRedraw(ForceRedrawCallback callback) {}
void MockWidget::GetWidgetInputHandler(
mojo::PendingReceiver<blink::mojom::WidgetInputHandler> request,
mojo::PendingRemote<blink::mojom::WidgetInputHandlerHost> host) {
// Some tests try to reinitialize a host against same MockWidget multiple
// times. We assume this happens against the same host and avoid changing the
// binding.
if (!input_handler_host_.is_bound())
input_handler_host_.Bind(std::move(host));
}
void MockWidget::SetTouchActionFromMain(cc::TouchAction touch_action) {
input_handler_host_->SetTouchActionFromMain(touch_action);
}
void MockWidget::UpdateVisualProperties(
const blink::VisualProperties& visual_properties) {
visual_properties_.push_back(visual_properties);
}
void MockWidget::UpdateScreenRects(const gfx::Rect& widget_screen_rect,
const gfx::Rect& window_screen_rect,
UpdateScreenRectsCallback callback) {
screen_rects_.push_back(
std::make_pair(widget_screen_rect, window_screen_rect));
screen_rects_callbacks_.push_back(std::move(callback));
}
void MockWidget::WasHidden() {
is_hidden_ = true;
if (shown_hidden_callback_)
std::move(shown_hidden_callback_).Run();
}
void MockWidget::WasShown(base::TimeTicks show_request_timestamp,
bool was_evicted,
blink::mojom::RecordContentToVisibleTimeRequestPtr
record_tab_switch_time_request) {
is_hidden_ = false;
if (shown_hidden_callback_)
std::move(shown_hidden_callback_).Run();
}
} // namespace content