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

Side by Side Diff: content/browser/renderer_host/render_widget_host_view_mus.cc

Issue 1472063007: mustash: enable GPU Compositing in renderer (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years 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
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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/browser/renderer_host/render_widget_host_view_mus.h" 5 #include "content/browser/renderer_host/render_widget_host_view_mus.h"
6 6
7 #include "base/debug/stack_trace.h"
8
7 #include "components/mus/public/cpp/window.h" 9 #include "components/mus/public/cpp/window.h"
8 #include "components/mus/public/cpp/window_tree_connection.h" 10 #include "components/mus/public/cpp/window_tree_connection.h"
9 #include "content/browser/mojo/mojo_shell_client_host.h" 11 #include "content/browser/mojo/mojo_shell_client_host.h"
10 #include "content/browser/renderer_host/render_process_host_impl.h" 12 #include "content/browser/renderer_host/render_process_host_impl.h"
11 #include "content/browser/renderer_host/render_widget_host_impl.h" 13 #include "content/browser/renderer_host/render_widget_host_impl.h"
12 #include "content/common/render_widget_window_tree_client_factory.mojom.h" 14 #include "content/common/render_widget_window_tree_client_factory.mojom.h"
13 #include "content/public/common/mojo_shell_connection.h" 15 #include "content/public/common/mojo_shell_connection.h"
14 #include "mojo/application/public/cpp/application_impl.h" 16 #include "mojo/application/public/cpp/application_impl.h"
15 17
16 namespace blink { 18 namespace blink {
17 struct WebScreenInfo; 19 struct WebScreenInfo;
18 } 20 }
19 21
20 namespace content { 22 namespace content {
21 23
24 void DoNothing(bool result) {
25 fprintf(stderr, "EEE %s %d\n", __func__, __LINE__);
26 }
27
22 RenderWidgetHostViewMus::RenderWidgetHostViewMus( 28 RenderWidgetHostViewMus::RenderWidgetHostViewMus(
23 mus::Window* parent_window, 29 mus::Window* parent_window,
24 RenderWidgetHostImpl* host, 30 RenderWidgetHostImpl* host,
25 base::WeakPtr<RenderWidgetHostViewBase> platform_view) 31 base::WeakPtr<RenderWidgetHostViewBase> platform_view)
26 : host_(host), platform_view_(platform_view) { 32 : host_(host), platform_view_(platform_view) {
33 // base::debug::StackTrace().Print();
34 //
27 DCHECK(parent_window); 35 DCHECK(parent_window);
28 mus::Window* window = parent_window->connection()->NewWindow(); 36 mus::Window* window = parent_window->connection()->NewWindow();
29 window->SetVisible(true); 37 window->SetVisible(true);
30 window->SetBounds(gfx::Rect(300, 300)); 38 window->SetBounds(gfx::Rect(300, 300));
31 parent_window->AddChild(window); 39 parent_window->AddChild(window);
32 window_.reset(new mus::ScopedWindowPtr(window)); 40 window_.reset(new mus::ScopedWindowPtr(window));
33 host_->SetView(this); 41 host_->SetView(this);
34 42
35 // Connect to the renderer, pass it a WindowTreeClient interface request 43 // Connect to the renderer, pass it a WindowTreeClient interface request
36 // and embed that client inside our mus window. 44 // and embed that client inside our mus window.
37 std::string url = GetMojoApplicationInstanceURL(host_->GetProcess()); 45 std::string url = GetMojoApplicationInstanceURL(host_->GetProcess());
38 mojom::RenderWidgetWindowTreeClientFactoryPtr factory; 46 mojom::RenderWidgetWindowTreeClientFactoryPtr factory;
39 MojoShellConnection::Get()->GetApplication()->ConnectToService(url, &factory); 47 MojoShellConnection::Get()->GetApplication()->ConnectToService(url, &factory);
40 48
41 mus::mojom::WindowTreeClientPtr window_tree_client; 49 mus::mojom::WindowTreeClientPtr window_tree_client;
42 factory->CreateWindowTreeClientForRenderWidget( 50 factory->CreateWindowTreeClientForRenderWidget(
43 host_->GetRoutingID(), mojo::GetProxy(&window_tree_client)); 51 host_->GetRoutingID(), mojo::GetProxy(&window_tree_client),
52 DoNothing);
Peng 2015/11/26 22:13:04 Looks like in the browser process, this function i
Fady Samuel 2015/11/27 00:26:21 Mojo IPCs and Chrome IPCs can be issued out of ord
53 fprintf(stderr, "EEE %s %d\n", __func__, __LINE__);
54 factory.WaitForIncomingResponse();
Peng 2015/11/27 15:08:03 I think WaitForImcomingResponse() should block cur
55 fprintf(stderr, "EEE %s %d\n", __func__, __LINE__);
44 window_->window()->Embed(window_tree_client.Pass()); 56 window_->window()->Embed(window_tree_client.Pass());
45 } 57 }
46 58
47 RenderWidgetHostViewMus::~RenderWidgetHostViewMus() {} 59 RenderWidgetHostViewMus::~RenderWidgetHostViewMus() {}
48 60
49 void RenderWidgetHostViewMus::Show() { 61 void RenderWidgetHostViewMus::Show() {
50 // TODO(fsamuel): Update visibility in Mus. 62 // TODO(fsamuel): Update visibility in Mus.
51 // There is some interstitial complexity that we'll need to figure out here. 63 // There is some interstitial complexity that we'll need to figure out here.
52 host_->WasShown(ui::LatencyInfo()); 64 host_->WasShown(ui::LatencyInfo());
53 } 65 }
(...skipping 242 matching lines...) Expand 10 before | Expand all | Expand 10 after
296 void RenderWidgetHostViewMus::SetParentNativeViewAccessible( 308 void RenderWidgetHostViewMus::SetParentNativeViewAccessible(
297 gfx::NativeViewAccessible accessible_parent) {} 309 gfx::NativeViewAccessible accessible_parent) {}
298 310
299 gfx::NativeViewId RenderWidgetHostViewMus::GetParentForWindowlessPlugin() 311 gfx::NativeViewId RenderWidgetHostViewMus::GetParentForWindowlessPlugin()
300 const { 312 const {
301 return gfx::NativeViewId(); 313 return gfx::NativeViewId();
302 } 314 }
303 #endif 315 #endif
304 316
305 } // namespace content 317 } // namespace content
OLDNEW
« no previous file with comments | « content/browser/renderer_host/render_view_host_impl.cc ('k') | content/common/render_widget_window_tree_client_factory.mojom » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698