Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(406)

Side by Side Diff: content/renderer/render_widget.cc

Issue 2664963002: mus: Make --use-mus-in-renderer the default for --mash. (Closed)
Patch Set: . Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « content/renderer/render_thread_impl.cc ('k') | content/renderer/render_widget_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "content/renderer/render_widget.h" 5 #include "content/renderer/render_widget.h"
6 6
7 #include <memory> 7 #include <memory>
8 #include <utility> 8 #include <utility>
9 9
10 #include "base/auto_reset.h" 10 #include "base/auto_reset.h"
(...skipping 371 matching lines...) Expand 10 before | Expand all | Expand 10 after
382 DCHECK(RenderThread::Get()); 382 DCHECK(RenderThread::Get());
383 383
384 // In tests there may not be a RenderThreadImpl. 384 // In tests there may not be a RenderThreadImpl.
385 if (RenderThreadImpl::current()) { 385 if (RenderThreadImpl::current()) {
386 render_widget_scheduling_state_ = RenderThreadImpl::current() 386 render_widget_scheduling_state_ = RenderThreadImpl::current()
387 ->GetRendererScheduler() 387 ->GetRendererScheduler()
388 ->NewRenderWidgetSchedulingState(); 388 ->NewRenderWidgetSchedulingState();
389 render_widget_scheduling_state_->SetHidden(is_hidden_); 389 render_widget_scheduling_state_->SetHidden(is_hidden_);
390 } 390 }
391 #if defined(USE_AURA) 391 #if defined(USE_AURA)
392 if (base::CommandLine::ForCurrentProcess()->HasSwitch( 392 if (!base::CommandLine::ForCurrentProcess()->HasSwitch(
393 switches::kUseMusInRenderer)) { 393 switches::kNoUseMusInRenderer)) {
394 RendererWindowTreeClient::Create(routing_id_); 394 RendererWindowTreeClient::Create(routing_id_);
395 } 395 }
396 #endif 396 #endif
397 } 397 }
398 398
399 RenderWidget::~RenderWidget() { 399 RenderWidget::~RenderWidget() {
400 DCHECK(!webwidget_internal_) << "Leaking our WebWidget!"; 400 DCHECK(!webwidget_internal_) << "Leaking our WebWidget!";
401 401
402 // If we are swapped out, we have released already. 402 // If we are swapped out, we have released already.
403 if (!is_swapped_out_ && RenderProcess::current()) 403 if (!is_swapped_out_ && RenderProcess::current())
404 RenderProcess::current()->ReleaseProcess(); 404 RenderProcess::current()->ReleaseProcess();
405 #if defined(USE_AURA)
406 if (!base::CommandLine::ForCurrentProcess()->HasSwitch(
407 switches::kNoUseMusInRenderer)) {
408 // It is possible for a RenderWidget to be destroyed before it was embedded
409 // in a mus window. The RendererWindowTreeClient will leak in such cases. So
410 // explicitly delete it here.
411 RendererWindowTreeClient::Destroy(routing_id_);
412 }
413 #endif
405 } 414 }
406 415
407 // static 416 // static
408 void RenderWidget::InstallCreateHook( 417 void RenderWidget::InstallCreateHook(
409 CreateRenderWidgetFunction create_render_widget, 418 CreateRenderWidgetFunction create_render_widget,
410 RenderWidgetInitializedCallback render_widget_initialized) { 419 RenderWidgetInitializedCallback render_widget_initialized) {
411 CHECK(!g_create_render_widget && !g_render_widget_initialized); 420 CHECK(!g_create_render_widget && !g_render_widget_initialized);
412 g_create_render_widget = create_render_widget; 421 g_create_render_widget = create_render_widget;
413 g_render_widget_initialized = render_widget_initialized; 422 g_render_widget_initialized = render_widget_initialized;
414 } 423 }
(...skipping 1866 matching lines...) Expand 10 before | Expand all | Expand 10 after
2281 // browser side (https://crbug.com/669219). 2290 // browser side (https://crbug.com/669219).
2282 // If there is no WebFrameWidget, then there will be no 2291 // If there is no WebFrameWidget, then there will be no
2283 // InputMethodControllers for a WebLocalFrame. 2292 // InputMethodControllers for a WebLocalFrame.
2284 return nullptr; 2293 return nullptr;
2285 } 2294 }
2286 return static_cast<blink::WebFrameWidget*>(GetWebWidget()) 2295 return static_cast<blink::WebFrameWidget*>(GetWebWidget())
2287 ->getActiveWebInputMethodController(); 2296 ->getActiveWebInputMethodController();
2288 } 2297 }
2289 2298
2290 } // namespace content 2299 } // namespace content
OLDNEW
« no previous file with comments | « content/renderer/render_thread_impl.cc ('k') | content/renderer/render_widget_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698