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
3 // found in the LICENSE file.
5 #ifndef CONTENT_SHELL_RENDERER_TEST_RUNNER_TEST_INTERFACES_H_
6 #define CONTENT_SHELL_RENDERER_TEST_RUNNER_TEST_INTERFACES_H_
10 #include "base/basictypes.h"
11 #include "base/memory/scoped_ptr.h"
12 #include "base/memory/weak_ptr.h"
13 #include "content/shell/renderer/test_runner/mock_web_theme_engine.h"
14 #include "third_party/WebKit/public/platform/WebNonCopyable.h"
25 class AccessibilityController
;
27 class GamepadController
;
29 class TextInputController
;
30 class WebTestDelegate
;
31 class WebTestProxyBase
;
33 class TestInterfaces
{
38 void SetWebView(blink::WebView
* web_view
, WebTestProxyBase
* proxy
);
39 void SetDelegate(WebTestDelegate
* delegate
);
40 void BindTo(blink::WebFrame
* frame
);
41 void ResetTestHelperControllers();
43 void SetTestIsRunning(bool running
);
44 void ConfigureForTestWithURL(const blink::WebURL
& test_url
,
45 bool generate_pixels
);
47 void WindowOpened(WebTestProxyBase
* proxy
);
48 void WindowClosed(WebTestProxyBase
* proxy
);
50 AccessibilityController
* GetAccessibilityController();
51 EventSender
* GetEventSender();
52 TestRunner
* GetTestRunner();
53 WebTestDelegate
* GetDelegate();
54 WebTestProxyBase
* GetProxy();
55 const std::vector
<WebTestProxyBase
*>& GetWindowList();
56 blink::WebThemeEngine
* GetThemeEngine();
59 scoped_ptr
<AccessibilityController
> accessibility_controller_
;
60 scoped_ptr
<EventSender
> event_sender_
;
61 base::WeakPtr
<GamepadController
> gamepad_controller_
;
62 scoped_ptr
<TextInputController
> text_input_controller_
;
63 scoped_ptr
<TestRunner
> test_runner_
;
64 WebTestDelegate
* delegate_
;
65 WebTestProxyBase
* proxy_
;
67 std::vector
<WebTestProxyBase
*> window_list_
;
68 scoped_ptr
<MockWebThemeEngine
> theme_engine_
;
70 DISALLOW_COPY_AND_ASSIGN(TestInterfaces
);
73 } // namespace content
75 #endif // CONTENT_SHELL_RENDERER_TEST_RUNNER_TEST_INTERFACES_H_