| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "content/shell/renderer/test_runner/TestInterfaces.h" | 5 #include "content/shell/renderer/test_runner/TestInterfaces.h" |
| 6 | 6 |
| 7 #include <string> | 7 #include <string> |
| 8 | 8 |
| 9 #include "base/logging.h" | 9 #include "base/logging.h" |
| 10 #include "base/command_line.h" | 10 #include "base/command_line.h" |
| 11 #include "base/strings/stringprintf.h" | 11 #include "base/strings/stringprintf.h" |
| 12 #include "content/shell/common/shell_switches.h" | 12 #include "content/shell/common/shell_switches.h" |
| 13 #include "content/shell/renderer/test_runner/accessibility_controller.h" | 13 #include "content/shell/renderer/test_runner/accessibility_controller.h" |
| 14 #include "content/shell/renderer/test_runner/event_sender.h" | 14 #include "content/shell/renderer/test_runner/event_sender.h" |
| 15 #include "content/shell/renderer/test_runner/gamepad_controller.h" | 15 #include "content/shell/renderer/test_runner/gamepad_controller.h" |
| 16 #include "content/shell/renderer/test_runner/text_input_controller.h" | 16 #include "content/shell/renderer/test_runner/text_input_controller.h" |
| 17 #include "content/shell/renderer/test_runner/test_runner.h" | 17 #include "content/shell/renderer/test_runner/test_runner.h" |
| 18 #include "content/shell/renderer/test_runner/web_test_proxy.h" | 18 #include "content/shell/renderer/test_runner/web_test_proxy.h" |
| 19 #include "third_party/WebKit/public/platform/WebString.h" | 19 #include "third_party/WebKit/public/platform/WebString.h" |
| 20 #include "third_party/WebKit/public/platform/WebURL.h" | 20 #include "third_party/WebKit/public/platform/WebURL.h" |
| 21 #include "third_party/WebKit/public/web/WebCache.h" | 21 #include "third_party/WebKit/public/web/WebCache.h" |
| 22 #include "third_party/WebKit/public/web/WebKit.h" | 22 #include "third_party/WebKit/public/web/WebKit.h" |
| 23 #include "third_party/WebKit/public/web/WebRuntimeFeatures.h" | 23 #include "third_party/WebKit/public/web/WebRuntimeFeatures.h" |
| 24 #include "third_party/WebKit/public/web/WebView.h" | 24 #include "third_party/WebKit/public/web/WebView.h" |
| 25 | 25 |
| 26 using namespace blink; | 26 using namespace blink; |
| 27 using namespace std; | |
| 28 | 27 |
| 29 namespace content { | 28 namespace content { |
| 30 | 29 |
| 31 TestInterfaces::TestInterfaces() | 30 TestInterfaces::TestInterfaces() |
| 32 : m_accessibilityController(new AccessibilityController()) | 31 : m_accessibilityController(new AccessibilityController()) |
| 33 , m_eventSender(new EventSender(this)) | 32 , m_eventSender(new EventSender(this)) |
| 34 , m_gamepadController(new GamepadController()) | 33 , m_gamepadController(new GamepadController()) |
| 35 , m_textInputController(new TextInputController()) | 34 , m_textInputController(new TextInputController()) |
| 36 , m_testRunner(new TestRunner(this)) | 35 , m_testRunner(new TestRunner(this)) |
| 37 , m_delegate(0) | 36 , m_delegate(0) |
| (...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 105 m_testRunner->Reset(); | 104 m_testRunner->Reset(); |
| 106 } | 105 } |
| 107 | 106 |
| 108 void TestInterfaces::setTestIsRunning(bool running) | 107 void TestInterfaces::setTestIsRunning(bool running) |
| 109 { | 108 { |
| 110 m_testRunner->SetTestIsRunning(running); | 109 m_testRunner->SetTestIsRunning(running); |
| 111 } | 110 } |
| 112 | 111 |
| 113 void TestInterfaces::configureForTestWithURL(const WebURL& testURL, bool generat
ePixels) | 112 void TestInterfaces::configureForTestWithURL(const WebURL& testURL, bool generat
ePixels) |
| 114 { | 113 { |
| 115 string spec = GURL(testURL).spec(); | 114 std::string spec = GURL(testURL).spec(); |
| 116 m_testRunner->setShouldGeneratePixelResults(generatePixels); | 115 m_testRunner->setShouldGeneratePixelResults(generatePixels); |
| 117 if (spec.find("loading/") != string::npos) | 116 if (spec.find("loading/") != std::string::npos) |
| 118 m_testRunner->setShouldDumpFrameLoadCallbacks(true); | 117 m_testRunner->setShouldDumpFrameLoadCallbacks(true); |
| 119 if (spec.find("/dumpAsText/") != string::npos) { | 118 if (spec.find("/dumpAsText/") != std::string::npos) { |
| 120 m_testRunner->setShouldDumpAsText(true); | 119 m_testRunner->setShouldDumpAsText(true); |
| 121 m_testRunner->setShouldGeneratePixelResults(false); | 120 m_testRunner->setShouldGeneratePixelResults(false); |
| 122 } | 121 } |
| 123 if (spec.find("/inspector/") != string::npos | 122 if (spec.find("/inspector/") != std::string::npos |
| 124 || spec.find("/inspector-enabled/") != string::npos) | 123 || spec.find("/inspector-enabled/") != std::string::npos) |
| 125 m_testRunner->clearDevToolsLocalStorage(); | 124 m_testRunner->clearDevToolsLocalStorage(); |
| 126 if (spec.find("/inspector/") != string::npos) { | 125 if (spec.find("/inspector/") != std::string::npos) { |
| 127 // Subfolder name determines default panel to open. | 126 // Subfolder name determines default panel to open. |
| 128 string settings = ""; | 127 std::string settings = ""; |
| 129 string test_path = spec.substr(spec.find("/inspector/") + 11); | 128 std::string test_path = spec.substr(spec.find("/inspector/") + 11); |
| 130 size_t slash_index = test_path.find("/"); | 129 size_t slash_index = test_path.find("/"); |
| 131 if (slash_index != string::npos) { | 130 if (slash_index != std::string::npos) { |
| 132 settings = base::StringPrintf( | 131 settings = base::StringPrintf( |
| 133 "{\"lastActivePanel\":\"\\\"%s\\\"\"}", | 132 "{\"lastActivePanel\":\"\\\"%s\\\"\"}", |
| 134 test_path.substr(0, slash_index).c_str()); | 133 test_path.substr(0, slash_index).c_str()); |
| 135 } | 134 } |
| 136 m_testRunner->showDevTools(settings, string()); | 135 m_testRunner->showDevTools(settings, std::string()); |
| 137 } | 136 } |
| 138 if (spec.find("/viewsource/") != string::npos) { | 137 if (spec.find("/viewsource/") != std::string::npos) { |
| 139 m_testRunner->setShouldEnableViewSource(true); | 138 m_testRunner->setShouldEnableViewSource(true); |
| 140 m_testRunner->setShouldGeneratePixelResults(false); | 139 m_testRunner->setShouldGeneratePixelResults(false); |
| 141 m_testRunner->setShouldDumpAsMarkup(true); | 140 m_testRunner->setShouldDumpAsMarkup(true); |
| 142 } | 141 } |
| 143 } | 142 } |
| 144 | 143 |
| 145 void TestInterfaces::windowOpened(WebTestProxyBase* proxy) | 144 void TestInterfaces::windowOpened(WebTestProxyBase* proxy) |
| 146 { | 145 { |
| 147 m_windowList.push_back(proxy); | 146 m_windowList.push_back(proxy); |
| 148 } | 147 } |
| 149 | 148 |
| 150 void TestInterfaces::windowClosed(WebTestProxyBase* proxy) | 149 void TestInterfaces::windowClosed(WebTestProxyBase* proxy) |
| 151 { | 150 { |
| 152 vector<WebTestProxyBase*>::iterator pos = find(m_windowList.begin(), m_windo
wList.end(), proxy); | 151 std::vector<WebTestProxyBase*>::iterator pos = std::find(m_windowList.begin(
), m_windowList.end(), proxy); |
| 153 if (pos == m_windowList.end()) { | 152 if (pos == m_windowList.end()) { |
| 154 NOTREACHED(); | 153 NOTREACHED(); |
| 155 return; | 154 return; |
| 156 } | 155 } |
| 157 m_windowList.erase(pos); | 156 m_windowList.erase(pos); |
| 158 } | 157 } |
| 159 | 158 |
| 160 AccessibilityController* TestInterfaces::accessibilityController() | 159 AccessibilityController* TestInterfaces::accessibilityController() |
| 161 { | 160 { |
| 162 return m_accessibilityController.get(); | 161 return m_accessibilityController.get(); |
| (...skipping 12 matching lines...) Expand all Loading... |
| 175 WebTestDelegate* TestInterfaces::delegate() | 174 WebTestDelegate* TestInterfaces::delegate() |
| 176 { | 175 { |
| 177 return m_delegate; | 176 return m_delegate; |
| 178 } | 177 } |
| 179 | 178 |
| 180 WebTestProxyBase* TestInterfaces::proxy() | 179 WebTestProxyBase* TestInterfaces::proxy() |
| 181 { | 180 { |
| 182 return m_proxy; | 181 return m_proxy; |
| 183 } | 182 } |
| 184 | 183 |
| 185 const vector<WebTestProxyBase*>& TestInterfaces::windowList() | 184 const std::vector<WebTestProxyBase*>& TestInterfaces::windowList() |
| 186 { | 185 { |
| 187 return m_windowList; | 186 return m_windowList; |
| 188 } | 187 } |
| 189 | 188 |
| 190 WebThemeEngine* TestInterfaces::themeEngine() | 189 WebThemeEngine* TestInterfaces::themeEngine() |
| 191 { | 190 { |
| 192 if (!m_testRunner->UseMockTheme()) | 191 if (!m_testRunner->UseMockTheme()) |
| 193 return 0; | 192 return 0; |
| 194 #if defined(__APPLE__) | 193 #if defined(__APPLE__) |
| 195 if (!m_themeEngine.get()) | 194 if (!m_themeEngine.get()) |
| 196 m_themeEngine.reset(new WebTestThemeEngineMac()); | 195 m_themeEngine.reset(new WebTestThemeEngineMac()); |
| 197 #else | 196 #else |
| 198 if (!m_themeEngine.get()) | 197 if (!m_themeEngine.get()) |
| 199 m_themeEngine.reset(new WebTestThemeEngineMock()); | 198 m_themeEngine.reset(new WebTestThemeEngineMock()); |
| 200 #endif | 199 #endif |
| 201 return m_themeEngine.get(); | 200 return m_themeEngine.get(); |
| 202 } | 201 } |
| 203 | 202 |
| 204 } // namespace content | 203 } // namespace content |
| OLD | NEW |