| Index: content/renderer/render_widget.cc
|
| diff --git a/content/renderer/render_widget.cc b/content/renderer/render_widget.cc
|
| index d9edfea44b72f0dc3fcb4a0e2dc05dec9d3df7b1..32caa60d16d1a89d9474f652401f0334fa74dbe0 100644
|
| --- a/content/renderer/render_widget.cc
|
| +++ b/content/renderer/render_widget.cc
|
| @@ -389,8 +389,8 @@ RenderWidget::RenderWidget(int32_t widget_routing_id,
|
| render_widget_scheduling_state_->SetHidden(is_hidden_);
|
| }
|
| #if defined(USE_AURA)
|
| - if (base::CommandLine::ForCurrentProcess()->HasSwitch(
|
| - switches::kUseMusInRenderer)) {
|
| + if (!base::CommandLine::ForCurrentProcess()->HasSwitch(
|
| + switches::kNoUseMusInRenderer)) {
|
| RendererWindowTreeClient::Create(routing_id_);
|
| }
|
| #endif
|
| @@ -402,6 +402,15 @@ RenderWidget::~RenderWidget() {
|
| // If we are swapped out, we have released already.
|
| if (!is_swapped_out_ && RenderProcess::current())
|
| RenderProcess::current()->ReleaseProcess();
|
| +#if defined(USE_AURA)
|
| + if (!base::CommandLine::ForCurrentProcess()->HasSwitch(
|
| + switches::kNoUseMusInRenderer)) {
|
| + // It is possible for a RenderWidget to be destroyed before it was embedded
|
| + // in a mus window. The RendererWindowTreeClient will leak in such cases. So
|
| + // explicitly delete it here.
|
| + RendererWindowTreeClient::Destroy(routing_id_);
|
| + }
|
| +#endif
|
| }
|
|
|
| // static
|
|
|