From 103df1a15e73f18dff378a4bb7d2b9b9dba1f08b Mon Sep 17 00:00:00 2001 From: Scott Violet <sky@chromium.org> Date: Mon, 6 May 2019 17:57:23 +0000 Subject: [PATCH] content: removes support for mash from content/browser As we no longer intend to ship the mash, this code is no longer applicable. BUG=958121 TEST=covered by tests Change-Id: I890de497c7e77b4a86b96437e268022049ac4273 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1595077 Reviewed-by: Ken Buchanan <kenrb@chromium.org> Commit-Queue: Scott Violet <sky@chromium.org> Cr-Commit-Position: refs/heads/master@{#656865} --- .../browser_plugin/browser_plugin_guest.cc | 2 +- .../gpu_process_transport_factory.cc | 8 --- .../cross_process_frame_connector.cc | 16 ----- .../cross_process_frame_connector.h | 4 -- .../gpu/browser_gpu_channel_host_factory.cc | 4 -- content/browser/gpu/compositor_util.cc | 3 - content/browser/gpu/gpu_process_host.cc | 9 --- content/browser/oop_browsertest.cc | 6 +- .../renderer_host/frame_connector_delegate.cc | 3 - .../renderer_host/render_process_host_impl.cc | 15 ++-- ...widget_host_input_event_router_unittest.cc | 8 +-- .../render_widget_host_view_aura.cc | 65 +----------------- .../render_widget_host_view_aura.h | 4 -- .../render_widget_host_view_base.cc | 68 ------------------- .../render_widget_host_view_base.h | 44 ------------ .../render_widget_host_view_child_frame.cc | 61 ++++------------- .../render_widget_host_view_child_frame.h | 6 -- content/common/BUILD.gn | 1 - ...er_widget_window_tree_client_factory.mojom | 27 -------- content/test/test_render_view_host.h | 5 -- 20 files changed, 26 insertions(+), 333 deletions(-) delete mode 100644 content/common/render_widget_window_tree_client_factory.mojom diff --git a/content/browser/browser_plugin/browser_plugin_guest.cc b/content/browser/browser_plugin/browser_plugin_guest.cc index b2a59049be98f..123a293876ecf 100644 --- a/content/browser/browser_plugin/browser_plugin_guest.cc +++ b/content/browser/browser_plugin/browser_plugin_guest.cc @@ -703,7 +703,7 @@ void BrowserPluginGuest::RenderViewReady() { // In case we've created a new guest render process after a crash, let the // associated BrowserPlugin know. We only need to send this if we're attached, // as guest_crashed_ is cleared automatically on attach anyways. - if (attached() && !features::IsMultiProcessMash()) { + if (attached()) { RenderWidgetHostViewGuest* rwhv = static_cast<RenderWidgetHostViewGuest*>( web_contents()->GetRenderWidgetHostView()); if (rwhv) { diff --git a/content/browser/compositor/gpu_process_transport_factory.cc b/content/browser/compositor/gpu_process_transport_factory.cc index d28fa19793341..d60aefc9b0c27 100644 --- a/content/browser/compositor/gpu_process_transport_factory.cc +++ b/content/browser/compositor/gpu_process_transport_factory.cc @@ -66,7 +66,6 @@ #include "gpu/vulkan/buildflags.h" #include "services/ws/public/cpp/gpu/context_provider_command_buffer.h" #include "third_party/khronos/GLES2/gl2.h" -#include "ui/base/ui_base_features.h" #include "ui/base/ui_base_switches_util.h" #include "ui/compositor/compositor.h" #include "ui/compositor/host/external_begin_frame_controller_client_impl.h" @@ -218,13 +217,6 @@ GpuProcessTransportFactory::CreateSoftwareOutputDevice( if (command_line->HasSwitch(switches::kHeadless)) return base::WrapUnique(new viz::SoftwareOutputDevice); -#if defined(USE_AURA) - if (features::IsMultiProcessMash()) { - NOTREACHED(); - return nullptr; - } -#endif - DCHECK_CURRENTLY_ON(BrowserThread::UI); #if defined(OS_WIN) return CreateSoftwareOutputDeviceWinBrowser(widget, software_backing_.get()); diff --git a/content/browser/frame_host/cross_process_frame_connector.cc b/content/browser/frame_host/cross_process_frame_connector.cc index 814663a8c0188..eb02a7448ddf9 100644 --- a/content/browser/frame_host/cross_process_frame_connector.cc +++ b/content/browser/frame_host/cross_process_frame_connector.cc @@ -471,22 +471,6 @@ bool CrossProcessFrameConnector::IsHidden() const { return visibility_ == blink::mojom::FrameVisibility::kNotRendered; } -#if defined(USE_AURA) -void CrossProcessFrameConnector::EmbedRendererWindowTreeClientInParent( - ws::mojom::WindowTreeClientPtr window_tree_client) { - RenderWidgetHostViewBase* root = GetRootRenderWidgetHostView(); - RenderWidgetHostViewBase* parent = GetParentRenderWidgetHostView(); - if (!parent || !root) - return; - const int frame_routing_id = frame_proxy_in_parent_renderer_->GetRoutingID(); - parent->EmbedChildFrameRendererWindowTreeClient( - root, frame_routing_id, std::move(window_tree_client)); - frame_proxy_in_parent_renderer_->SetDestructionCallback( - base::BindOnce(&RenderWidgetHostViewBase::OnChildFrameDestroyed, - parent->GetWeakPtr(), frame_routing_id)); -} -#endif - void CrossProcessFrameConnector::DidUpdateVisualProperties( const cc::RenderFrameMetadata& metadata) { frame_proxy_in_parent_renderer_->Send(new FrameMsg_DidUpdateVisualProperties( diff --git a/content/browser/frame_host/cross_process_frame_connector.h b/content/browser/frame_host/cross_process_frame_connector.h index e1f4c6f46308c..12b07781f7501 100644 --- a/content/browser/frame_host/cross_process_frame_connector.h +++ b/content/browser/frame_host/cross_process_frame_connector.h @@ -111,10 +111,6 @@ class CONTENT_EXPORT CrossProcessFrameConnector bool IsHidden() const override; bool IsThrottled() const override; bool IsSubtreeThrottled() const override; -#if defined(USE_AURA) - void EmbedRendererWindowTreeClientInParent( - ws::mojom::WindowTreeClientPtr window_tree_client) override; -#endif void DidUpdateVisualProperties( const cc::RenderFrameMetadata& metadata) override; diff --git a/content/browser/gpu/browser_gpu_channel_host_factory.cc b/content/browser/gpu/browser_gpu_channel_host_factory.cc index d19da42b024fa..23c2d0db07cc4 100644 --- a/content/browser/gpu/browser_gpu_channel_host_factory.cc +++ b/content/browser/gpu/browser_gpu_channel_host_factory.cc @@ -37,7 +37,6 @@ #include "gpu/ipc/common/gpu_client_ids.h" #include "gpu/ipc/in_process_command_buffer.h" #include "services/resource_coordinator/public/mojom/memory_instrumentation/constants.mojom.h" -#include "ui/base/ui_base_features.h" #if defined(OS_MACOSX) #include "ui/accelerated_widget_mac/window_resize_helper_mac.h" @@ -304,9 +303,6 @@ BrowserGpuChannelHostFactory::~BrowserGpuChannelHostFactory() { void BrowserGpuChannelHostFactory::EstablishGpuChannel( gpu::GpuChannelEstablishedCallback callback) { -#if defined(USE_AURA) - DCHECK(!features::IsMultiProcessMash()); -#endif DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); if (gpu_channel_.get() && gpu_channel_->IsLost()) { DCHECK(!pending_request_.get()); diff --git a/content/browser/gpu/compositor_util.cc b/content/browser/gpu/compositor_util.cc index d7b9b1cbf599d..75be2ce0a8903 100644 --- a/content/browser/gpu/compositor_util.cc +++ b/content/browser/gpu/compositor_util.cc @@ -35,7 +35,6 @@ #include "gpu/config/gpu_switches.h" #include "gpu/ipc/host/gpu_memory_buffer_support.h" #include "media/media_buildflags.h" -#include "ui/base/ui_base_features.h" #include "ui/gl/gl_switches.h" namespace content { @@ -79,8 +78,6 @@ gpu::GpuFeatureStatus SafeGetFeatureStatus( gpu::GpuFeatureStatus GetGpuCompositingStatus( const gpu::GpuFeatureInfo& gpu_feature_info, GpuFeatureInfoType type) { - if (features::IsMultiProcessMash()) - return gpu::kGpuFeatureStatusEnabled; gpu::GpuFeatureStatus status = SafeGetFeatureStatus( gpu_feature_info, gpu::GPU_FEATURE_TYPE_GPU_COMPOSITING); #if defined(USE_AURA) || defined(OS_MACOSX) diff --git a/content/browser/gpu/gpu_process_host.cc b/content/browser/gpu/gpu_process_host.cc index 53fc82c1f2cc0..03af9941b7029 100644 --- a/content/browser/gpu/gpu_process_host.cc +++ b/content/browser/gpu/gpu_process_host.cc @@ -75,7 +75,6 @@ #include "services/service_manager/public/cpp/interface_provider.h" #include "services/service_manager/sandbox/sandbox_type.h" #include "services/service_manager/sandbox/switches.h" -#include "services/ws/public/mojom/constants.mojom.h" #include "ui/base/ui_base_features.h" #include "ui/base/ui_base_switches.h" #include "ui/display/display_switches.h" @@ -463,14 +462,6 @@ void BindDiscardableMemoryRequestOnIO( void BindDiscardableMemoryRequestOnUI( discardable_memory::mojom::DiscardableSharedMemoryManagerRequest request) { DCHECK_CURRENTLY_ON(BrowserThread::UI); - -#if defined(USE_AURA) - if (features::IsMultiProcessMash()) { - ServiceManagerConnection::GetForProcess()->GetConnector()->BindInterface( - ws::mojom::kServiceName, std::move(request)); - return; - } -#endif base::PostTaskWithTraits( FROM_HERE, {BrowserThread::IO}, base::BindOnce( diff --git a/content/browser/oop_browsertest.cc b/content/browser/oop_browsertest.cc index 83c72238d52a9..0b7c5bf444c9b 100644 --- a/content/browser/oop_browsertest.cc +++ b/content/browser/oop_browsertest.cc @@ -22,7 +22,6 @@ #include "gpu/config/gpu_switches.h" #include "third_party/skia/include/core/SkBitmap.h" #include "third_party/skia/include/core/SkColor.h" -#include "ui/base/ui_base_features.h" #include "ui/base/ui_base_switches.h" #include "ui/compositor/compositor_switches.h" #include "ui/gl/gl_switches.h" @@ -37,10 +36,7 @@ class OOPBrowserTest : public ContentBrowserTest { command_line->AppendSwitch(switches::kEnableGpuRasterization); command_line->AppendSwitch(switches::kEnablePixelOutputInTests); command_line->AppendSwitch(switches::kEnableOopRasterization); - - const bool use_gpu_in_tests = !features::IsMultiProcessMash(); - if (use_gpu_in_tests) - command_line->AppendSwitch(switches::kUseGpuInTests); + command_line->AppendSwitch(switches::kUseGpuInTests); } void VerifyVisualStateUpdated(const base::Closure& done_cb, diff --git a/content/browser/renderer_host/frame_connector_delegate.cc b/content/browser/renderer_host/frame_connector_delegate.cc index c0d82a91709bd..88a2f7e4cf00d 100644 --- a/content/browser/renderer_host/frame_connector_delegate.cc +++ b/content/browser/renderer_host/frame_connector_delegate.cc @@ -38,9 +38,6 @@ void FrameConnectorDelegate::SynchronizeVisualProperties( if (!view_) return; -#if defined(USE_AURA) - view_->SetFrameSinkId(frame_sink_id); -#endif // defined(USE_AURA) RenderWidgetHostImpl* render_widget_host = view_->host(); DCHECK(render_widget_host); diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content/browser/renderer_host/render_process_host_impl.cc index a0a0926ab6099..8af28def27b12 100644 --- a/content/browser/renderer_host/render_process_host_impl.cc +++ b/content/browser/renderer_host/render_process_host_impl.cc @@ -216,7 +216,6 @@ #include "third_party/blink/public/public_buildflags.h" #include "third_party/skia/include/core/SkBitmap.h" #include "ui/accessibility/accessibility_switches.h" -#include "ui/base/ui_base_features.h" #include "ui/base/ui_base_switches.h" #include "ui/base/ui_base_switches_util.h" #include "ui/display/display_switches.h" @@ -1545,14 +1544,12 @@ RenderProcessHostImpl::RenderProcessHostImpl( InitializeChannelProxy(); - if (!features::IsMultiProcessMash()) { - const int id = GetID(); - const uint64_t tracing_id = - ChildProcessHostImpl::ChildProcessUniqueIdToTracingProcessId(id); - gpu_client_.reset(new viz::GpuClient( - std::make_unique<BrowserGpuClientDelegate>(), id, tracing_id, - base::CreateSingleThreadTaskRunnerWithTraits({BrowserThread::IO}))); - } + const int id = GetID(); + const uint64_t tracing_id = + ChildProcessHostImpl::ChildProcessUniqueIdToTracingProcessId(id); + gpu_client_.reset(new viz::GpuClient( + std::make_unique<BrowserGpuClientDelegate>(), id, tracing_id, + base::CreateSingleThreadTaskRunnerWithTraits({BrowserThread::IO}))); } // static diff --git a/content/browser/renderer_host/render_widget_host_input_event_router_unittest.cc b/content/browser/renderer_host/render_widget_host_input_event_router_unittest.cc index 3643d081b98cb..d38f00f73f60b 100644 --- a/content/browser/renderer_host/render_widget_host_input_event_router_unittest.cc +++ b/content/browser/renderer_host/render_widget_host_input_event_router_unittest.cc @@ -25,7 +25,6 @@ #include "content/test/test_render_view_host.h" #include "services/viz/public/interfaces/hit_test/input_target_client.mojom.h" #include "testing/gtest/include/gtest/gtest.h" -#include "ui/base/ui_base_features.h" namespace content { @@ -266,11 +265,8 @@ class RenderWidgetHostInputEventRouterTest : public testing::Test { child.view.get(), parent_view, view_root_.get(), false /* use_zoom_for_device_scale_factor */); - // This check often fails in Mash. https://crbug.com/933876 - if (!features::IsMultiProcessMash()) { - EXPECT_EQ(child.view.get(), rwhier()->FindViewFromFrameSinkId( - child.view->GetFrameSinkId())); - } + EXPECT_EQ(child.view.get(), + rwhier()->FindViewFromFrameSinkId(child.view->GetFrameSinkId())); return child; } diff --git a/content/browser/renderer_host/render_widget_host_view_aura.cc b/content/browser/renderer_host/render_widget_host_view_aura.cc index 7714dc5248a98..6643198a762c6 100644 --- a/content/browser/renderer_host/render_widget_host_view_aura.cc +++ b/content/browser/renderer_host/render_widget_host_view_aura.cc @@ -23,7 +23,6 @@ #include "components/viz/common/frame_sinks/copy_output_request.h" #include "components/viz/common/frame_sinks/copy_output_result.h" #include "components/viz/common/surfaces/local_surface_id_allocation.h" -#include "components/viz/host/host_frame_sink_manager.h" #include "content/browser/accessibility/browser_accessibility_manager.h" #include "content/browser/accessibility/browser_accessibility_state_impl.h" #include "content/browser/bad_message.h" @@ -47,7 +46,6 @@ #include "content/browser/renderer_host/render_widget_host_view_event_handler.h" #include "content/browser/renderer_host/ui_events_helper.h" #include "content/common/input_messages.h" -#include "content/common/render_widget_window_tree_client_factory.mojom.h" #include "content/common/text_input_state.h" #include "content/common/view_messages.h" #include "content/public/browser/content_browser_client.h" @@ -56,8 +54,6 @@ #include "content/public/common/use_zoom_for_dsf_policy.h" #include "gpu/ipc/common/gpu_messages.h" #include "services/service_manager/public/cpp/interface_provider.h" -#include "services/ws/common/switches.h" -#include "services/ws/public/mojom/window_tree_constants.mojom.h" #include "third_party/blink/public/platform/web_input_event.h" #include "third_party/blink/public/web/web_ime_text_span.h" #include "ui/accessibility/accessibility_switches.h" @@ -71,7 +67,6 @@ #include "ui/aura/client/transient_window_client.h" #include "ui/aura/client/window_parenting_client.h" #include "ui/aura/env.h" -#include "ui/aura/mus/window_port_mus.h" #include "ui/aura/window.h" #include "ui/aura/window_event_dispatcher.h" #include "ui/aura/window_observer.h" @@ -79,7 +74,6 @@ #include "ui/base/clipboard/scoped_clipboard_writer.h" #include "ui/base/hit_test.h" #include "ui/base/ime/input_method.h" -#include "ui/base/ui_base_features.h" #include "ui/base/ui_base_switches.h" #include "ui/base/ui_base_switches_util.h" #include "ui/base/ui_base_types.h" @@ -145,16 +139,6 @@ using blink::WebTouchEvent; namespace content { -namespace { - -// Callback from embedding the renderer. -void EmbedCallback(bool result) { - if (!result) - DVLOG(1) << "embed failed"; -} - -} // namespace - #if defined(OS_WIN) // This class implements the ui::InputMethodKeyboardControllerObserver interface @@ -369,11 +353,8 @@ RenderWidgetHostViewAura::RenderWidgetHostViewAura( is_guest_view_hack_(is_guest_view_hack), device_scale_factor_(0.0f), event_handler_(new RenderWidgetHostViewEventHandler(host(), this, this)), - frame_sink_id_(features::IsMultiProcessMash() - ? viz::FrameSinkId() - : is_guest_view_hack_ - ? AllocateFrameSinkIdForGuestViewHack() - : host()->GetFrameSinkId()), + frame_sink_id_(is_guest_view_hack_ ? AllocateFrameSinkIdForGuestViewHack() + : host()->GetFrameSinkId()), weak_ptr_factory_(this) { if (!is_mus_browser_plugin_guest_) CreateDelegatedFrameHostClient(); @@ -956,20 +937,6 @@ void RenderWidgetHostViewAura::TransformPointToRootSurface(gfx::PointF* point) { aura::Window* root = window_->GetRootWindow(); aura::Window::ConvertPointToTarget(window_, root, point); root->GetRootWindow()->transform().TransformPoint(point); - -// On ChromeOS, the root surface is the whole desktop. When using the -// window-service converting to screen coordinates gives us that. -#if defined(OS_CHROMEOS) - if (features::IsUsingWindowService()) { - aura::client::ScreenPositionClient* screen_client = - aura::client::GetScreenPositionClient(root); - if (screen_client) { - gfx::Point rounded_point(point->x(), point->y()); - screen_client->ConvertPointToScreen(root, &rounded_point); - *point = gfx::PointF(rounded_point); - } - } -#endif } gfx::Rect RenderWidgetHostViewAura::GetBoundsInRootWindow() { @@ -1822,14 +1789,6 @@ viz::FrameSinkId RenderWidgetHostViewAura::GetRootFrameSinkId() { if (!window_ || !window_->GetHost() || !window_->GetHost()->compositor()) return viz::FrameSinkId(); - // In single-process mash the root is provided by Ash. Have - // HostFrameSinkManager walk the tree to find the right root. - if (features::IsSingleProcessMash()) { - base::Optional<viz::FrameSinkId> root = - GetHostFrameSinkManager()->FindRootFrameSinkId(frame_sink_id_); - return root ? *root : viz::FrameSinkId(); - } - return window_->GetHost()->compositor()->frame_sink_id(); } @@ -1871,14 +1830,6 @@ void RenderWidgetHostViewAura::FocusedNodeChanged( #endif } -void RenderWidgetHostViewAura::ScheduleEmbed( - ws::mojom::WindowTreeClientPtr client, - base::OnceCallback<void(const base::UnguessableToken&)> callback) { - DCHECK(features::IsMultiProcessMash()); - aura::Env::GetInstance()->ScheduleEmbed(std::move(client), - std::move(callback)); -} - void RenderWidgetHostViewAura::OnScrollEvent(ui::ScrollEvent* event) { event_handler_->OnScrollEvent(event); } @@ -2108,18 +2059,6 @@ void RenderWidgetHostViewAura::CreateAuraWindow(aura::client::WindowType type) { // Init(), because it needs to have the layer. if (frame_sink_id_.is_valid()) window_->SetEmbedFrameSinkId(frame_sink_id_); - - if (!features::IsMultiProcessMash()) - return; - - // Embed the renderer into the Window. - // Use kEmbedFlagEmbedderControlsVisibility so that the renderer can't change - // the visibility of |window_|. - aura::WindowPortMus::Get(window_)->Embed( - GetWindowTreeClientFromRenderer(), - ws::mojom::kEmbedFlagEmbedderInterceptsEvents | - ws::mojom::kEmbedFlagEmbedderControlsVisibility, - base::BindOnce(&EmbedCallback)); } void RenderWidgetHostViewAura::CreateDelegatedFrameHostClient() { diff --git a/content/browser/renderer_host/render_widget_host_view_aura.h b/content/browser/renderer_host/render_widget_host_view_aura.h index 53845eb57b164..6b0f96bba04c1 100644 --- a/content/browser/renderer_host/render_widget_host_view_aura.h +++ b/content/browser/renderer_host/render_widget_host_view_aura.h @@ -194,12 +194,8 @@ class CONTENT_EXPORT RenderWidgetHostViewAura gfx::PointF* transformed_point) override; viz::FrameSinkId GetRootFrameSinkId() override; viz::SurfaceId GetCurrentSurfaceId() const override; - void FocusedNodeChanged(bool is_editable_node, const gfx::Rect& node_bounds_in_screen) override; - void ScheduleEmbed(ws::mojom::WindowTreeClientPtr client, - base::OnceCallback<void(const base::UnguessableToken&)> - callback) override; void OnSynchronizedDisplayPropertiesChanged() override; viz::ScopedSurfaceIdAllocator DidUpdateVisualProperties( const cc::RenderFrameMetadata& metadata) override; diff --git a/content/browser/renderer_host/render_widget_host_view_base.cc b/content/browser/renderer_host/render_widget_host_view_base.cc index 534eb188b8757..ebfc14c2e2f50 100644 --- a/content/browser/renderer_host/render_widget_host_view_base.cc +++ b/content/browser/renderer_host/render_widget_host_view_base.cc @@ -41,11 +41,6 @@ #include "ui/gfx/geometry/size_conversions.h" #include "ui/gfx/geometry/size_f.h" -#if defined(USE_AURA) -#include "base/unguessable_token.h" -#include "content/common/render_widget_window_tree_client_factory.mojom.h" -#endif - namespace content { RenderWidgetHostViewBase::RenderWidgetHostViewBase(RenderWidgetHost* host) @@ -840,74 +835,11 @@ base::TimeTicks RenderWidgetHostViewBase::GetAndResetLastTabChangeStartTime() { return stored_time; } -#if defined(USE_AURA) -void RenderWidgetHostViewBase::EmbedChildFrameRendererWindowTreeClient( - RenderWidgetHostViewBase* root_view, - int routing_id, - ws::mojom::WindowTreeClientPtr renderer_window_tree_client) { - RenderWidgetHost* render_widget_host = GetRenderWidgetHost(); - if (!render_widget_host) - return; - const int embed_id = ++next_embed_id_; - pending_embeds_[routing_id] = embed_id; - root_view->ScheduleEmbed( - std::move(renderer_window_tree_client), - base::BindOnce(&RenderWidgetHostViewBase::OnDidScheduleEmbed, - GetWeakPtr(), routing_id, embed_id)); -} - -void RenderWidgetHostViewBase::OnChildFrameDestroyed(int routing_id) { - pending_embeds_.erase(routing_id); - // Tests may not create |render_widget_window_tree_client_| (tests don't - // necessarily create RenderWidgetHostViewAura). - if (render_widget_window_tree_client_) - render_widget_window_tree_client_->DestroyFrame(routing_id); -} -#endif - void RenderWidgetHostViewBase::SynchronizeVisualProperties() { if (host()) host()->SynchronizeVisualProperties(); } -#if defined(USE_AURA) -void RenderWidgetHostViewBase::OnDidScheduleEmbed( - int routing_id, - int embed_id, - const base::UnguessableToken& token) { - auto iter = pending_embeds_.find(routing_id); - if (iter == pending_embeds_.end() || iter->second != embed_id) - return; - pending_embeds_.erase(iter); - // Tests may not create |render_widget_window_tree_client_| (tests don't - // necessarily create RenderWidgetHostViewAura). - if (render_widget_window_tree_client_) - render_widget_window_tree_client_->Embed(routing_id, token); -} - -void RenderWidgetHostViewBase::ScheduleEmbed( - ws::mojom::WindowTreeClientPtr client, - base::OnceCallback<void(const base::UnguessableToken&)> callback) { - NOTREACHED(); -} - -ws::mojom::WindowTreeClientPtr -RenderWidgetHostViewBase::GetWindowTreeClientFromRenderer() { - // NOTE: this function may be called multiple times. - RenderWidgetHost* render_widget_host = GetRenderWidgetHost(); - mojom::RenderWidgetWindowTreeClientFactoryPtr factory; - BindInterface(render_widget_host->GetProcess(), &factory); - - ws::mojom::WindowTreeClientPtr window_tree_client; - factory->CreateWindowTreeClientForRenderWidget( - render_widget_host->GetRoutingID(), - mojo::MakeRequest(&window_tree_client), - mojo::MakeRequest(&render_widget_window_tree_client_)); - return window_tree_client; -} - -#endif - void RenderWidgetHostViewBase::DidNavigate() { if (host()) host()->SynchronizeVisualProperties(); diff --git a/content/browser/renderer_host/render_widget_host_view_base.h b/content/browser/renderer_host/render_widget_host_view_base.h index ce353fb6f6e6c..bb55eccad3edc 100644 --- a/content/browser/renderer_host/render_widget_host_view_base.h +++ b/content/browser/renderer_host/render_widget_host_view_base.h @@ -44,18 +44,8 @@ #include "ui/gfx/range/range.h" #include "ui/surface/transport_dib.h" -#if defined(USE_AURA) -#include "base/containers/flat_map.h" -#include "content/common/render_widget_window_tree_client_factory.mojom.h" -#include "services/ws/public/mojom/window_tree.mojom.h" -#endif - struct WidgetHostMsg_SelectionBounds_Params; -namespace base { -class UnguessableToken; -} - namespace cc { struct BeginFrameAck; } // namespace cc @@ -582,14 +572,6 @@ class CONTENT_EXPORT RenderWidgetHostViewBase return is_currently_scrolling_viewport_; } -#if defined(USE_AURA) - void EmbedChildFrameRendererWindowTreeClient( - RenderWidgetHostViewBase* root_view, - int routing_id, - ws::mojom::WindowTreeClientPtr renderer_window_tree_client); - void OnChildFrameDestroyed(int routing_id); -#endif - virtual void DidNavigate(); // Called when the RenderWidgetHostImpl has be initialized. @@ -620,14 +602,6 @@ class CONTENT_EXPORT RenderWidgetHostViewBase virtual void StopFlingingIfNecessary(const blink::WebGestureEvent& event, InputEventAckState ack_result); -#if defined(USE_AURA) - virtual void ScheduleEmbed( - ws::mojom::WindowTreeClientPtr client, - base::OnceCallback<void(const base::UnguessableToken&)> callback); - - ws::mojom::WindowTreeClientPtr GetWindowTreeClientFromRenderer(); -#endif - // If |event| is a touchpad pinch or double tap event for which we've sent a // synthetic wheel event, forward the |event| to the renderer, subject to // |ack_result| which is the ACK result of the synthetic wheel. @@ -694,12 +668,6 @@ class CONTENT_EXPORT RenderWidgetHostViewBase void SynchronizeVisualProperties(); -#if defined(USE_AURA) - void OnDidScheduleEmbed(int routing_id, - int embed_id, - const base::UnguessableToken& token); -#endif - // Called when display properties that need to be synchronized with the // renderer process changes. This method is called before notifying // RenderWidgetHostImpl in order to allow the view to allocate a new @@ -731,18 +699,6 @@ class CONTENT_EXPORT RenderWidgetHostViewBase base::ObserverList<RenderWidgetHostViewBaseObserver>::Unchecked observers_; -#if defined(USE_AURA) - mojom::RenderWidgetWindowTreeClientPtr render_widget_window_tree_client_; - - int next_embed_id_ = 0; - // Maps from routing_id to embed-id. The |routing_id| is the id supplied to - // EmbedChildFrameRendererWindowTreeClient() and the embed-id a unique id - // generate at the time EmbedChildFrameRendererWindowTreeClient() was called. - // This is done to ensure when OnDidScheduleEmbed() is received another call - // too EmbedChildFrameRendererWindowTreeClient() did not come in. - base::flat_map<int, int> pending_embeds_; -#endif - base::Optional<blink::WebGestureEvent> pending_touchpad_pinch_begin_; // The last tab switch processing start time. This should only be set and diff --git a/content/browser/renderer_host/render_widget_host_view_child_frame.cc b/content/browser/renderer_host/render_widget_host_view_child_frame.cc index b71e226dc6f57..38294aa1e0166 100644 --- a/content/browser/renderer_host/render_widget_host_view_child_frame.cc +++ b/content/browser/renderer_host/render_widget_host_view_child_frame.cc @@ -43,17 +43,11 @@ #include "content/public/browser/render_process_host.h" #include "gpu/ipc/common/gpu_messages.h" #include "third_party/blink/public/platform/web_touch_event.h" -#include "ui/base/ui_base_features.h" #include "ui/gfx/geometry/dip_util.h" #include "ui/gfx/geometry/size_conversions.h" #include "ui/gfx/geometry/size_f.h" #include "ui/touch_selection/touch_selection_controller.h" -#if defined(USE_AURA) -#include "services/ws/public/mojom/window_tree.mojom.h" -#include "ui/aura/env.h" -#endif - namespace content { // static @@ -76,20 +70,14 @@ RenderWidgetHostViewChildFrame::RenderWidgetHostViewChildFrame( enable_surface_synchronization_( features::IsSurfaceSynchronizationEnabled()), weak_factory_(this) { - if (features::IsMultiProcessMash()) { - // In Mus the RenderFrameProxy will eventually assign a viz::FrameSinkId - // until then set ours invalid, as operations using it will be disregarded. - frame_sink_id_ = viz::FrameSinkId(); - } else { - GetHostFrameSinkManager()->RegisterFrameSinkId( - frame_sink_id_, this, - enable_surface_synchronization_ - ? viz::ReportFirstSurfaceActivation::kNo - : viz::ReportFirstSurfaceActivation::kYes); - GetHostFrameSinkManager()->SetFrameSinkDebugLabel( - frame_sink_id_, "RenderWidgetHostViewChildFrame"); - CreateCompositorFrameSinkSupport(); - } + GetHostFrameSinkManager()->RegisterFrameSinkId( + frame_sink_id_, this, + enable_surface_synchronization_ + ? viz::ReportFirstSurfaceActivation::kNo + : viz::ReportFirstSurfaceActivation::kYes); + GetHostFrameSinkManager()->SetFrameSinkDebugLabel( + frame_sink_id_, "RenderWidgetHostViewChildFrame"); + CreateCompositorFrameSinkSupport(); } RenderWidgetHostViewChildFrame::~RenderWidgetHostViewChildFrame() { @@ -99,11 +87,9 @@ RenderWidgetHostViewChildFrame::~RenderWidgetHostViewChildFrame() { if (frame_connector_) DetachFromTouchSelectionClientManagerIfNecessary(); - if (!features::IsMultiProcessMash()) { - ResetCompositorFrameSinkSupport(); - if (GetHostFrameSinkManager()) - GetHostFrameSinkManager()->InvalidateFrameSinkId(frame_sink_id_); - } + ResetCompositorFrameSinkSupport(); + if (GetHostFrameSinkManager()) + GetHostFrameSinkManager()->InvalidateFrameSinkId(frame_sink_id_); } void RenderWidgetHostViewChildFrame::Init() { @@ -152,8 +138,7 @@ void RenderWidgetHostViewChildFrame::SetFrameConnectorDelegate( frame_connector_->GetParentRenderWidgetHostView(); if (parent_view) { - DCHECK(parent_view->GetFrameSinkId().is_valid() || - features::IsMultiProcessMash()); + DCHECK(parent_view->GetFrameSinkId().is_valid()); SetParentFrameSinkId(parent_view->GetFrameSinkId()); } @@ -173,24 +158,9 @@ void RenderWidgetHostViewChildFrame::SetFrameConnectorDelegate( } } -#if defined(USE_AURA) - if (features::IsMultiProcessMash()) { - frame_connector_->EmbedRendererWindowTreeClientInParent( - GetWindowTreeClientFromRenderer()); - } -#endif - SendSurfaceInfoToEmbedder(); } -#if defined(USE_AURA) -void RenderWidgetHostViewChildFrame::SetFrameSinkId( - const viz::FrameSinkId& frame_sink_id) { - if (features::IsMultiProcessMash()) - frame_sink_id_ = frame_sink_id; -} -#endif // defined(USE_AURA) - void RenderWidgetHostViewChildFrame::UpdateIntrinsicSizingInfo( const blink::WebIntrinsicSizingInfo& sizing_info) { if (frame_connector_) @@ -601,8 +571,7 @@ void RenderWidgetHostViewChildFrame::DidCreateNewRendererCompositorFrameSink( void RenderWidgetHostViewChildFrame::SetParentFrameSinkId( const viz::FrameSinkId& parent_frame_sink_id) { - if (parent_frame_sink_id_ == parent_frame_sink_id || - features::IsMultiProcessMash()) + if (parent_frame_sink_id_ == parent_frame_sink_id) return; auto* host_frame_sink_manager = GetHostFrameSinkManager(); @@ -623,8 +592,6 @@ void RenderWidgetHostViewChildFrame::SetParentFrameSinkId( } void RenderWidgetHostViewChildFrame::SendSurfaceInfoToEmbedder() { - if (features::IsMultiProcessMash()) - return; if (enable_surface_synchronization_) return; if (!last_activated_surface_info_.is_valid()) @@ -1065,7 +1032,7 @@ RenderWidgetHostViewChildFrame::DidUpdateVisualProperties( } void RenderWidgetHostViewChildFrame::CreateCompositorFrameSinkSupport() { - if (features::IsMultiProcessMash() || enable_viz_) + if (enable_viz_) return; DCHECK(!support_); diff --git a/content/browser/renderer_host/render_widget_host_view_child_frame.h b/content/browser/renderer_host/render_widget_host_view_child_frame.h index 580e9db275491..6668af1aa5c10 100644 --- a/content/browser/renderer_host/render_widget_host_view_child_frame.h +++ b/content/browser/renderer_host/render_widget_host_view_child_frame.h @@ -63,12 +63,6 @@ class CONTENT_EXPORT RenderWidgetHostViewChildFrame void SetFrameConnectorDelegate(FrameConnectorDelegate* frame_connector); -#if defined(USE_AURA) - // When the viz::FrameSinkId for this child frame is created and registered - // remotely, it can be set here. - void SetFrameSinkId(const viz::FrameSinkId& frame_sink_id); -#endif // defined(USE_AURA) - // This functions registers single-use callbacks that want to be notified when // the next frame is swapped. The callback is triggered by // SubmitCompositorFrame, which is the appropriate time to request pixel diff --git a/content/common/BUILD.gn b/content/common/BUILD.gn index 570125d278cd0..fb420ad860bd6 100644 --- a/content/common/BUILD.gn +++ b/content/common/BUILD.gn @@ -487,7 +487,6 @@ mojom("mojo_bindings") { "render_frame_message_filter.mojom", "render_frame_metadata.mojom", "render_message_filter.mojom", - "render_widget_window_tree_client_factory.mojom", "renderer.mojom", "renderer_host.mojom", "widget.mojom", diff --git a/content/common/render_widget_window_tree_client_factory.mojom b/content/common/render_widget_window_tree_client_factory.mojom deleted file mode 100644 index 7a92ea9cb0558..0000000000000 --- a/content/common/render_widget_window_tree_client_factory.mojom +++ /dev/null @@ -1,27 +0,0 @@ -// Copyright 2015 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. - -module content.mojom; - -import "mojo/public/mojom/base/unguessable_token.mojom"; -import "services/ws/public/mojom/window_tree.mojom"; - -interface RenderWidgetWindowTreeClient { - // Asks the renderer to create a Window for the frame with the routing id - // |routing_id| and embeds the WindowTreeClient that was previously supplied - // to ScheduleEmbed(). - Embed(uint32 frame_routing_id, mojo_base.mojom.UnguessableToken token); - - // Called when a render frame has been destroyed. This is sent via mojom - // to handle to ensure there aren't race conditions because of message order - // delivery. - DestroyFrame(uint32 frame_routing_id); -}; - -interface RenderWidgetWindowTreeClientFactory { - CreateWindowTreeClientForRenderWidget( - uint32 render_widget_host_routing_id, - ws.mojom.WindowTreeClient& window_tree_client, - RenderWidgetWindowTreeClient& render_widget_window_tree_client_request); -}; diff --git a/content/test/test_render_view_host.h b/content/test/test_render_view_host.h index 6d00571e6ae6e..3c944d49cbc1a 100644 --- a/content/test/test_render_view_host.h +++ b/content/test/test_render_view_host.h @@ -135,11 +135,6 @@ class TestRenderWidgetHostView : public RenderWidgetHostViewBase, void reset_did_change_compositor_frame_sink() { did_change_compositor_frame_sink_ = false; } -#if defined(USE_AURA) - void ScheduleEmbed(ws::mojom::WindowTreeClientPtr client, - base::OnceCallback<void(const base::UnguessableToken&)> - callback) override {} -#endif // viz::HostFrameSinkClient implementation. void OnFirstSurfaceActivation(const viz::SurfaceInfo& surface_info) override; void OnFrameTokenChanged(uint32_t frame_token) override;