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}
This commit is contained in:
content
browser
browser_plugin
compositor
frame_host
gpu
oop_browsertest.ccrenderer_host
frame_connector_delegate.ccrender_process_host_impl.ccrender_widget_host_input_event_router_unittest.ccrender_widget_host_view_aura.ccrender_widget_host_view_aura.hrender_widget_host_view_base.ccrender_widget_host_view_base.hrender_widget_host_view_child_frame.ccrender_widget_host_view_child_frame.h
common
test
@ -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) {
|
||||
|
@ -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());
|
||||
|
@ -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(
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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());
|
||||
|
@ -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)
|
||||
|
@ -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(
|
||||
|
@ -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,
|
||||
|
@ -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);
|
||||
|
@ -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
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -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() {
|
||||
|
@ -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;
|
||||
|
@ -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();
|
||||
|
@ -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
|
||||
|
@ -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_);
|
||||
|
@ -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
|
||||
|
@ -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",
|
||||
|
@ -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);
|
||||
};
|
@ -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;
|
||||
|
Reference in New Issue
Block a user