Commit c481c794 authored by Gyuyoung Kim's avatar Gyuyoung Kim Committed by Commit Bot

Migrate offscreencanvas and related classes to the new Mojo types

This CL converts old Mojo types to the new Mojo types in
//third_party/blink/renderer/modules/offscreencanvas and
related classes. This cl replaces mojo::Binding with
mojo::Receiver mainly.

Bug: 955171
Change-Id: If813b64079bf7d1b33e796dcda128cc283e74a5a
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1761893Reviewed-by: default avatarKentaro Hara <haraken@chromium.org>
Reviewed-by: default avatarKen Rockot <rockot@google.com>
Commit-Queue: Gyuyoung Kim <gyuyoung@igalia.com>
Cr-Commit-Position: refs/heads/master@{#689307}
parent e1db2ff3
...@@ -7,6 +7,7 @@ ...@@ -7,6 +7,7 @@
#include <memory> #include <memory>
#include "build/build_config.h" #include "build/build_config.h"
#include "mojo/public/cpp/bindings/receiver.h"
#include "services/viz/public/mojom/hit_test/hit_test_region_list.mojom-blink.h" #include "services/viz/public/mojom/hit_test/hit_test_region_list.mojom-blink.h"
#include "testing/gmock/include/gmock/gmock.h" #include "testing/gmock/include/gmock/gmock.h"
#include "testing/gtest/include/gtest/gtest.h" #include "testing/gtest/include/gtest/gtest.h"
...@@ -100,7 +101,7 @@ TEST_P(HTMLCanvasElementModuleTest, LowLatencyCanvasCompositorFrameOpacity) { ...@@ -100,7 +101,7 @@ TEST_P(HTMLCanvasElementModuleTest, LowLatencyCanvasCompositorFrameOpacity) {
// by a canvas's CanvasResourceDispatcher, we have to override the Mojo // by a canvas's CanvasResourceDispatcher, we have to override the Mojo
// EmbeddedFrameSinkProvider interface impl and its CompositorFrameSinkClient. // EmbeddedFrameSinkProvider interface impl and its CompositorFrameSinkClient.
MockEmbeddedFrameSinkProvider mock_embedded_frame_sink_provider; MockEmbeddedFrameSinkProvider mock_embedded_frame_sink_provider;
mojo::Binding<mojom::blink::EmbeddedFrameSinkProvider> mojo::Receiver<mojom::blink::EmbeddedFrameSinkProvider>
embedded_frame_sink_provider_binding(&mock_embedded_frame_sink_provider); embedded_frame_sink_provider_binding(&mock_embedded_frame_sink_provider);
auto override = auto override =
mock_embedded_frame_sink_provider.CreateScopedOverrideMojoInterface( mock_embedded_frame_sink_provider.CreateScopedOverrideMojoInterface(
......
...@@ -4,6 +4,7 @@ ...@@ -4,6 +4,7 @@
#include "third_party/blink/renderer/core/offscreencanvas/offscreen_canvas.h" #include "third_party/blink/renderer/core/offscreencanvas/offscreen_canvas.h"
#include "mojo/public/cpp/bindings/receiver.h"
#include "services/viz/public/mojom/hit_test/hit_test_region_list.mojom-blink.h" #include "services/viz/public/mojom/hit_test/hit_test_region_list.mojom-blink.h"
#include "testing/gmock/include/gmock/gmock.h" #include "testing/gmock/include/gmock/gmock.h"
#include "testing/gtest/include/gtest/gtest.h" #include "testing/gtest/include/gtest/gtest.h"
...@@ -126,11 +127,11 @@ TEST_P(OffscreenCanvasTest, CompositorFrameOpacity) { ...@@ -126,11 +127,11 @@ TEST_P(OffscreenCanvasTest, CompositorFrameOpacity) {
// by OffscreenCanvas's CanvasResourceDispatcher, we have to override the Mojo // by OffscreenCanvas's CanvasResourceDispatcher, we have to override the Mojo
// EmbeddedFrameSinkProvider interface impl and its CompositorFrameSinkClient. // EmbeddedFrameSinkProvider interface impl and its CompositorFrameSinkClient.
MockEmbeddedFrameSinkProvider mock_embedded_frame_sink_provider; MockEmbeddedFrameSinkProvider mock_embedded_frame_sink_provider;
mojo::Binding<mojom::blink::EmbeddedFrameSinkProvider> mojo::Receiver<mojom::blink::EmbeddedFrameSinkProvider>
embedded_frame_sink_provider_binding(&mock_embedded_frame_sink_provider); embedded_frame_sink_provider_receiver(&mock_embedded_frame_sink_provider);
auto override = auto override =
mock_embedded_frame_sink_provider.CreateScopedOverrideMojoInterface( mock_embedded_frame_sink_provider.CreateScopedOverrideMojoInterface(
&embedded_frame_sink_provider_binding); &embedded_frame_sink_provider_receiver);
// Call here DidDraw() to simulate having drawn something before PushFrame()/ // Call here DidDraw() to simulate having drawn something before PushFrame()/
// Commit(); DidDraw() will in turn cause a CanvasResourceDispatcher to be // Commit(); DidDraw() will in turn cause a CanvasResourceDispatcher to be
......
...@@ -7,6 +7,7 @@ ...@@ -7,6 +7,7 @@
#include <memory> #include <memory>
#include "components/viz/common/quads/texture_draw_quad.h" #include "components/viz/common/quads/texture_draw_quad.h"
#include "mojo/public/cpp/bindings/receiver.h"
#include "services/viz/public/mojom/hit_test/hit_test_region_list.mojom-blink.h" #include "services/viz/public/mojom/hit_test/hit_test_region_list.mojom-blink.h"
#include "testing/gmock/include/gmock/gmock.h" #include "testing/gmock/include/gmock/gmock.h"
#include "testing/gtest/include/gtest/gtest.h" #include "testing/gtest/include/gtest/gtest.h"
...@@ -206,7 +207,7 @@ TEST_P(CanvasResourceDispatcherTest, DispatchFrame) { ...@@ -206,7 +207,7 @@ TEST_P(CanvasResourceDispatcherTest, DispatchFrame) {
// by theCanvasResourceDispatcher, we have to override the Mojo // by theCanvasResourceDispatcher, we have to override the Mojo
// EmbeddedFrameSinkProvider interface impl and its CompositorFrameSinkClient. // EmbeddedFrameSinkProvider interface impl and its CompositorFrameSinkClient.
MockEmbeddedFrameSinkProvider mock_embedded_frame_sink_provider; MockEmbeddedFrameSinkProvider mock_embedded_frame_sink_provider;
mojo::Binding<mojom::blink::EmbeddedFrameSinkProvider> mojo::Receiver<mojom::blink::EmbeddedFrameSinkProvider>
embedded_frame_sink_provider_binding(&mock_embedded_frame_sink_provider); embedded_frame_sink_provider_binding(&mock_embedded_frame_sink_provider);
auto override = auto override =
mock_embedded_frame_sink_provider.CreateScopedOverrideMojoInterface( mock_embedded_frame_sink_provider.CreateScopedOverrideMojoInterface(
......
...@@ -8,6 +8,7 @@ ...@@ -8,6 +8,7 @@
#include <memory> #include <memory>
#include "components/viz/common/surfaces/frame_sink_id.h" #include "components/viz/common/surfaces/frame_sink_id.h"
#include "mojo/public/cpp/bindings/receiver.h"
#include "testing/gmock/include/gmock/gmock.h" #include "testing/gmock/include/gmock/gmock.h"
#include "third_party/blink/public/mojom/frame_sinks/embedded_frame_sink.mojom-blink.h" #include "third_party/blink/public/mojom/frame_sinks/embedded_frame_sink.mojom-blink.h"
#include "third_party/blink/renderer/platform/testing/testing_platform_support.h" #include "third_party/blink/renderer/platform/testing/testing_platform_support.h"
...@@ -49,21 +50,20 @@ class MockEmbeddedFrameSinkProvider ...@@ -49,21 +50,20 @@ class MockEmbeddedFrameSinkProvider
// Utility method to create a scoped EmbeddedFrameSinkProvider override. // Utility method to create a scoped EmbeddedFrameSinkProvider override.
std::unique_ptr<TestingPlatformSupport::ScopedOverrideMojoInterface> std::unique_ptr<TestingPlatformSupport::ScopedOverrideMojoInterface>
CreateScopedOverrideMojoInterface( CreateScopedOverrideMojoInterface(
mojo::Binding<mojom::blink::EmbeddedFrameSinkProvider>* binding) { mojo::Receiver<mojom::blink::EmbeddedFrameSinkProvider>* receiver) {
using mojom::blink::EmbeddedFrameSinkProvider; using mojom::blink::EmbeddedFrameSinkProvider;
using mojom::blink::EmbeddedFrameSinkProviderRequest; using mojom::blink::EmbeddedFrameSinkProviderRequest;
return std::make_unique< return std::make_unique<
TestingPlatformSupport::ScopedOverrideMojoInterface>(WTF::BindRepeating( TestingPlatformSupport::ScopedOverrideMojoInterface>(WTF::BindRepeating(
[](mojo::Binding<EmbeddedFrameSinkProvider>* binding, [](mojo::Receiver<EmbeddedFrameSinkProvider>* receiver,
const char* interface_name, mojo::ScopedMessagePipeHandle pipe) { const char* interface_name, mojo::ScopedMessagePipeHandle pipe) {
if (strcmp(interface_name, EmbeddedFrameSinkProvider::Name_)) if (strcmp(interface_name, EmbeddedFrameSinkProvider::Name_))
return; return;
if (binding->is_bound()) receiver->reset();
binding->Unbind(); receiver->Bind(EmbeddedFrameSinkProviderRequest(std::move(pipe)));
binding->Bind(EmbeddedFrameSinkProviderRequest(std::move(pipe)));
}, },
WTF::Unretained(binding))); WTF::Unretained(receiver)));
} }
MockCompositorFrameSink& mock_compositor_frame_sink() const { MockCompositorFrameSink& mock_compositor_frame_sink() const {
return *mock_compositor_frame_sink_; return *mock_compositor_frame_sink_;
......
...@@ -20,6 +20,7 @@ ...@@ -20,6 +20,7 @@
#include "components/viz/test/test_context_provider.h" #include "components/viz/test/test_context_provider.h"
#include "media/base/video_frame.h" #include "media/base/video_frame.h"
#include "mojo/public/cpp/bindings/interface_request.h" #include "mojo/public/cpp/bindings/interface_request.h"
#include "mojo/public/cpp/bindings/receiver.h"
#include "services/viz/public/mojom/compositing/compositor_frame_sink.mojom-blink.h" #include "services/viz/public/mojom/compositing/compositor_frame_sink.mojom-blink.h"
#include "services/viz/public/mojom/hit_test/hit_test_region_list.mojom-blink.h" #include "services/viz/public/mojom/hit_test/hit_test_region_list.mojom-blink.h"
#include "testing/gmock/include/gmock/gmock.h" #include "testing/gmock/include/gmock/gmock.h"
...@@ -595,7 +596,7 @@ TEST_F(VideoFrameSubmitterTest, WaitingForAckPreventsNewFrame) { ...@@ -595,7 +596,7 @@ TEST_F(VideoFrameSubmitterTest, WaitingForAckPreventsNewFrame) {
// SurfaceEmbedder isn't. // SurfaceEmbedder isn't.
TEST_F(VideoFrameSubmitterTest, RecreateCompositorFrameSinkAfterContextLost) { TEST_F(VideoFrameSubmitterTest, RecreateCompositorFrameSinkAfterContextLost) {
MockEmbeddedFrameSinkProvider mock_embedded_frame_sink_provider; MockEmbeddedFrameSinkProvider mock_embedded_frame_sink_provider;
mojo::Binding<mojom::blink::EmbeddedFrameSinkProvider> mojo::Receiver<mojom::blink::EmbeddedFrameSinkProvider>
embedded_frame_sink_provider_binding(&mock_embedded_frame_sink_provider); embedded_frame_sink_provider_binding(&mock_embedded_frame_sink_provider);
auto override = auto override =
mock_embedded_frame_sink_provider.CreateScopedOverrideMojoInterface( mock_embedded_frame_sink_provider.CreateScopedOverrideMojoInterface(
......
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