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_