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#ifndef ASH_TEST_TEST_METRO_VIEWER_PROCESS_HOST_H_
6#define ASH_TEST_TEST_METRO_VIEWER_PROCESS_HOST_H_
7
8#include "base/memory/scoped_ptr.h"
9#include "win8/viewer/metro_viewer_process_host.h"
10
11class AcceleratedSurface;
12
13namespace ash {
14namespace test {
15
16class TestMetroViewerProcessHost : public win8::MetroViewerProcessHost {
17 public:
18  TestMetroViewerProcessHost(base::SingleThreadTaskRunner* ipc_task_runner);
19  virtual ~TestMetroViewerProcessHost();
20
21  bool closed_unexpectedly() { return closed_unexpectedly_; }
22
23 private:
24  // win8::MetroViewerProcessHost implementation
25  virtual void OnChannelError() OVERRIDE;
26  virtual void OnSetTargetSurface(gfx::NativeViewId target_surface) OVERRIDE;
27  virtual void OnOpenURL(const string16& url) OVERRIDE;
28  virtual void OnHandleSearchRequest(const string16& search_string) OVERRIDE;
29
30  scoped_ptr<AcceleratedSurface> backing_surface_;
31
32  bool closed_unexpectedly_;
33
34  DISALLOW_COPY_AND_ASSIGN(TestMetroViewerProcessHost);
35};
36
37
38}  // namespace test
39}  // namespace ash
40
41#endif  // ASH_TEST_TEST_METRO_VIEWER_PROCESS_HOST_H_
42