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

Unified Diff: content/browser/renderer_host/render_widget_host_view_mus.cc

Issue 1461243002: [OLD ATTEMPT, DO NOT REVIEW] mustash: Enable connections to mus from the Chrome renderer Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Invert connection creation flow. Needs lots of work. Created 5 years, 1 month 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 side-by-side diff with in-line comments
Download patch
Index: content/browser/renderer_host/render_widget_host_view_mus.cc
diff --git a/content/browser/renderer_host/render_widget_host_view_mus.cc b/content/browser/renderer_host/render_widget_host_view_mus.cc
index e3710354421139cd1eec7483f6e329692625df93..045ad5dd9409c7cff873d64be28b587b5f44da29 100644
--- a/content/browser/renderer_host/render_widget_host_view_mus.cc
+++ b/content/browser/renderer_host/render_widget_host_view_mus.cc
@@ -4,7 +4,13 @@
#include "content/browser/renderer_host/render_widget_host_view_mus.h"
+#include "components/mus/public/cpp/window.h"
+#include "components/mus/public/cpp/window_tree_connection.h"
+#include "content/browser/mojo/mojo_shell_client_host.h"
+#include "content/browser/renderer_host/render_process_host_impl.h"
#include "content/browser/renderer_host/render_widget_host_impl.h"
+#include "content/public/common/mojo_shell_connection.h"
+#include "mojo/application/public/cpp/application_impl.h"
namespace blink {
struct WebScreenInfo;
@@ -13,10 +19,24 @@ struct WebScreenInfo;
namespace content {
RenderWidgetHostViewMus::RenderWidgetHostViewMus(
+ mus::Window* parent_window,
RenderWidgetHostImpl* host,
base::WeakPtr<RenderWidgetHostViewBase> platform_view)
: host_(host), platform_view_(platform_view) {
+ DCHECK(parent_window);
+ mus::Window* window = parent_window->connection()->NewWindow();
+ window->SetVisible(true);
+ window->SetBounds(parent_window->bounds());
+ parent_window->AddChild(window);
+ window_.reset(new mus::ScopedWindowPtr(window));
host_->SetView(this);
+
+ //if (!host_->GetProcess()->IsReady()) {
Fady Samuel 2015/11/24 04:42:38 Delete this.
+ // host_->GetProcess()->AddObserver(this);
+ // return;
+ //}
+
+ //EmbedClient();
}
RenderWidgetHostViewMus::~RenderWidgetHostViewMus() {}
@@ -36,18 +56,21 @@ bool RenderWidgetHostViewMus::IsShowing() {
}
void RenderWidgetHostViewMus::SetSize(const gfx::Size& size) {
- size_ = size;
- host_->WasResized();
+ gfx::Rect bounds = window_->window()->bounds();
+ bounds.set_size(size);
+ SetBounds(bounds);
}
void RenderWidgetHostViewMus::SetBounds(const gfx::Rect& rect) {
- SetSize(rect.size());
+ window_->window()->SetBounds(rect);
+ host_->WasResized();
}
void RenderWidgetHostViewMus::Focus() {
// TODO(fsamuel): Request focus for the associated Mus::Window
// We need to be careful how we propagate focus as we navigate to and
// from interstitials.
+ window_->window()->SetFocus();
}
bool RenderWidgetHostViewMus::HasFocus() const {
@@ -60,7 +83,7 @@ bool RenderWidgetHostViewMus::IsSurfaceAvailableForCopy() const {
}
gfx::Rect RenderWidgetHostViewMus::GetViewBounds() const {
- return gfx::Rect(size_);
+ return window_->window()->bounds();
}
gfx::Vector2dF RenderWidgetHostViewMus::GetLastScrollOffset() const {
@@ -91,6 +114,12 @@ void RenderWidgetHostViewMus::SetTooltipText(
// TOOD(fsamuel): Ask window manager for tooltip?
}
+void RenderWidgetHostViewMus::EmbedWindowTreeClient(
+ mus::mojom::WindowTreeClientPtr tree_client) {
+ fprintf(stderr, ">>>%s\n", __PRETTY_FUNCTION__);
+ window_->window()->Embed(tree_client.Pass());
+}
+
void RenderWidgetHostViewMus::InitAsChild(gfx::NativeView parent_view) {
platform_view_->InitAsChild(parent_view);
}
@@ -111,11 +140,11 @@ void RenderWidgetHostViewMus::InitAsFullscreen(
}
gfx::NativeView RenderWidgetHostViewMus::GetNativeView() const {
- return gfx::NativeView();
+ return platform_view_->GetNativeView();
}
gfx::NativeViewId RenderWidgetHostViewMus::GetNativeViewId() const {
- return gfx::NativeViewId();
+ return platform_view_->GetNativeViewId();
}
gfx::NativeViewAccessible RenderWidgetHostViewMus::GetNativeViewAccessible() {
@@ -212,7 +241,7 @@ bool RenderWidgetHostViewMus::GetScreenColorProfile(
}
gfx::Rect RenderWidgetHostViewMus::GetBoundsInRootWindow() {
- return GetViewBounds();
+ return platform_view_->GetBoundsInRootWindow();
}
#if defined(OS_MACOSX)

Powered by Google App Engine
This is Rietveld 408576698