#include <string>
+#include "base/strings/stringprintf.h"
#include "content/shell/renderer/test_runner/AccessibilityController.h"
#include "content/shell/renderer/test_runner/EventSender.h"
-#include "content/shell/renderer/test_runner/GamepadController.h"
#include "content/shell/renderer/test_runner/TestRunner.h"
-#include "content/shell/renderer/test_runner/TextInputController.h"
#include "content/shell/renderer/test_runner/WebTestProxy.h"
+#include "content/shell/renderer/test_runner/gamepad_controller.h"
+#include "content/shell/renderer/test_runner/text_input_controller.h"
#include "third_party/WebKit/public/platform/WebString.h"
#include "third_party/WebKit/public/platform/WebURL.h"
#include "third_party/WebKit/public/web/WebCache.h"
TestInterfaces::TestInterfaces()
: m_accessibilityController(new AccessibilityController())
, m_eventSender(new EventSender(this))
- , m_gamepadController(new GamepadController())
- , m_textInputController(new TextInputController())
+ , m_gamepadController(new content::GamepadController())
+ , m_textInputController(new content::TextInputController())
, m_testRunner(new TestRunner(this))
, m_delegate(0)
{
m_accessibilityController->setWebView(0);
m_eventSender->setWebView(0);
// m_gamepadController doesn't depend on WebView.
- m_textInputController->setWebView(0);
+ m_textInputController->SetWebView(NULL);
m_testRunner->setWebView(0, 0);
m_accessibilityController->setDelegate(0);
m_eventSender->setDelegate(0);
- m_gamepadController->setDelegate(0);
+ m_gamepadController->SetDelegate(0);
// m_textInputController doesn't depend on WebTestDelegate.
m_testRunner->setDelegate(0);
}
m_accessibilityController->setWebView(webView);
m_eventSender->setWebView(webView);
// m_gamepadController doesn't depend on WebView.
- m_textInputController->setWebView(webView);
+ m_textInputController->SetWebView(webView);
m_testRunner->setWebView(webView, proxy);
}
{
m_accessibilityController->setDelegate(delegate);
m_eventSender->setDelegate(delegate);
- m_gamepadController->setDelegate(delegate);
+ m_gamepadController->SetDelegate(delegate);
// m_textInputController doesn't depend on WebTestDelegate.
m_testRunner->setDelegate(delegate);
m_delegate = delegate;
{
m_accessibilityController->bindToJavascript(frame, WebString::fromUTF8("accessibilityController"));
m_eventSender->bindToJavascript(frame, WebString::fromUTF8("eventSender"));
- m_gamepadController->bindToJavascript(frame, WebString::fromUTF8("gamepadController"));
- m_textInputController->bindToJavascript(frame, WebString::fromUTF8("textInputController"));
+ m_gamepadController->Install(frame);
+ m_textInputController->Install(frame);
m_testRunner->bindToJavascript(frame, WebString::fromUTF8("testRunner"));
m_testRunner->bindToJavascript(frame, WebString::fromUTF8("layoutTestController"));
}
{
m_accessibilityController->reset();
m_eventSender->reset();
- m_gamepadController->reset();
+ m_gamepadController->Reset();
// m_textInputController doesn't have any state to reset.
WebCache::clear();
}
if (spec.find("/inspector/") != string::npos
|| spec.find("/inspector-enabled/") != string::npos)
m_testRunner->clearDevToolsLocalStorage();
- if (spec.find("/inspector/") != string::npos)
- m_testRunner->showDevTools();
+ if (spec.find("/inspector/") != string::npos) {
+ // Subfolder name determines default panel to open.
+ string settings = "";
+ string test_path = spec.substr(spec.find("/inspector/") + 11);
+ size_t slash_index = test_path.find("/");
+ if (slash_index != string::npos) {
+ settings = base::StringPrintf(
+ "{\"lastActivePanel\":\"\\\"%s\\\"\"}",
+ test_path.substr(0, slash_index).c_str());
+ }
+ m_testRunner->showDevTools(settings);
+ }
if (spec.find("/viewsource/") != string::npos) {
m_testRunner->setShouldEnableViewSource(true);
m_testRunner->setShouldGeneratePixelResults(false);
WebThemeEngine* TestInterfaces::themeEngine()
{
-#if defined(USE_DEFAULT_RENDER_THEME) || !(defined(WIN32) || defined(__APPLE__) || defined(ANDROID))
- if (!m_themeEngine.get())
- m_themeEngine.reset(new WebTestThemeEngineMock());
- return m_themeEngine.get();
-#elif defined(WIN32)
- if (!m_themeEngine.get())
- m_themeEngine.reset(new WebTestThemeEngineWin());
- return m_themeEngine.get();
-#elif defined(__APPLE__)
+ if (!m_testRunner->useMockTheme())
+ return 0;
+#if defined(__APPLE__)
if (!m_themeEngine.get())
m_themeEngine.reset(new WebTestThemeEngineMac());
- return m_themeEngine.get();
#else
- return 0;
+ if (!m_themeEngine.get())
+ m_themeEngine.reset(new WebTestThemeEngineMock());
#endif
+ return m_themeEngine.get();
}
}