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

Unified Diff: chrome/browser/viewer/viewer_process_host.cc

Issue 10984007: in-chrome viewer for metro (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: remove debug code Created 8 years, 3 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/viewer/viewer_process_host.cc
diff --git a/chrome/browser/viewer/viewer_process_host.cc b/chrome/browser/viewer/viewer_process_host.cc
new file mode 100644
index 0000000000000000000000000000000000000000..9b08fb5813e8e88df039cd10ecd447994cf2430c
--- /dev/null
+++ b/chrome/browser/viewer/viewer_process_host.cc
@@ -0,0 +1,67 @@
+// Copyright 2012 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.
+
+#include "chrome/browser/viewer/viewer_process_host.h"
+
+#include "base/logging.h"
+#include "chrome/common/viewer_messages.h"
+#include "content/public/browser/browser_thread.h"
+#include "ipc/ipc_channel.h"
+#include "ui/surface/accelerated_surface_win.h"
+
+namespace viewer {
+
+ViewerProcessHost::ViewerProcessHost() {
+ DVLOG(ERROR) << __FUNCTION__ << ", ViewerProcessHost";
jam 2012/09/27 21:18:40 error?
scottmg 2012/09/28 04:50:45 Done. (deleted)
+ content::BrowserThread::PostTask(
+ content::BrowserThread::IO, FROM_HERE, base::Bind(
+ &ViewerProcessHost::CreateChannel, base::Unretained(this)));
jam 2012/09/27 21:18:40 how is this safe (i.e. that this object is deleted
scottmg 2012/09/28 04:50:45 Done.
+}
+
+ViewerProcessHost::~ViewerProcessHost() {
+}
+
+bool ViewerProcessHost::Send(IPC::Message* msg) {
+ return false;
jam 2012/09/27 21:18:40 nit: return channel_->Send(msg)?
scottmg 2012/09/28 04:50:45 Done.
+}
+
+bool ViewerProcessHost::OnMessageReceived(const IPC::Message& message) {
+ DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::IO));
+ bool handled = true;
+ IPC_BEGIN_MESSAGE_MAP(ViewerProcessHost, message)
+ IPC_MESSAGE_HANDLER(ViewerHostMsg_SetTargetSurface, OnSetTargetSurface)
+ IPC_MESSAGE_UNHANDLED(handled = false)
+ IPC_END_MESSAGE_MAP()
+ return handled;
+}
+
+void ViewerProcessHost::OnChannelConnected(int32 peer_pid) {
+ NOTIMPLEMENTED();
jam 2012/09/27 21:18:40 nit: if you don't need these, no need to override
scottmg 2012/09/28 04:50:45 Done.
+}
+
+void ViewerProcessHost::OnChannelError() {
+ NOTIMPLEMENTED();
+}
+
+void ViewerProcessHost::OnSetTargetSurface(uint32 target_surface) {
+ DVLOG(ERROR) << __FUNCTION__ << target_surface;
+ HWND hwnd = reinterpret_cast<HWND>(target_surface);
+
+ scoped_refptr<AcceleratedPresenter> any_window =
+ AcceleratedPresenter::GetForWindow(NULL);
+ any_window->SetNewTargetWindow(hwnd);
+}
+
+void ViewerProcessHost::CreateChannel() {
+ DVLOG(ERROR) << __FUNCTION__ << ", in browser";
+ channel_.reset(new IPC::Channel(
+ "viewer", IPC::Channel::MODE_NAMED_SERVER, this));
+ DVLOG(ERROR) << __FUNCTION__ << ", calling Connect";
+ if (!channel_->Connect()) {
+ DVLOG(ERROR) << "Couldn't connect.";
+ }
+ DVLOG(ERROR) << __FUNCTION__ << ", done";
+}
+
+} // namespace viewer

Powered by Google App Engine
This is Rietveld 408576698