summaryrefslogtreecommitdiff
path: root/Tools/DumpRenderTree
diff options
context:
space:
mode:
authorSimon Hausmann <simon.hausmann@nokia.com>2012-07-24 17:03:20 +0200
committerSimon Hausmann <simon.hausmann@nokia.com>2012-07-24 17:03:20 +0200
commit08d4a74d56ca431877819fc4566e27eafe150342 (patch)
treeebd8530838ab390c015c6b7e659a22852c1663ae /Tools/DumpRenderTree
parent1de6cd4794bbd5a52189384189a2b8df1848b39b (diff)
downloadqtwebkit-08d4a74d56ca431877819fc4566e27eafe150342.tar.gz
Imported WebKit commit 0fbd41c4e13f5a190faf160bf993eee614e6e18e (http://svn.webkit.org/repository/webkit/trunk@123477)
New snapshot that adapts to latest Qt API changes
Diffstat (limited to 'Tools/DumpRenderTree')
-rw-r--r--Tools/DumpRenderTree/chromium/DumpRenderTree.cpp6
-rw-r--r--Tools/DumpRenderTree/chromium/EventSender.cpp32
-rw-r--r--Tools/DumpRenderTree/chromium/EventSender.h18
-rw-r--r--Tools/DumpRenderTree/chromium/MockWebKitPlatformSupport.cpp8
-rw-r--r--Tools/DumpRenderTree/chromium/MockWebKitPlatformSupport.h4
-rw-r--r--Tools/DumpRenderTree/chromium/TestRunner/TestDelegate.h50
-rw-r--r--Tools/DumpRenderTree/chromium/TestRunner/TestInterfaces.cpp34
-rw-r--r--Tools/DumpRenderTree/chromium/TestRunner/TestInterfaces.h6
-rw-r--r--Tools/DumpRenderTree/chromium/TestShell.cpp17
-rw-r--r--Tools/DumpRenderTree/chromium/TestShell.h5
-rw-r--r--Tools/DumpRenderTree/chromium/WebViewHost.cpp5
-rw-r--r--Tools/DumpRenderTree/chromium/WebViewHost.h13
12 files changed, 147 insertions, 51 deletions
diff --git a/Tools/DumpRenderTree/chromium/DumpRenderTree.cpp b/Tools/DumpRenderTree/chromium/DumpRenderTree.cpp
index e589df2bf..6155f441f 100644
--- a/Tools/DumpRenderTree/chromium/DumpRenderTree.cpp
+++ b/Tools/DumpRenderTree/chromium/DumpRenderTree.cpp
@@ -36,6 +36,7 @@
#include "webkit/support/webkit_support.h"
#include <v8/include/v8-testing.h>
#include <v8/include/v8.h>
+#include <wtf/OwnPtr.h>
#include <wtf/Vector.h>
using namespace std;
@@ -73,12 +74,15 @@ class WebKitSupportTestEnvironment {
public:
WebKitSupportTestEnvironment()
{
- webkit_support::SetUpTestEnvironment(MockWebKitPlatformSupport::create());
+ m_mockPlatform = MockWebKitPlatformSupport::create();
+ webkit_support::SetUpTestEnvironment(m_mockPlatform.get());
}
~WebKitSupportTestEnvironment()
{
webkit_support::TearDownTestEnvironment();
}
+private:
+ OwnPtr<MockWebKitPlatformSupport> m_mockPlatform;
};
static void runTest(TestShell& shell, TestParams& params, const string& testName)
diff --git a/Tools/DumpRenderTree/chromium/EventSender.cpp b/Tools/DumpRenderTree/chromium/EventSender.cpp
index 7e81f3b54..5f49b8fdf 100644
--- a/Tools/DumpRenderTree/chromium/EventSender.cpp
+++ b/Tools/DumpRenderTree/chromium/EventSender.cpp
@@ -43,14 +43,14 @@
#include "config.h"
#include "EventSender.h"
-#include "TestShell.h"
+#include "TestDelegate.h"
#include "WebContextMenuData.h"
-#include "platform/WebDragData.h"
#include "WebDragOperation.h"
-#include "platform/WebPoint.h"
-#include "platform/WebString.h"
#include "WebTouchPoint.h"
#include "WebView.h"
+#include "platform/WebDragData.h"
+#include "platform/WebPoint.h"
+#include "platform/WebString.h"
#include "webkit/support/webkit_support.h"
#include <wtf/Deque.h>
#include <wtf/StringExtras.h>
@@ -244,8 +244,8 @@ enum KeyLocationCode {
DOMKeyLocationNumpad = 0x03
};
-EventSender::EventSender(TestShell* shell)
- : m_shell(shell)
+EventSender::EventSender()
+ : m_delegate(0)
{
// Initialize the map that associates methods of this class with the names
// they will use when called by JavaScript. The actual binding of those
@@ -338,11 +338,6 @@ void EventSender::reset()
m_currentGestureLocation = WebPoint(0, 0);
}
-WebView* EventSender::webview()
-{
- return m_shell->webView();
-}
-
void EventSender::doDragDrop(const WebDragData& dragData, WebDragOperationsMask mask)
{
WebMouseEvent event;
@@ -646,11 +641,11 @@ void EventSender::keyDown(const CppArgumentList& arguments, CppVariant* result)
// We just simulate the same behavior here.
string editCommand;
if (getEditCommand(eventDown, &editCommand))
- m_shell->webViewHost()->setEditCommand(editCommand, "");
+ m_delegate->setEditCommand(editCommand, "");
webview()->handleInputEvent(eventDown);
- m_shell->webViewHost()->clearEditCommand();
+ m_delegate->clearEditCommand();
if (generateChar) {
eventChar.type = WebInputEvent::Char;
@@ -800,7 +795,7 @@ void EventSender::replaySavedEvents()
// also makes sense. This function is doing such for some flags.
// - Some test even checks actual string content. So providing it would be also helpful.
//
-static Vector<WebString> makeMenuItemStringsFor(WebContextMenuData* contextMenu, MockSpellCheck* spellcheck)
+static Vector<WebString> makeMenuItemStringsFor(WebContextMenuData* contextMenu, TestDelegate* delegate)
{
// These constants are based on Safari's context menu because tests are made for it.
static const char* nonEditableMenuStrings[] = { "Back", "Reload Page", "Open in Dashbaord", "<separator>", "View Source", "Save Page As", "Print Page", "Inspect Element", 0 };
@@ -816,7 +811,7 @@ static Vector<WebString> makeMenuItemStringsFor(WebContextMenuData* contextMenu,
for (const char** item = editableMenuStrings; *item; ++item)
strings.append(WebString::fromUTF8(*item));
Vector<WebString> suggestions;
- spellcheck->fillSuggestionList(contextMenu->misspelledWord, &suggestions);
+ delegate->fillSpellingSuggestionList(contextMenu->misspelledWord, &suggestions);
for (size_t i = 0; i < suggestions.size(); ++i)
strings.append(suggestions[i]);
} else {
@@ -827,7 +822,6 @@ static Vector<WebString> makeMenuItemStringsFor(WebContextMenuData* contextMenu,
return strings;
}
-
void EventSender::contextClick(const CppArgumentList& arguments, CppVariant* result)
{
webview()->layout();
@@ -836,7 +830,7 @@ void EventSender::contextClick(const CppArgumentList& arguments, CppVariant* res
// Clears last context menu data because we need to know if the context menu be requested
// after following mouse events.
- m_shell->webViewHost()->clearContextMenuData();
+ m_delegate->clearContextMenuData();
// Generate right mouse down and up.
WebMouseEvent event;
@@ -849,8 +843,8 @@ void EventSender::contextClick(const CppArgumentList& arguments, CppVariant* res
pressedButton = WebMouseEvent::ButtonNone;
- WebContextMenuData* lastContextMenu = m_shell->webViewHost()->lastContextMenuData();
- result->set(WebBindings::makeStringArray(makeMenuItemStringsFor(lastContextMenu, m_shell->webViewHost()->mockSpellCheck())));
+ WebContextMenuData* lastContextMenu = m_delegate->lastContextMenuData();
+ result->set(WebBindings::makeStringArray(makeMenuItemStringsFor(lastContextMenu, m_delegate)));
}
class MouseDownTask: public MethodTask<EventSender> {
diff --git a/Tools/DumpRenderTree/chromium/EventSender.h b/Tools/DumpRenderTree/chromium/EventSender.h
index 9de2f760b..c187f0e47 100644
--- a/Tools/DumpRenderTree/chromium/EventSender.h
+++ b/Tools/DumpRenderTree/chromium/EventSender.h
@@ -43,18 +43,19 @@
#include "WebInputEvent.h"
#include "platform/WebPoint.h"
-class TestShell;
-
namespace WebKit {
class WebDragData;
class WebView;
}
+class TestDelegate;
+
class EventSender : public CppBoundClass {
public:
- // Builds the property and method lists needed to bind this class to a JS
- // object.
- EventSender(TestShell*);
+ EventSender();
+
+ void setDelegate(TestDelegate* delegate) { m_delegate = delegate; }
+ void setWebView(WebKit::WebView* webView) { m_webView = webView; }
// Resets some static variable state.
void reset();
@@ -129,8 +130,7 @@ public:
TaskList* taskList() { return &m_taskList; }
private:
- // Returns the test shell's webview.
- WebKit::WebView* webview();
+ WebKit::WebView* webview() { return m_webView; }
// Returns true if dragMode is true.
bool isDragMode() { return dragMode.isBool() && dragMode.toBoolean(); }
@@ -163,8 +163,8 @@ private:
TaskList m_taskList;
- // Non-owning pointer. The EventSender is owned by the TestShell.
- TestShell* m_shell;
+ TestDelegate* m_delegate;
+ WebKit::WebView* m_webView;
// Location of the touch point that initiated a gesture.
WebKit::WebPoint m_currentGestureLocation;
diff --git a/Tools/DumpRenderTree/chromium/MockWebKitPlatformSupport.cpp b/Tools/DumpRenderTree/chromium/MockWebKitPlatformSupport.cpp
index d487b88aa..23b5aa7db 100644
--- a/Tools/DumpRenderTree/chromium/MockWebKitPlatformSupport.cpp
+++ b/Tools/DumpRenderTree/chromium/MockWebKitPlatformSupport.cpp
@@ -35,15 +35,19 @@
using namespace WebKit;
-Platform* MockWebKitPlatformSupport::create()
+PassOwnPtr<MockWebKitPlatformSupport> MockWebKitPlatformSupport::create()
{
- return new MockWebKitPlatformSupport();
+ return WTF::adoptPtr(new MockWebKitPlatformSupport());
}
MockWebKitPlatformSupport::MockWebKitPlatformSupport()
{
}
+MockWebKitPlatformSupport::~MockWebKitPlatformSupport()
+{
+}
+
void MockWebKitPlatformSupport::cryptographicallyRandomValues(unsigned char*, size_t)
{
CRASH();
diff --git a/Tools/DumpRenderTree/chromium/MockWebKitPlatformSupport.h b/Tools/DumpRenderTree/chromium/MockWebKitPlatformSupport.h
index c5daa6f0f..5e8977d55 100644
--- a/Tools/DumpRenderTree/chromium/MockWebKitPlatformSupport.h
+++ b/Tools/DumpRenderTree/chromium/MockWebKitPlatformSupport.h
@@ -32,10 +32,12 @@
#define MockWebKitPlatformSupport_h
#include <public/Platform.h>
+#include <wtf/PassOwnPtr.h>
class MockWebKitPlatformSupport : public WebKit::Platform {
public:
- static WebKit::Platform* create();
+ static PassOwnPtr<MockWebKitPlatformSupport> create();
+ ~MockWebKitPlatformSupport();
virtual void cryptographicallyRandomValues(unsigned char* buffer, size_t length) OVERRIDE;
diff --git a/Tools/DumpRenderTree/chromium/TestRunner/TestDelegate.h b/Tools/DumpRenderTree/chromium/TestRunner/TestDelegate.h
new file mode 100644
index 000000000..4d1af7a72
--- /dev/null
+++ b/Tools/DumpRenderTree/chromium/TestRunner/TestDelegate.h
@@ -0,0 +1,50 @@
+/*
+ * Copyright (C) 2012 Google Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following disclaimer
+ * in the documentation and/or other materials provided with the
+ * distribution.
+ * * Neither the name of Google Inc. nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef TestDelegate_h
+#define TestDelegate_h
+
+#include "platform/WebString.h"
+#include <wtf/Vector.h>
+
+namespace WebKit {
+struct WebContextMenuData;
+}
+
+class TestDelegate {
+public:
+ virtual void clearContextMenuData() = 0;
+ virtual void clearEditCommand() = 0;
+ virtual void fillSpellingSuggestionList(const WebKit::WebString& word, Vector<WebKit::WebString>* suggestions) = 0;
+ virtual void setEditCommand(const std::string& name, const std::string& value) = 0;
+ virtual WebKit::WebContextMenuData* lastContextMenuData() const = 0;
+};
+
+#endif // TestDelegate_h
diff --git a/Tools/DumpRenderTree/chromium/TestRunner/TestInterfaces.cpp b/Tools/DumpRenderTree/chromium/TestRunner/TestInterfaces.cpp
index c0d532a07..b7c85edfb 100644
--- a/Tools/DumpRenderTree/chromium/TestRunner/TestInterfaces.cpp
+++ b/Tools/DumpRenderTree/chromium/TestRunner/TestInterfaces.cpp
@@ -31,43 +31,67 @@
#include "config.h"
#include "TestInterfaces.h"
+#include "AccessibilityController.h"
#include "GamepadController.h"
+#include "TextInputController.h"
#include "platform/WebString.h"
#include <wtf/OwnPtr.h>
using WebKit::WebFrame;
using WebKit::WebString;
+using WebKit::WebView;
class TestInterfaces::Internal {
public:
Internal();
~Internal();
+ void setWebView(WebView* webView);
void bindTo(WebFrame*);
void resetAll();
+ AccessibilityController* accessibilityController() { return m_accessibilityController.get(); }
+
private:
+ OwnPtr<AccessibilityController> m_accessibilityController;
OwnPtr<GamepadController> m_gamepadController;
+ OwnPtr<TextInputController> m_textInputController;
};
TestInterfaces::Internal::Internal()
{
+ m_accessibilityController = adoptPtr(new AccessibilityController());
m_gamepadController = adoptPtr(new GamepadController());
+ m_textInputController = adoptPtr(new TextInputController());
}
TestInterfaces::Internal::~Internal()
{
+ m_accessibilityController->setWebView(0);
+ // m_gamepadController doesn't depend on WebView.
+ m_textInputController->setWebView(0);
+}
+
+void TestInterfaces::Internal::setWebView(WebView* webView)
+{
+ m_accessibilityController->setWebView(webView);
+ // m_gamepadController doesn't depend on WebView.
+ m_textInputController->setWebView(webView);
}
void TestInterfaces::Internal::bindTo(WebFrame* frame)
{
+ m_accessibilityController->bindToJavascript(frame, WebString::fromUTF8("accessibilityController"));
m_gamepadController->bindToJavascript(frame, WebString::fromUTF8("gamepadController"));
+ m_textInputController->bindToJavascript(frame, WebString::fromUTF8("textInputController"));
}
void TestInterfaces::Internal::resetAll()
{
+ m_accessibilityController->reset();
m_gamepadController->reset();
+ // m_textInputController doesn't have any state to reset.
}
TestInterfaces::TestInterfaces()
@@ -80,6 +104,11 @@ TestInterfaces::~TestInterfaces()
delete m_internal;
}
+void TestInterfaces::setWebView(WebView* webView)
+{
+ m_internal->setWebView(webView);
+}
+
void TestInterfaces::bindTo(WebFrame* frame)
{
m_internal->bindTo(frame);
@@ -89,3 +118,8 @@ void TestInterfaces::resetAll()
{
m_internal->resetAll();
}
+
+AccessibilityController* TestInterfaces::accessibilityController()
+{
+ return m_internal->accessibilityController();
+}
diff --git a/Tools/DumpRenderTree/chromium/TestRunner/TestInterfaces.h b/Tools/DumpRenderTree/chromium/TestRunner/TestInterfaces.h
index 16ed5a69e..304434fb9 100644
--- a/Tools/DumpRenderTree/chromium/TestRunner/TestInterfaces.h
+++ b/Tools/DumpRenderTree/chromium/TestRunner/TestInterfaces.h
@@ -33,16 +33,22 @@
namespace WebKit {
class WebFrame;
+class WebView;
}
+class AccessibilityController;
+
class TestInterfaces {
public:
TestInterfaces();
~TestInterfaces();
+ void setWebView(WebKit::WebView* webView);
void bindTo(WebKit::WebFrame*);
void resetAll();
+ AccessibilityController* accessibilityController();
+
private:
class Internal;
Internal* m_internal;
diff --git a/Tools/DumpRenderTree/chromium/TestShell.cpp b/Tools/DumpRenderTree/chromium/TestShell.cpp
index b4142eacf..0cc942a19 100644
--- a/Tools/DumpRenderTree/chromium/TestShell.cpp
+++ b/Tools/DumpRenderTree/chromium/TestShell.cpp
@@ -145,11 +145,9 @@ TestShell::TestShell()
void TestShell::initialize()
{
m_webPermissions = adoptPtr(new WebPermissions(this));
- m_accessibilityController = adoptPtr(new AccessibilityController());
m_testInterfaces = adoptPtr(new TestInterfaces());
m_layoutTestController = adoptPtr(new LayoutTestController(this));
- m_eventSender = adoptPtr(new EventSender(this));
- m_textInputController = adoptPtr(new TextInputController());
+ m_eventSender = adoptPtr(new EventSender());
#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
m_notificationPresenter = adoptPtr(new NotificationPresenter(this));
#endif
@@ -173,15 +171,17 @@ void TestShell::createMainWindow()
m_drtDevToolsAgent = adoptPtr(new DRTDevToolsAgent);
m_webViewHost = adoptPtr(createNewWindow(WebURL(), m_drtDevToolsAgent.get()));
m_webView = m_webViewHost->webView();
- m_accessibilityController->setWebView(m_webView);
- m_textInputController->setWebView(m_webView);
+ m_testInterfaces->setWebView(m_webView);
+ m_eventSender->setDelegate(m_webViewHost.get());
+ m_eventSender->setWebView(m_webView);
m_drtDevToolsAgent->setWebView(m_webView);
}
TestShell::~TestShell()
{
- m_accessibilityController->setWebView(0);
- m_textInputController->setWebView(0);
+ m_testInterfaces->setWebView(0);
+ m_eventSender->setDelegate(0);
+ m_eventSender->setWebView(0);
m_drtDevToolsAgent->setWebView(0);
}
@@ -292,7 +292,6 @@ void TestShell::resetTestController()
{
resetWebSettings(*webView());
m_webPermissions->reset();
- m_accessibilityController->reset();
m_testInterfaces->resetAll();
m_layoutTestController->reset();
m_eventSender->reset();
@@ -721,12 +720,10 @@ void TestShell::dumpImage(SkCanvas* canvas) const
void TestShell::bindJSObjectsToWindow(WebFrame* frame)
{
WebTestingSupport::injectInternalsObject(frame);
- m_accessibilityController->bindToJavascript(frame, WebString::fromUTF8("accessibilityController"));
m_testInterfaces->bindTo(frame);
m_layoutTestController->bindToJavascript(frame, WebString::fromUTF8("layoutTestController"));
m_layoutTestController->bindToJavascript(frame, WebString::fromUTF8("testRunner"));
m_eventSender->bindToJavascript(frame, WebString::fromUTF8("eventSender"));
- m_textInputController->bindToJavascript(frame, WebString::fromUTF8("textInputController"));
}
WebViewHost* TestShell::createNewWindow(const WebKit::WebURL& url)
diff --git a/Tools/DumpRenderTree/chromium/TestShell.h b/Tools/DumpRenderTree/chromium/TestShell.h
index 7ea579056..07781636b 100644
--- a/Tools/DumpRenderTree/chromium/TestShell.h
+++ b/Tools/DumpRenderTree/chromium/TestShell.h
@@ -38,7 +38,6 @@
#include "NotificationPresenter.h"
#include "TestEventPrinter.h"
#include "TestInterfaces.h"
-#include "TextInputController.h"
#include "WebPreferences.h"
#include "WebViewHost.h"
#include <string>
@@ -93,7 +92,7 @@ public:
WebViewHost* webViewHost() const { return m_webViewHost.get(); }
LayoutTestController* layoutTestController() const { return m_layoutTestController.get(); }
EventSender* eventSender() const { return m_eventSender.get(); }
- AccessibilityController* accessibilityController() const { return m_accessibilityController.get(); }
+ AccessibilityController* accessibilityController() const { return m_testInterfaces->accessibilityController(); }
#if ENABLE(NOTIFICATIONS)
NotificationPresenter* notificationPresenter() const { return m_notificationPresenter.get(); }
#endif
@@ -214,11 +213,9 @@ private:
OwnPtr<WebPermissions> m_webPermissions;
OwnPtr<DRTDevToolsAgent> m_drtDevToolsAgent;
OwnPtr<DRTDevToolsClient> m_drtDevToolsClient;
- OwnPtr<AccessibilityController> m_accessibilityController;
OwnPtr<TestInterfaces> m_testInterfaces;
OwnPtr<EventSender> m_eventSender;
OwnPtr<LayoutTestController> m_layoutTestController;
- OwnPtr<TextInputController> m_textInputController;
#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
OwnPtr<NotificationPresenter> m_notificationPresenter;
#endif
diff --git a/Tools/DumpRenderTree/chromium/WebViewHost.cpp b/Tools/DumpRenderTree/chromium/WebViewHost.cpp
index 88e07378f..1dca46053 100644
--- a/Tools/DumpRenderTree/chromium/WebViewHost.cpp
+++ b/Tools/DumpRenderTree/chromium/WebViewHost.cpp
@@ -763,6 +763,11 @@ MockSpellCheck* WebViewHost::mockSpellCheck()
return &m_spellcheck;
}
+void WebViewHost::fillSpellingSuggestionList(const WebKit::WebString& word, Vector<WebKit::WebString>* suggestions)
+{
+ mockSpellCheck()->fillSuggestionList(word, suggestions);
+}
+
WebDeviceOrientationClient* WebViewHost::deviceOrientationClient()
{
return deviceOrientationClientMock();
diff --git a/Tools/DumpRenderTree/chromium/WebViewHost.h b/Tools/DumpRenderTree/chromium/WebViewHost.h
index ce189d915..4ff4921d1 100644
--- a/Tools/DumpRenderTree/chromium/WebViewHost.h
+++ b/Tools/DumpRenderTree/chromium/WebViewHost.h
@@ -33,6 +33,7 @@
#include "MockSpellCheck.h"
#include "Task.h"
+#include "TestDelegate.h"
#include "TestNavigationController.h"
#include "WebAccessibilityNotification.h"
#include "WebCursorInfo.h"
@@ -77,7 +78,8 @@ class TestMediaStreamClient;
}
class WebViewHost : public WebKit::WebViewClient, public WebKit::WebFrameClient, public NavigationHost,
- public WebKit::WebPrerendererClient, public WebKit::WebSpellCheckClient {
+ public WebKit::WebPrerendererClient, public WebKit::WebSpellCheckClient,
+ public TestDelegate {
public:
WebViewHost(TestShell*);
virtual ~WebViewHost();
@@ -93,8 +95,8 @@ class WebViewHost : public WebKit::WebViewClient, public WebKit::WebFrameClient,
WebKit::WebFrame* topLoadingFrame() { return m_topLoadingFrame; }
void setBlockRedirects(bool block) { m_blocksRedirects = block; }
void setRequestReturnNull(bool returnNull) { m_requestReturnNull = returnNull; }
- void setEditCommand(const std::string& name, const std::string& value);
- void clearEditCommand();
+ virtual void setEditCommand(const std::string& name, const std::string& value) OVERRIDE;
+ virtual void clearEditCommand() OVERRIDE;
void setPendingExtraData(PassOwnPtr<TestShellExtraData>);
void paintRect(const WebKit::WebRect&);
@@ -111,8 +113,8 @@ class WebViewHost : public WebKit::WebViewClient, public WebKit::WebFrameClient,
const HashSet<WTF::String>& clearHeaders() const { return m_clearHeaders; }
void closeWidget();
- WebKit::WebContextMenuData* lastContextMenuData() const;
- void clearContextMenuData();
+ virtual WebKit::WebContextMenuData* lastContextMenuData() const OVERRIDE;
+ virtual void clearContextMenuData() OVERRIDE;
#if ENABLE(INPUT_SPEECH)
MockWebSpeechInputController* speechInputControllerMock() { return m_speechInputControllerMock.get(); }
@@ -271,6 +273,7 @@ class WebViewHost : public WebKit::WebViewClient, public WebKit::WebFrameClient,
// Spellcheck related helper APIs
MockSpellCheck* mockSpellCheck();
void finishLastTextCheck();
+ virtual void fillSpellingSuggestionList(const WebKit::WebString& word, Vector<WebKit::WebString>* suggestions) OVERRIDE;
// Geolocation client mocks for LayoutTestController
WebKit::WebGeolocationClientMock* geolocationClientMock();