0
Files
src/content/test/mock_widget.cc
Miyoung Shin f264e2a806 Move WidgetMsg_WasShown/WidgetMsg_WasHidden to blink's Widget mojom
This CL converts WidgetMsg_WasShown/WidgetMsg_WasHidden IPCs to
blink's Widget mojom and moves some implementation including
is_hidden into WidgetBase, and moves
ContentToVisibleTimeReporter class to blink.

Bug: 1102446
Change-Id: I40bf1444627fdac5a96becef0907f5662a6a45e4
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2377630
Commit-Queue: Miyoung Shin <myid.shin@igalia.com>
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Reviewed-by: Dave Tapuska <dtapuska@chromium.org>
Cr-Commit-Position: refs/heads/master@{#807798}
2020-09-17 08:21:43 +00:00

85 lines
2.6 KiB
C++

// 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