[Qt] Unreviewed gardening, remove unnecessary expected files.
[WebKit-https.git] / Tools / DumpRenderTree / chromium / TestRunner / TestInterfaces.cpp
1 /*
2  * Copyright (C) 2012 Google Inc. All rights reserved.
3  *
4  * Redistribution and use in source and binary forms, with or without
5  * modification, are permitted provided that the following conditions are
6  * met:
7  *
8  *     * Redistributions of source code must retain the above copyright
9  * notice, this list of conditions and the following disclaimer.
10  *     * Redistributions in binary form must reproduce the above
11  * copyright notice, this list of conditions and the following disclaimer
12  * in the documentation and/or other materials provided with the
13  * distribution.
14  *     * Neither the name of Google Inc. nor the names of its
15  * contributors may be used to endorse or promote products derived from
16  * this software without specific prior written permission.
17  *
18  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
22  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29  */
30
31 #include "config.h"
32 #include "TestInterfaces.h"
33
34 #include "AccessibilityController.h"
35 #include "GamepadController.h"
36 #include "TextInputController.h"
37 #include "platform/WebString.h"
38
39 #include <wtf/OwnPtr.h>
40
41 using WebKit::WebFrame;
42 using WebKit::WebString;
43 using WebKit::WebView;
44
45 class TestInterfaces::Internal {
46 public:
47     Internal();
48     ~Internal();
49
50     void setWebView(WebView*);
51     void setDelegate(TestDelegate*);
52     void bindTo(WebFrame*);
53     void resetAll();
54
55     AccessibilityController* accessibilityController() { return m_accessibilityController.get(); }
56
57 private:
58     OwnPtr<AccessibilityController> m_accessibilityController;
59     OwnPtr<GamepadController> m_gamepadController;
60     OwnPtr<TextInputController> m_textInputController;
61 };
62
63 TestInterfaces::Internal::Internal()
64 {
65     m_accessibilityController = adoptPtr(new AccessibilityController());
66     m_gamepadController = adoptPtr(new GamepadController());
67     m_textInputController = adoptPtr(new TextInputController());
68 }
69
70 TestInterfaces::Internal::~Internal()
71 {
72     m_accessibilityController->setWebView(0);
73     // m_gamepadController doesn't depend on WebView.
74     m_textInputController->setWebView(0);
75
76     // m_accessibilityController doesn't depend on TestDelegate.
77     m_gamepadController->setDelegate(0);
78     // m_textInputController doesn't depend on TestDelegate.
79 }
80
81 void TestInterfaces::Internal::setWebView(WebView* webView)
82 {
83     m_accessibilityController->setWebView(webView);
84     // m_gamepadController doesn't depend on WebView.
85     m_textInputController->setWebView(webView);
86 }
87
88 void TestInterfaces::Internal::setDelegate(TestDelegate* delegate)
89 {
90     // m_accessibilityController doesn't depend on TestDelegate.
91     m_gamepadController->setDelegate(delegate);
92     // m_textInputController doesn't depend on TestDelegate.
93 }
94
95 void TestInterfaces::Internal::bindTo(WebFrame* frame)
96 {
97     m_accessibilityController->bindToJavascript(frame, WebString::fromUTF8("accessibilityController"));
98     m_gamepadController->bindToJavascript(frame, WebString::fromUTF8("gamepadController"));
99     m_textInputController->bindToJavascript(frame, WebString::fromUTF8("textInputController"));
100 }
101
102 void TestInterfaces::Internal::resetAll()
103 {
104     m_accessibilityController->reset();
105     m_gamepadController->reset();
106     // m_textInputController doesn't have any state to reset.
107 }
108
109 TestInterfaces::TestInterfaces()
110     : m_internal(new TestInterfaces::Internal())
111 {
112 }
113
114 TestInterfaces::~TestInterfaces()
115 {
116     delete m_internal;
117 }
118
119 void TestInterfaces::setWebView(WebView* webView)
120 {
121     m_internal->setWebView(webView);
122 }
123
124 void TestInterfaces::setDelegate(TestDelegate* delegate)
125 {
126     m_internal->setDelegate(delegate);
127 }
128
129 void TestInterfaces::bindTo(WebFrame* frame)
130 {
131     m_internal->bindTo(frame);
132 }
133
134 void TestInterfaces::resetAll()
135 {
136     m_internal->resetAll();
137 }
138
139 AccessibilityController* TestInterfaces::accessibilityController()
140 {
141     return m_internal->accessibilityController();
142 }