1// Copyright (c) 2013 The Chromium Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5#include "ash/test/test_metro_viewer_process_host.h" 6 7#include <windef.h> 8 9#include "base/logging.h" 10#include "ui/aura/remote_window_tree_host_win.h" 11#include "ui/gfx/win/dpi.h" 12 13namespace ash { 14namespace test { 15 16TestMetroViewerProcessHost::TestMetroViewerProcessHost( 17 base::SingleThreadTaskRunner* ipc_task_runner) 18 : MetroViewerProcessHost(ipc_task_runner), 19 closed_unexpectedly_(false) { 20} 21 22TestMetroViewerProcessHost::~TestMetroViewerProcessHost() { 23} 24 25void TestMetroViewerProcessHost::TerminateViewer() { 26 base::ProcessId viewer_process_id = GetViewerProcessId(); 27 if (viewer_process_id != base::kNullProcessId) { 28 base::ProcessHandle viewer_process = NULL; 29 base::OpenProcessHandleWithAccess( 30 viewer_process_id, 31 PROCESS_QUERY_INFORMATION | SYNCHRONIZE | PROCESS_TERMINATE, 32 &viewer_process); 33 if (viewer_process) { 34 ::TerminateProcess(viewer_process, 0); 35 ::WaitForSingleObject(viewer_process, INFINITE); 36 ::CloseHandle(viewer_process); 37 } 38 } 39} 40 41void TestMetroViewerProcessHost::OnChannelError() { 42 closed_unexpectedly_ = true; 43 aura::RemoteWindowTreeHostWin::Instance()->Disconnected(); 44} 45 46void TestMetroViewerProcessHost::OnSetTargetSurface( 47 gfx::NativeViewId target_surface, 48 float device_scale) { 49 DLOG(INFO) << __FUNCTION__ << ", target_surface = " << target_surface; 50 HWND hwnd = reinterpret_cast<HWND>(target_surface); 51 gfx::InitDeviceScaleFactor(device_scale); 52 aura::RemoteWindowTreeHostWin::Instance()->SetRemoteWindowHandle(hwnd); 53 aura::RemoteWindowTreeHostWin::Instance()->Connected(this); 54} 55 56void TestMetroViewerProcessHost::OnOpenURL(const base::string16& url) { 57} 58 59void TestMetroViewerProcessHost::OnHandleSearchRequest( 60 const base::string16& search_string) { 61} 62 63void TestMetroViewerProcessHost::OnWindowSizeChanged(uint32 width, 64 uint32 height) { 65} 66 67} // namespace test 68} // namespace ash 69