OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef SKY_TOOLS_TESTER_TEST_HARNESS_IMPL_H_ | 5 #ifndef SKY_TOOLS_TESTER_TEST_HARNESS_IMPL_H_ |
6 #define SKY_TOOLS_TESTER_TEST_HARNESS_IMPL_H_ | 6 #define SKY_TOOLS_TESTER_TEST_HARNESS_IMPL_H_ |
7 | 7 |
8 #include "base/memory/weak_ptr.h" | 8 #include "base/memory/weak_ptr.h" |
9 #include "mojo/public/cpp/application/interface_factory_impl.h" | 9 #include "mojo/public/cpp/application/interface_factory_impl.h" |
| 10 #include "mojo/public/cpp/bindings/strong_binding.h" |
10 #include "mojo/public/cpp/system/core.h" | 11 #include "mojo/public/cpp/system/core.h" |
11 #include "sky/services/testing/test_harness.mojom.h" | 12 #include "sky/services/testing/test_harness.mojom.h" |
12 | 13 |
13 namespace sky { | 14 namespace sky { |
14 namespace tester { | 15 namespace tester { |
15 class TestRunner; | 16 class TestRunner; |
16 | 17 |
17 class TestHarnessImpl : public mojo::InterfaceImpl<TestHarness> { | 18 class TestHarnessImpl : public TestHarness { |
18 public: | 19 public: |
19 explicit TestHarnessImpl(TestRunner*); | 20 TestHarnessImpl(TestRunner* runner, |
| 21 mojo::InterfaceRequest<TestHarness> request); |
20 virtual ~TestHarnessImpl(); | 22 virtual ~TestHarnessImpl(); |
21 | 23 |
22 private: | 24 private: |
23 // TestHarness implementation. | 25 // TestHarness implementation. |
24 void OnTestComplete(const mojo::String& test_result, | 26 void OnTestComplete(const mojo::String& test_result, |
25 const mojo::Array<uint8_t> pixels) override; | 27 const mojo::Array<uint8_t> pixels) override; |
26 void DispatchInputEvent(mojo::EventPtr event) override; | 28 void DispatchInputEvent(mojo::EventPtr event) override; |
27 | 29 |
| 30 mojo::StrongBinding<TestHarness> binding_; |
28 base::WeakPtr<TestRunner> test_runner_; | 31 base::WeakPtr<TestRunner> test_runner_; |
29 | 32 |
30 MOJO_DISALLOW_COPY_AND_ASSIGN(TestHarnessImpl); | 33 MOJO_DISALLOW_COPY_AND_ASSIGN(TestHarnessImpl); |
31 }; | 34 }; |
32 | 35 |
33 typedef mojo::InterfaceFactoryImplWithContext< | |
34 TestHarnessImpl, TestRunner> TestHarnessFactory; | |
35 | |
36 } // namespace tester | 36 } // namespace tester |
37 } // namespace sky | 37 } // namespace sky |
38 | 38 |
39 #endif // SKY_TOOLS_TESTER_TEST_HARNESS_IMPL_H_ | 39 #endif // SKY_TOOLS_TESTER_TEST_HARNESS_IMPL_H_ |
OLD | NEW |