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.
5 #include "ash/test/test_metro_viewer_process_host.h"
9 #include "base/logging.h"
10 #include "base/process/process.h"
11 #include "ui/aura/remote_window_tree_host_win.h"
12 #include "ui/gfx/win/dpi.h"
17 TestMetroViewerProcessHost::TestMetroViewerProcessHost(
18 const scoped_refptr
<base::SingleThreadTaskRunner
>& ipc_task_runner
)
19 : MetroViewerProcessHost(ipc_task_runner
), closed_unexpectedly_(false) {
22 TestMetroViewerProcessHost::~TestMetroViewerProcessHost() {
25 void TestMetroViewerProcessHost::TerminateViewer() {
26 base::ProcessId viewer_process_id
= GetViewerProcessId();
27 if (viewer_process_id
!= base::kNullProcessId
) {
28 base::Process viewer_process
= base::Process::OpenWithAccess(
30 PROCESS_QUERY_INFORMATION
| SYNCHRONIZE
| PROCESS_TERMINATE
);
31 if (viewer_process
.IsValid()) {
32 viewer_process
.Terminate(0, false);
33 viewer_process
.WaitForExit(nullptr);
38 void TestMetroViewerProcessHost::OnChannelError() {
39 closed_unexpectedly_
= true;
40 aura::RemoteWindowTreeHostWin::Instance()->Disconnected();
43 void TestMetroViewerProcessHost::OnSetTargetSurface(
44 gfx::NativeViewId target_surface
,
46 DLOG(INFO
) << __FUNCTION__
<< ", target_surface = " << target_surface
;
47 HWND hwnd
= reinterpret_cast<HWND
>(target_surface
);
48 gfx::InitDeviceScaleFactor(device_scale
);
49 aura::RemoteWindowTreeHostWin::Instance()->SetRemoteWindowHandle(hwnd
);
50 aura::RemoteWindowTreeHostWin::Instance()->Connected(this);
53 void TestMetroViewerProcessHost::OnOpenURL(const base::string16
& url
) {
56 void TestMetroViewerProcessHost::OnHandleSearchRequest(
57 const base::string16
& search_string
) {
60 void TestMetroViewerProcessHost::OnWindowSizeChanged(uint32 width
,