Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 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 "chrome/test/chromedriver/server/http_handler.h" | 5 #include "chrome/test/chromedriver/server/http_handler.h" |
| 6 | 6 |
| 7 #include "base/bind.h" | 7 #include "base/bind.h" |
| 8 #include "base/callback.h" | 8 #include "base/callback.h" |
| 9 #include "base/json/json_reader.h" | 9 #include "base/json/json_reader.h" |
| 10 #include "base/json/json_writer.h" | 10 #include "base/json/json_writer.h" |
| 11 #include "base/logging.h" // For CHECK macros. | 11 #include "base/logging.h" // For CHECK macros. |
| 12 #include "base/memory/scoped_ptr.h" | 12 #include "base/memory/scoped_ptr.h" |
| 13 #include "base/message_loop/message_loop.h" | 13 #include "base/message_loop/message_loop.h" |
| 14 #include "base/message_loop/message_loop_proxy.h" | 14 #include "base/message_loop/message_loop_proxy.h" |
| 15 #include "base/strings/string_split.h" | 15 #include "base/strings/string_split.h" |
| 16 #include "base/strings/string_util.h" | 16 #include "base/strings/string_util.h" |
| 17 #include "base/strings/stringprintf.h" | 17 #include "base/strings/stringprintf.h" |
| 18 #include "base/sys_info.h" | 18 #include "base/sys_info.h" |
| 19 #include "base/values.h" | 19 #include "base/values.h" |
| 20 #include "chrome/test/chromedriver/alert_commands.h" | 20 #include "chrome/test/chromedriver/alert_commands.h" |
| 21 #include "chrome/test/chromedriver/chrome/adb_impl.h" | 21 #include "chrome/test/chromedriver/chrome/adb_impl.h" |
| 22 #include "chrome/test/chromedriver/chrome/device_manager.h" | 22 #include "chrome/test/chromedriver/chrome/device_manager.h" |
| 23 #include "chrome/test/chromedriver/chrome/log.h" | |
| 24 #include "chrome/test/chromedriver/chrome/status.h" | 23 #include "chrome/test/chromedriver/chrome/status.h" |
| 25 #include "chrome/test/chromedriver/chrome/version.h" | 24 #include "chrome/test/chromedriver/chrome/version.h" |
| 26 #include "chrome/test/chromedriver/net/url_request_context_getter.h" | 25 #include "chrome/test/chromedriver/net/url_request_context_getter.h" |
| 27 #include "chrome/test/chromedriver/session.h" | 26 #include "chrome/test/chromedriver/session.h" |
| 28 #include "chrome/test/chromedriver/session_thread_map.h" | 27 #include "chrome/test/chromedriver/session_thread_map.h" |
| 29 #include "chrome/test/chromedriver/util.h" | 28 #include "chrome/test/chromedriver/util.h" |
| 30 #include "net/server/http_server_request_info.h" | 29 #include "net/server/http_server_request_info.h" |
| 31 #include "net/server/http_server_response_info.h" | 30 #include "net/server/http_server_response_info.h" |
| 32 | 31 |
| 33 #if defined(OS_MACOSX) | 32 #if defined(OS_MACOSX) |
| (...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 73 weak_ptr_factory_(this) { | 72 weak_ptr_factory_(this) { |
| 74 #if defined(OS_MACOSX) | 73 #if defined(OS_MACOSX) |
| 75 base::mac::ScopedNSAutoreleasePool autorelease_pool; | 74 base::mac::ScopedNSAutoreleasePool autorelease_pool; |
| 76 #endif | 75 #endif |
| 77 context_getter_ = new URLRequestContextGetter(io_task_runner); | 76 context_getter_ = new URLRequestContextGetter(io_task_runner); |
| 78 socket_factory_ = CreateSyncWebSocketFactory(context_getter_.get()); | 77 socket_factory_ = CreateSyncWebSocketFactory(context_getter_.get()); |
| 79 adb_.reset(new AdbImpl(io_task_runner, adb_port)); | 78 adb_.reset(new AdbImpl(io_task_runner, adb_port)); |
| 80 device_manager_.reset(new DeviceManager(adb_.get())); | 79 device_manager_.reset(new DeviceManager(adb_.get())); |
| 81 | 80 |
| 82 CommandMapping commands[] = { | 81 CommandMapping commands[] = { |
| 83 CommandMapping(kPost, | 82 CommandMapping( |
| 84 internal::kNewSessionPathPattern, | 83 kPost, |
| 85 base::Bind(&ExecuteNewSession, | 84 internal::kNewSessionPathPattern, |
| 86 NewSessionParams(&session_thread_map_, | 85 base::Bind(&ExecuteCreateSession, |
| 87 context_getter_, | 86 &session_thread_map_, |
| 88 socket_factory_, | 87 WrapToCommand("InitSession", |
| 89 device_manager_.get()))), | 88 base::Bind(&ExecuteInitSession, |
| 89 InitSessionParams( | |
| 90 context_getter_, | |
| 91 socket_factory_, | |
| 92 device_manager_.get()))))), | |
| 90 CommandMapping(kGet, | 93 CommandMapping(kGet, |
| 91 "session/:sessionId", | 94 "session/:sessionId", |
| 92 WrapToCommand(base::Bind(&ExecuteGetSessionCapabilities))), | 95 WrapToCommand("GetSessionCapabilities", |
| 96 base::Bind(&ExecuteGetSessionCapabilities))), | |
| 93 CommandMapping(kDelete, | 97 CommandMapping(kDelete, |
| 94 "session/:sessionId", | 98 "session/:sessionId", |
| 95 base::Bind(&ExecuteSessionCommand, | 99 base::Bind(&ExecuteSessionCommand, |
| 96 &session_thread_map_, | 100 &session_thread_map_, |
| 101 "Quit", | |
| 97 base::Bind(&ExecuteQuit, false), | 102 base::Bind(&ExecuteQuit, false), |
| 98 true)), | 103 true)), |
| 99 CommandMapping(kGet, | 104 CommandMapping(kGet, |
| 100 "session/:sessionId/window_handle", | 105 "session/:sessionId/window_handle", |
| 101 WrapToCommand(base::Bind(&ExecuteGetCurrentWindowHandle))), | 106 WrapToCommand("GetWindow", |
| 102 CommandMapping(kGet, | 107 base::Bind(&ExecuteGetCurrentWindowHandle))), |
| 103 "session/:sessionId/window_handles", | 108 CommandMapping( |
| 104 WrapToCommand(base::Bind(&ExecuteGetWindowHandles))), | 109 kGet, |
| 110 "session/:sessionId/window_handles", | |
| 111 WrapToCommand("GetWindows", base::Bind(&ExecuteGetWindowHandles))), | |
| 105 CommandMapping(kPost, | 112 CommandMapping(kPost, |
| 106 "session/:sessionId/url", | 113 "session/:sessionId/url", |
| 107 WrapToCommand(base::Bind(&ExecuteGet))), | 114 WrapToCommand("Navigate", base::Bind(&ExecuteGet))), |
| 108 CommandMapping(kGet, | 115 CommandMapping(kGet, |
| 109 "session/:sessionId/alert", | 116 "session/:sessionId/alert", |
| 110 WrapToCommand(base::Bind(&ExecuteAlertCommand, | 117 WrapToCommand("IsAlertOpen", |
| 118 base::Bind(&ExecuteAlertCommand, | |
| 111 base::Bind(&ExecuteGetAlert)))), | 119 base::Bind(&ExecuteGetAlert)))), |
| 112 CommandMapping( | 120 CommandMapping( |
| 113 kPost, | 121 kPost, |
| 114 "session/:sessionId/dismiss_alert", | 122 "session/:sessionId/dismiss_alert", |
| 115 WrapToCommand(base::Bind(&ExecuteAlertCommand, | 123 WrapToCommand("DismissAlert", |
| 124 base::Bind(&ExecuteAlertCommand, | |
| 116 base::Bind(&ExecuteDismissAlert)))), | 125 base::Bind(&ExecuteDismissAlert)))), |
| 117 CommandMapping( | 126 CommandMapping( |
| 118 kPost, | 127 kPost, |
| 119 "session/:sessionId/accept_alert", | 128 "session/:sessionId/accept_alert", |
| 120 WrapToCommand(base::Bind(&ExecuteAlertCommand, | 129 WrapToCommand("AcceptAlert", |
| 130 base::Bind(&ExecuteAlertCommand, | |
| 121 base::Bind(&ExecuteAcceptAlert)))), | 131 base::Bind(&ExecuteAcceptAlert)))), |
| 122 CommandMapping( | 132 CommandMapping( |
| 123 kGet, | 133 kGet, |
| 124 "session/:sessionId/alert_text", | 134 "session/:sessionId/alert_text", |
| 125 WrapToCommand(base::Bind(&ExecuteAlertCommand, | 135 WrapToCommand("GetAlertMessage", |
| 136 base::Bind(&ExecuteAlertCommand, | |
| 126 base::Bind(&ExecuteGetAlertText)))), | 137 base::Bind(&ExecuteGetAlertText)))), |
| 127 CommandMapping( | 138 CommandMapping( |
| 128 kPost, | 139 kPost, |
| 129 "session/:sessionId/alert_text", | 140 "session/:sessionId/alert_text", |
| 130 WrapToCommand(base::Bind(&ExecuteAlertCommand, | 141 WrapToCommand("SetAlertPrompt", |
| 142 base::Bind(&ExecuteAlertCommand, | |
| 131 base::Bind(&ExecuteSetAlertValue)))), | 143 base::Bind(&ExecuteSetAlertValue)))), |
| 132 CommandMapping(kPost, | 144 CommandMapping(kPost, |
| 133 "session/:sessionId/forward", | 145 "session/:sessionId/forward", |
| 134 WrapToCommand(base::Bind(&ExecuteGoForward))), | 146 WrapToCommand("GoForward", base::Bind(&ExecuteGoForward))), |
| 135 CommandMapping(kPost, | 147 CommandMapping(kPost, |
| 136 "session/:sessionId/back", | 148 "session/:sessionId/back", |
| 137 WrapToCommand(base::Bind(&ExecuteGoBack))), | 149 WrapToCommand("GoBack", base::Bind(&ExecuteGoBack))), |
| 138 CommandMapping(kPost, | 150 CommandMapping(kPost, |
| 139 "session/:sessionId/refresh", | 151 "session/:sessionId/refresh", |
| 140 WrapToCommand(base::Bind(&ExecuteRefresh))), | 152 WrapToCommand("Refresh", base::Bind(&ExecuteRefresh))), |
| 141 CommandMapping(kPost, | 153 CommandMapping( |
| 142 "session/:sessionId/execute", | 154 kPost, |
| 143 WrapToCommand(base::Bind(&ExecuteExecuteScript))), | 155 "session/:sessionId/execute", |
| 156 WrapToCommand("ExecuteScript", base::Bind(&ExecuteExecuteScript))), | |
| 144 CommandMapping(kPost, | 157 CommandMapping(kPost, |
| 145 "session/:sessionId/execute_async", | 158 "session/:sessionId/execute_async", |
| 146 WrapToCommand(base::Bind(&ExecuteExecuteAsyncScript))), | 159 WrapToCommand("ExecuteAsyncScript", |
| 147 CommandMapping(kGet, | 160 base::Bind(&ExecuteExecuteAsyncScript))), |
| 148 "session/:sessionId/url", | 161 CommandMapping( |
| 149 WrapToCommand(base::Bind(&ExecuteGetCurrentUrl))), | 162 kGet, |
| 163 "session/:sessionId/url", | |
| 164 WrapToCommand("GetUrl", base::Bind(&ExecuteGetCurrentUrl))), | |
| 150 CommandMapping(kGet, | 165 CommandMapping(kGet, |
| 151 "session/:sessionId/title", | 166 "session/:sessionId/title", |
| 152 WrapToCommand(base::Bind(&ExecuteGetTitle))), | 167 WrapToCommand("GetTitle", base::Bind(&ExecuteGetTitle))), |
| 153 CommandMapping(kGet, | 168 CommandMapping( |
| 154 "session/:sessionId/source", | 169 kGet, |
| 155 WrapToCommand(base::Bind(&ExecuteGetPageSource))), | 170 "session/:sessionId/source", |
| 156 CommandMapping(kGet, | 171 WrapToCommand("GetSource", base::Bind(&ExecuteGetPageSource))), |
| 157 "session/:sessionId/screenshot", | 172 CommandMapping( |
| 158 WrapToCommand(base::Bind(&ExecuteScreenshot))), | 173 kGet, |
| 174 "session/:sessionId/screenshot", | |
| 175 WrapToCommand("Screenshot", base::Bind(&ExecuteScreenshot))), | |
| 159 CommandMapping(kPost, | 176 CommandMapping(kPost, |
| 160 "session/:sessionId/visible", | 177 "session/:sessionId/visible", |
| 161 base::Bind(&UnimplementedCommand)), | 178 base::Bind(&UnimplementedCommand)), |
| 162 CommandMapping(kGet, | 179 CommandMapping(kGet, |
| 163 "session/:sessionId/visible", | 180 "session/:sessionId/visible", |
| 164 base::Bind(&UnimplementedCommand)), | 181 base::Bind(&UnimplementedCommand)), |
| 165 CommandMapping(kPost, | 182 CommandMapping( |
| 166 "session/:sessionId/element", | 183 kPost, |
| 167 WrapToCommand(base::Bind(&ExecuteFindElement, 50))), | 184 "session/:sessionId/element", |
| 168 CommandMapping(kPost, | 185 WrapToCommand("FindElement", base::Bind(&ExecuteFindElement, 50))), |
| 169 "session/:sessionId/elements", | 186 CommandMapping( |
| 170 WrapToCommand(base::Bind(&ExecuteFindElements, 50))), | 187 kPost, |
| 188 "session/:sessionId/elements", | |
| 189 WrapToCommand("FindElements", base::Bind(&ExecuteFindElements, 50))), | |
| 171 CommandMapping(kPost, | 190 CommandMapping(kPost, |
| 172 "session/:sessionId/element/active", | 191 "session/:sessionId/element/active", |
| 173 WrapToCommand(base::Bind(&ExecuteGetActiveElement))), | 192 WrapToCommand("GetActiveElement", |
| 193 base::Bind(&ExecuteGetActiveElement))), | |
| 174 CommandMapping(kPost, | 194 CommandMapping(kPost, |
| 175 "session/:sessionId/element/:id/element", | 195 "session/:sessionId/element/:id/element", |
| 176 WrapToCommand(base::Bind(&ExecuteFindChildElement, 50))), | 196 WrapToCommand("FindChildElement", |
| 197 base::Bind(&ExecuteFindChildElement, 50))), | |
| 177 CommandMapping(kPost, | 198 CommandMapping(kPost, |
| 178 "session/:sessionId/element/:id/elements", | 199 "session/:sessionId/element/:id/elements", |
| 179 WrapToCommand(base::Bind(&ExecuteFindChildElements, 50))), | 200 WrapToCommand("FindChildElements", |
| 180 CommandMapping(kPost, | 201 base::Bind(&ExecuteFindChildElements, 50))), |
| 181 "session/:sessionId/element/:id/click", | 202 CommandMapping( |
| 182 WrapToCommand(base::Bind(&ExecuteClickElement))), | 203 kPost, |
| 183 CommandMapping(kPost, | 204 "session/:sessionId/element/:id/click", |
| 184 "session/:sessionId/element/:id/clear", | 205 WrapToCommand("ClickElement", base::Bind(&ExecuteClickElement))), |
| 185 WrapToCommand(base::Bind(&ExecuteClearElement))), | 206 CommandMapping( |
| 186 CommandMapping(kPost, | 207 kPost, |
| 187 "session/:sessionId/element/:id/submit", | 208 "session/:sessionId/element/:id/clear", |
| 188 WrapToCommand(base::Bind(&ExecuteSubmitElement))), | 209 WrapToCommand("ClearElement", base::Bind(&ExecuteClearElement))), |
| 189 CommandMapping(kGet, | 210 CommandMapping( |
| 190 "session/:sessionId/element/:id/text", | 211 kPost, |
| 191 WrapToCommand(base::Bind(&ExecuteGetElementText))), | 212 "session/:sessionId/element/:id/submit", |
| 192 CommandMapping(kPost, | 213 WrapToCommand("SubmitElement", base::Bind(&ExecuteSubmitElement))), |
| 214 CommandMapping( | |
| 215 kGet, | |
| 216 "session/:sessionId/element/:id/text", | |
| 217 WrapToCommand("GetElementText", base::Bind(&ExecuteGetElementText))), | |
| 218 CommandMapping( | |
| 219 kPost, | |
| 220 "session/:sessionId/element/:id/value", | |
| 221 WrapToCommand("TypeElement", base::Bind(&ExecuteSendKeysToElement))), | |
|
chrisgao (Use stgao instead)
2013/09/06 21:20:13
Should we follow the command names used in the ope
kkania
2013/09/06 23:09:29
The command names and methods vary by client I thi
| |
| 222 CommandMapping( | |
| 223 kPost, | |
| 224 "session/:sessionId/file", | |
| 225 WrapToCommand("UploadFile", base::Bind(&ExecuteUploadFile))), | |
| 226 CommandMapping(kGet, | |
| 193 "session/:sessionId/element/:id/value", | 227 "session/:sessionId/element/:id/value", |
| 194 WrapToCommand(base::Bind(&ExecuteSendKeysToElement))), | 228 WrapToCommand("GetElementValue", |
| 195 CommandMapping(kPost, | 229 base::Bind(&ExecuteGetElementValue))), |
| 196 "session/:sessionId/file", | |
| 197 WrapToCommand(base::Bind(&ExecuteUploadFile))), | |
| 198 CommandMapping(kGet, | |
| 199 "session/:sessionId/element/:id/value", | |
| 200 WrapToCommand(base::Bind(&ExecuteGetElementValue))), | |
| 201 CommandMapping(kGet, | 230 CommandMapping(kGet, |
| 202 "session/:sessionId/element/:id/name", | 231 "session/:sessionId/element/:id/name", |
| 203 WrapToCommand(base::Bind(&ExecuteGetElementTagName))), | 232 WrapToCommand("GetElementTagName", |
| 233 base::Bind(&ExecuteGetElementTagName))), | |
| 204 CommandMapping(kGet, | 234 CommandMapping(kGet, |
| 205 "session/:sessionId/element/:id/selected", | 235 "session/:sessionId/element/:id/selected", |
| 206 WrapToCommand(base::Bind(&ExecuteIsElementSelected))), | 236 WrapToCommand("IsElementSelected", |
| 237 base::Bind(&ExecuteIsElementSelected))), | |
| 207 CommandMapping(kGet, | 238 CommandMapping(kGet, |
| 208 "session/:sessionId/element/:id/enabled", | 239 "session/:sessionId/element/:id/enabled", |
| 209 WrapToCommand(base::Bind(&ExecuteIsElementEnabled))), | 240 WrapToCommand("IsElementEnabled", |
| 241 base::Bind(&ExecuteIsElementEnabled))), | |
| 210 CommandMapping(kGet, | 242 CommandMapping(kGet, |
| 211 "session/:sessionId/element/:id/displayed", | 243 "session/:sessionId/element/:id/displayed", |
| 212 WrapToCommand(base::Bind(&ExecuteIsElementDisplayed))), | 244 WrapToCommand("IsElementDisplayed", |
| 213 CommandMapping(kPost, | 245 base::Bind(&ExecuteIsElementDisplayed))), |
| 214 "session/:sessionId/element/:id/hover", | 246 CommandMapping( |
| 215 WrapToCommand(base::Bind(&ExecuteHoverOverElement))), | 247 kPost, |
| 248 "session/:sessionId/element/:id/hover", | |
| 249 WrapToCommand("HoverElement", base::Bind(&ExecuteHoverOverElement))), | |
| 216 CommandMapping(kGet, | 250 CommandMapping(kGet, |
| 217 "session/:sessionId/element/:id/location", | 251 "session/:sessionId/element/:id/location", |
| 218 WrapToCommand(base::Bind(&ExecuteGetElementLocation))), | 252 WrapToCommand("GetElementLocation", |
| 219 CommandMapping(kGet, | 253 base::Bind(&ExecuteGetElementLocation))), |
| 220 "session/:sessionId/element/:id/location_in_view", | 254 CommandMapping( |
| 221 WrapToCommand(base::Bind( | 255 kGet, |
| 222 &ExecuteGetElementLocationOnceScrolledIntoView))), | 256 "session/:sessionId/element/:id/location_in_view", |
| 223 CommandMapping(kGet, | 257 WrapToCommand( |
| 224 "session/:sessionId/element/:id/size", | 258 "GetElementLocationInView", |
| 225 WrapToCommand(base::Bind(&ExecuteGetElementSize))), | 259 base::Bind(&ExecuteGetElementLocationOnceScrolledIntoView))), |
| 260 CommandMapping( | |
| 261 kGet, | |
| 262 "session/:sessionId/element/:id/size", | |
| 263 WrapToCommand("GetElementSize", base::Bind(&ExecuteGetElementSize))), | |
| 226 CommandMapping(kGet, | 264 CommandMapping(kGet, |
| 227 "session/:sessionId/element/:id/attribute/:name", | 265 "session/:sessionId/element/:id/attribute/:name", |
| 228 WrapToCommand(base::Bind(&ExecuteGetElementAttribute))), | 266 WrapToCommand("GetElementAttribute", |
| 229 CommandMapping(kGet, | 267 base::Bind(&ExecuteGetElementAttribute))), |
| 230 "session/:sessionId/element/:id/equals/:other", | 268 CommandMapping( |
| 231 WrapToCommand(base::Bind(&ExecuteElementEquals))), | 269 kGet, |
| 232 CommandMapping(kGet, | 270 "session/:sessionId/element/:id/equals/:other", |
| 271 WrapToCommand("IsElementEqual", base::Bind(&ExecuteElementEquals))), | |
| 272 CommandMapping( | |
| 273 kGet, | |
| 274 "session/:sessionId/cookie", | |
| 275 WrapToCommand("GetCookies", base::Bind(&ExecuteGetCookies))), | |
| 276 CommandMapping(kPost, | |
| 233 "session/:sessionId/cookie", | 277 "session/:sessionId/cookie", |
| 234 WrapToCommand(base::Bind(&ExecuteGetCookies))), | 278 WrapToCommand("AddCookie", base::Bind(&ExecuteAddCookie))), |
| 235 CommandMapping(kPost, | |
| 236 "session/:sessionId/cookie", | |
| 237 WrapToCommand(base::Bind(&ExecuteAddCookie))), | |
| 238 CommandMapping(kDelete, | 279 CommandMapping(kDelete, |
| 239 "session/:sessionId/cookie", | 280 "session/:sessionId/cookie", |
| 240 WrapToCommand(base::Bind(&ExecuteDeleteAllCookies))), | 281 WrapToCommand("DeleteAllCookies", |
| 241 CommandMapping(kDelete, | 282 base::Bind(&ExecuteDeleteAllCookies))), |
| 242 "session/:sessionId/cookie/:name", | 283 CommandMapping( |
| 243 WrapToCommand(base::Bind(&ExecuteDeleteCookie))), | 284 kDelete, |
| 244 CommandMapping(kPost, | 285 "session/:sessionId/cookie/:name", |
| 245 "session/:sessionId/frame", | 286 WrapToCommand("DeleteCookie", base::Bind(&ExecuteDeleteCookie))), |
| 246 WrapToCommand(base::Bind(&ExecuteSwitchToFrame))), | 287 CommandMapping( |
| 247 CommandMapping(kPost, | 288 kPost, |
| 248 "session/:sessionId/window", | 289 "session/:sessionId/frame", |
| 249 WrapToCommand(base::Bind(&ExecuteSwitchToWindow))), | 290 WrapToCommand("SwitchToFrame", base::Bind(&ExecuteSwitchToFrame))), |
| 250 CommandMapping(kGet, | 291 CommandMapping( |
| 251 "session/:sessionId/window/:windowHandle/size", | 292 kPost, |
| 252 WrapToCommand(base::Bind(&ExecuteGetWindowSize))), | 293 "session/:sessionId/window", |
| 294 WrapToCommand("SwitchToWindow", base::Bind(&ExecuteSwitchToWindow))), | |
| 295 CommandMapping( | |
| 296 kGet, | |
| 297 "session/:sessionId/window/:windowHandle/size", | |
| 298 WrapToCommand("GetWindowSize", base::Bind(&ExecuteGetWindowSize))), | |
| 253 CommandMapping(kGet, | 299 CommandMapping(kGet, |
| 254 "session/:sessionId/window/:windowHandle/position", | 300 "session/:sessionId/window/:windowHandle/position", |
| 255 WrapToCommand(base::Bind(&ExecuteGetWindowPosition))), | 301 WrapToCommand("GetWindowPosition", |
| 256 CommandMapping(kPost, | 302 base::Bind(&ExecuteGetWindowPosition))), |
| 257 "session/:sessionId/window/:windowHandle/size", | 303 CommandMapping( |
| 258 WrapToCommand(base::Bind(&ExecuteSetWindowSize))), | 304 kPost, |
| 305 "session/:sessionId/window/:windowHandle/size", | |
| 306 WrapToCommand("SetWindowSize", base::Bind(&ExecuteSetWindowSize))), | |
| 259 CommandMapping(kPost, | 307 CommandMapping(kPost, |
| 260 "session/:sessionId/window/:windowHandle/position", | 308 "session/:sessionId/window/:windowHandle/position", |
| 261 WrapToCommand(base::Bind(&ExecuteSetWindowPosition))), | 309 WrapToCommand("SetWindowPosition", |
| 262 CommandMapping(kPost, | 310 base::Bind(&ExecuteSetWindowPosition))), |
| 263 "session/:sessionId/window/:windowHandle/maximize", | 311 CommandMapping( |
| 264 WrapToCommand(base::Bind(&ExecuteMaximizeWindow))), | 312 kPost, |
| 313 "session/:sessionId/window/:windowHandle/maximize", | |
| 314 WrapToCommand("MaximizeWindow", base::Bind(&ExecuteMaximizeWindow))), | |
| 265 CommandMapping(kDelete, | 315 CommandMapping(kDelete, |
| 266 "session/:sessionId/window", | 316 "session/:sessionId/window", |
| 267 WrapToCommand(base::Bind(&ExecuteClose))), | 317 WrapToCommand("CloseWindow", base::Bind(&ExecuteClose))), |
| 268 CommandMapping(kPost, | 318 CommandMapping(kPost, |
| 269 "session/:sessionId/element/:id/drag", | 319 "session/:sessionId/element/:id/drag", |
| 270 base::Bind(&UnimplementedCommand)), | 320 base::Bind(&UnimplementedCommand)), |
| 271 CommandMapping( | 321 CommandMapping( |
| 272 kGet, | 322 kGet, |
| 273 "session/:sessionId/element/:id/css/:propertyName", | 323 "session/:sessionId/element/:id/css/:propertyName", |
| 274 WrapToCommand(base::Bind(&ExecuteGetElementValueOfCSSProperty))), | 324 WrapToCommand("GetElementCSSProperty", |
| 275 CommandMapping(kPost, | 325 base::Bind(&ExecuteGetElementValueOfCSSProperty))), |
| 276 "session/:sessionId/timeouts/implicit_wait", | 326 CommandMapping( |
| 277 WrapToCommand(base::Bind(&ExecuteImplicitlyWait))), | 327 kPost, |
| 328 "session/:sessionId/timeouts/implicit_wait", | |
| 329 WrapToCommand("SetImplicitWait", base::Bind(&ExecuteImplicitlyWait))), | |
| 278 CommandMapping(kPost, | 330 CommandMapping(kPost, |
| 279 "session/:sessionId/timeouts/async_script", | 331 "session/:sessionId/timeouts/async_script", |
| 280 WrapToCommand(base::Bind(&ExecuteSetScriptTimeout))), | 332 WrapToCommand("SetScriptTimeout", |
| 281 CommandMapping(kPost, | 333 base::Bind(&ExecuteSetScriptTimeout))), |
| 282 "session/:sessionId/timeouts", | 334 CommandMapping( |
| 283 WrapToCommand(base::Bind(&ExecuteSetTimeout))), | 335 kPost, |
| 336 "session/:sessionId/timeouts", | |
| 337 WrapToCommand("SetTimeout", base::Bind(&ExecuteSetTimeout))), | |
| 284 CommandMapping(kPost, | 338 CommandMapping(kPost, |
| 285 "session/:sessionId/execute_sql", | 339 "session/:sessionId/execute_sql", |
| 286 base::Bind(&UnimplementedCommand)), | 340 base::Bind(&UnimplementedCommand)), |
| 287 CommandMapping(kGet, | 341 CommandMapping( |
| 288 "session/:sessionId/location", | 342 kGet, |
| 289 WrapToCommand(base::Bind(&ExecuteGetLocation))), | 343 "session/:sessionId/location", |
| 290 CommandMapping(kPost, | 344 WrapToCommand("GetGeolocation", base::Bind(&ExecuteGetLocation))), |
| 291 "session/:sessionId/location", | 345 CommandMapping( |
| 292 WrapToCommand(base::Bind(&ExecuteSetLocation))), | 346 kPost, |
| 347 "session/:sessionId/location", | |
| 348 WrapToCommand("SetGeolocation", base::Bind(&ExecuteSetLocation))), | |
| 293 CommandMapping(kGet, | 349 CommandMapping(kGet, |
| 294 "session/:sessionId/application_cache/status", | 350 "session/:sessionId/application_cache/status", |
| 295 base::Bind(&ExecuteGetStatus)), | 351 base::Bind(&ExecuteGetStatus)), |
| 296 CommandMapping(kGet, | 352 CommandMapping(kGet, |
| 297 "session/:sessionId/browser_connection", | 353 "session/:sessionId/browser_connection", |
| 298 base::Bind(&UnimplementedCommand)), | 354 base::Bind(&UnimplementedCommand)), |
| 299 CommandMapping(kPost, | 355 CommandMapping(kPost, |
| 300 "session/:sessionId/browser_connection", | 356 "session/:sessionId/browser_connection", |
| 301 base::Bind(&UnimplementedCommand)), | 357 base::Bind(&UnimplementedCommand)), |
| 302 CommandMapping( | 358 CommandMapping( |
| 303 kGet, | 359 kGet, |
| 304 "session/:sessionId/local_storage/key/:key", | 360 "session/:sessionId/local_storage/key/:key", |
| 305 WrapToCommand(base::Bind(&ExecuteGetStorageItem, kLocalStorage))), | 361 WrapToCommand("GetLocalStorageItem", |
| 362 base::Bind(&ExecuteGetStorageItem, kLocalStorage))), | |
| 306 CommandMapping( | 363 CommandMapping( |
| 307 kDelete, | 364 kDelete, |
| 308 "session/:sessionId/local_storage/key/:key", | 365 "session/:sessionId/local_storage/key/:key", |
| 309 WrapToCommand(base::Bind(&ExecuteRemoveStorageItem, kLocalStorage))), | 366 WrapToCommand("RemoveLocalStorageItem", |
| 367 base::Bind(&ExecuteRemoveStorageItem, kLocalStorage))), | |
| 310 CommandMapping( | 368 CommandMapping( |
| 311 kGet, | 369 kGet, |
| 312 "session/:sessionId/local_storage", | 370 "session/:sessionId/local_storage", |
| 313 WrapToCommand(base::Bind(&ExecuteGetStorageKeys, kLocalStorage))), | 371 WrapToCommand("GetLocalStorageKeys", |
| 372 base::Bind(&ExecuteGetStorageKeys, kLocalStorage))), | |
| 314 CommandMapping( | 373 CommandMapping( |
| 315 kPost, | 374 kPost, |
| 316 "session/:sessionId/local_storage", | 375 "session/:sessionId/local_storage", |
| 317 WrapToCommand(base::Bind(&ExecuteSetStorageItem, kLocalStorage))), | 376 WrapToCommand("SetLocalStorageKeys", |
| 377 base::Bind(&ExecuteSetStorageItem, kLocalStorage))), | |
| 318 CommandMapping( | 378 CommandMapping( |
| 319 kDelete, | 379 kDelete, |
| 320 "session/:sessionId/local_storage", | 380 "session/:sessionId/local_storage", |
| 321 WrapToCommand(base::Bind(&ExecuteClearStorage, kLocalStorage))), | 381 WrapToCommand("ClearLocalStorage", |
| 382 base::Bind(&ExecuteClearStorage, kLocalStorage))), | |
| 322 CommandMapping( | 383 CommandMapping( |
| 323 kGet, | 384 kGet, |
| 324 "session/:sessionId/local_storage/size", | 385 "session/:sessionId/local_storage/size", |
| 325 WrapToCommand(base::Bind(&ExecuteGetStorageSize, kLocalStorage))), | 386 WrapToCommand("GetLocalStorageSize", |
| 387 base::Bind(&ExecuteGetStorageSize, kLocalStorage))), | |
| 326 CommandMapping( | 388 CommandMapping( |
| 327 kGet, | 389 kGet, |
| 328 "session/:sessionId/session_storage/key/:key", | 390 "session/:sessionId/session_storage/key/:key", |
| 329 WrapToCommand(base::Bind(&ExecuteGetStorageItem, kSessionStorage))), | 391 WrapToCommand("GetSessionStorageItem", |
| 392 base::Bind(&ExecuteGetStorageItem, kSessionStorage))), | |
| 330 CommandMapping(kDelete, | 393 CommandMapping(kDelete, |
| 331 "session/:sessionId/session_storage/key/:key", | 394 "session/:sessionId/session_storage/key/:key", |
| 332 WrapToCommand(base::Bind(&ExecuteRemoveStorageItem, | 395 WrapToCommand("RemoveSessionStorageItem", |
| 396 base::Bind(&ExecuteRemoveStorageItem, | |
| 333 kSessionStorage))), | 397 kSessionStorage))), |
| 334 CommandMapping( | 398 CommandMapping( |
| 335 kGet, | 399 kGet, |
| 336 "session/:sessionId/session_storage", | 400 "session/:sessionId/session_storage", |
| 337 WrapToCommand(base::Bind(&ExecuteGetStorageKeys, kSessionStorage))), | 401 WrapToCommand("GetSessionStorageKeys", |
| 402 base::Bind(&ExecuteGetStorageKeys, kSessionStorage))), | |
| 338 CommandMapping( | 403 CommandMapping( |
| 339 kPost, | 404 kPost, |
| 340 "session/:sessionId/session_storage", | 405 "session/:sessionId/session_storage", |
| 341 WrapToCommand(base::Bind(&ExecuteSetStorageItem, kSessionStorage))), | 406 WrapToCommand("SetSessionStorageItem", |
| 407 base::Bind(&ExecuteSetStorageItem, kSessionStorage))), | |
| 342 CommandMapping( | 408 CommandMapping( |
| 343 kDelete, | 409 kDelete, |
| 344 "session/:sessionId/session_storage", | 410 "session/:sessionId/session_storage", |
| 345 WrapToCommand(base::Bind(&ExecuteClearStorage, kSessionStorage))), | 411 WrapToCommand("ClearSessionStorage", |
| 412 base::Bind(&ExecuteClearStorage, kSessionStorage))), | |
| 346 CommandMapping( | 413 CommandMapping( |
| 347 kGet, | 414 kGet, |
| 348 "session/:sessionId/session_storage/size", | 415 "session/:sessionId/session_storage/size", |
| 349 WrapToCommand(base::Bind(&ExecuteGetStorageSize, kSessionStorage))), | 416 WrapToCommand("GetSessionStorageSize", |
| 417 base::Bind(&ExecuteGetStorageSize, kSessionStorage))), | |
| 350 CommandMapping(kGet, | 418 CommandMapping(kGet, |
| 351 "session/:sessionId/orientation", | 419 "session/:sessionId/orientation", |
| 352 base::Bind(&UnimplementedCommand)), | 420 base::Bind(&UnimplementedCommand)), |
| 353 CommandMapping(kPost, | 421 CommandMapping(kPost, |
| 354 "session/:sessionId/orientation", | 422 "session/:sessionId/orientation", |
| 355 base::Bind(&UnimplementedCommand)), | 423 base::Bind(&UnimplementedCommand)), |
| 356 CommandMapping(kPost, | 424 CommandMapping(kPost, |
| 357 "session/:sessionId/click", | 425 "session/:sessionId/click", |
| 358 WrapToCommand(base::Bind(&ExecuteMouseClick))), | 426 WrapToCommand("Click", base::Bind(&ExecuteMouseClick))), |
| 359 CommandMapping(kPost, | 427 CommandMapping( |
| 360 "session/:sessionId/doubleclick", | 428 kPost, |
| 361 WrapToCommand(base::Bind(&ExecuteMouseDoubleClick))), | 429 "session/:sessionId/doubleclick", |
| 362 CommandMapping(kPost, | 430 WrapToCommand("DblClick", base::Bind(&ExecuteMouseDoubleClick))), |
|
chrisgao (Use stgao instead)
2013/09/06 21:20:13
"dbl" is kind of inconsistency here.
kkania
2013/09/06 23:09:29
Done.
| |
| 363 "session/:sessionId/buttondown", | 431 CommandMapping( |
| 364 WrapToCommand(base::Bind(&ExecuteMouseButtonDown))), | 432 kPost, |
| 365 CommandMapping(kPost, | 433 "session/:sessionId/buttondown", |
| 366 "session/:sessionId/buttonup", | 434 WrapToCommand("MouseDown", base::Bind(&ExecuteMouseButtonDown))), |
| 367 WrapToCommand(base::Bind(&ExecuteMouseButtonUp))), | 435 CommandMapping( |
| 368 CommandMapping(kPost, | 436 kPost, |
| 369 "session/:sessionId/moveto", | 437 "session/:sessionId/buttonup", |
| 370 WrapToCommand(base::Bind(&ExecuteMouseMoveTo))), | 438 WrapToCommand("MouseUp", base::Bind(&ExecuteMouseButtonUp))), |
| 439 CommandMapping( | |
| 440 kPost, | |
| 441 "session/:sessionId/moveto", | |
| 442 WrapToCommand("MouseMove", base::Bind(&ExecuteMouseMoveTo))), | |
| 371 CommandMapping( | 443 CommandMapping( |
| 372 kPost, | 444 kPost, |
| 373 "session/:sessionId/keys", | 445 "session/:sessionId/keys", |
| 374 WrapToCommand(base::Bind(&ExecuteSendKeysToActiveElement))), | 446 WrapToCommand("Type", base::Bind(&ExecuteSendKeysToActiveElement))), |
| 375 CommandMapping(kGet, | 447 CommandMapping(kGet, |
| 376 "session/:sessionId/ime/available_engines", | 448 "session/:sessionId/ime/available_engines", |
| 377 base::Bind(&UnimplementedCommand)), | 449 base::Bind(&UnimplementedCommand)), |
| 378 CommandMapping(kGet, | 450 CommandMapping(kGet, |
| 379 "session/:sessionId/ime/active_engine", | 451 "session/:sessionId/ime/active_engine", |
| 380 base::Bind(&UnimplementedCommand)), | 452 base::Bind(&UnimplementedCommand)), |
| 381 CommandMapping(kGet, | 453 CommandMapping(kGet, |
| 382 "session/:sessionId/ime/activated", | 454 "session/:sessionId/ime/activated", |
| 383 base::Bind(&UnimplementedCommand)), | 455 base::Bind(&UnimplementedCommand)), |
| 384 CommandMapping(kPost, | 456 CommandMapping(kPost, |
| 385 "session/:sessionId/ime/deactivate", | 457 "session/:sessionId/ime/deactivate", |
| 386 base::Bind(&UnimplementedCommand)), | 458 base::Bind(&UnimplementedCommand)), |
| 387 CommandMapping(kPost, | 459 CommandMapping(kPost, |
| 388 "session/:sessionId/ime/activate", | 460 "session/:sessionId/ime/activate", |
| 389 base::Bind(&UnimplementedCommand)), | 461 base::Bind(&UnimplementedCommand)), |
| 390 CommandMapping(kPost, | 462 CommandMapping(kPost, |
| 391 "session/:sessionId/touch/click", | 463 "session/:sessionId/touch/click", |
| 392 WrapToCommand(base::Bind(&ExecuteTouchSingleTap))), | 464 WrapToCommand("Tap", base::Bind(&ExecuteTouchSingleTap))), |
| 393 CommandMapping(kPost, | 465 CommandMapping(kPost, |
| 394 "session/:sessionId/touch/down", | 466 "session/:sessionId/touch/down", |
| 395 WrapToCommand(base::Bind(&ExecuteTouchDown))), | 467 WrapToCommand("TouchDown", base::Bind(&ExecuteTouchDown))), |
| 396 CommandMapping(kPost, | 468 CommandMapping(kPost, |
| 397 "session/:sessionId/touch/up", | 469 "session/:sessionId/touch/up", |
| 398 WrapToCommand(base::Bind(&ExecuteTouchUp))), | 470 WrapToCommand("TouchUp", base::Bind(&ExecuteTouchUp))), |
| 399 CommandMapping(kPost, | 471 CommandMapping(kPost, |
| 400 "session/:sessionId/touch/move", | 472 "session/:sessionId/touch/move", |
| 401 WrapToCommand(base::Bind(&ExecuteTouchMove))), | 473 WrapToCommand("TouchMove", base::Bind(&ExecuteTouchMove))), |
| 402 CommandMapping(kPost, | 474 CommandMapping(kPost, |
| 403 "session/:sessionId/touch/scroll", | 475 "session/:sessionId/touch/scroll", |
| 404 base::Bind(&UnimplementedCommand)), | 476 base::Bind(&UnimplementedCommand)), |
| 405 CommandMapping(kPost, | 477 CommandMapping(kPost, |
| 406 "session/:sessionId/touch/doubleclick", | 478 "session/:sessionId/touch/doubleclick", |
| 407 base::Bind(&UnimplementedCommand)), | 479 base::Bind(&UnimplementedCommand)), |
| 408 CommandMapping(kPost, | 480 CommandMapping(kPost, |
| 409 "session/:sessionId/touch/longclick", | 481 "session/:sessionId/touch/longclick", |
| 410 base::Bind(&UnimplementedCommand)), | 482 base::Bind(&UnimplementedCommand)), |
| 411 CommandMapping(kPost, | 483 CommandMapping(kPost, |
| 412 "session/:sessionId/touch/flick", | 484 "session/:sessionId/touch/flick", |
| 413 base::Bind(&UnimplementedCommand)), | 485 base::Bind(&UnimplementedCommand)), |
| 414 CommandMapping(kPost, | 486 CommandMapping(kPost, |
| 415 "session/:sessionId/log", | 487 "session/:sessionId/log", |
| 416 WrapToCommand(base::Bind(&ExecuteGetLog))), | 488 WrapToCommand("GetLog", base::Bind(&ExecuteGetLog))), |
| 417 CommandMapping(kGet, | 489 CommandMapping(kGet, |
| 418 "session/:sessionId/log/types", | 490 "session/:sessionId/log/types", |
| 419 WrapToCommand(base::Bind(&ExecuteGetAvailableLogTypes))), | 491 WrapToCommand("GetLotTypes", |
|
chrisgao (Use stgao instead)
2013/09/06 21:20:13
typo, 'lot' -> 'log'
kkania
2013/09/06 23:09:29
Done.
| |
| 492 base::Bind(&ExecuteGetAvailableLogTypes))), | |
| 420 CommandMapping(kPost, "logs", base::Bind(&UnimplementedCommand)), | 493 CommandMapping(kPost, "logs", base::Bind(&UnimplementedCommand)), |
| 421 CommandMapping(kGet, "status", base::Bind(&ExecuteGetStatus)), | 494 CommandMapping(kGet, "status", base::Bind(&ExecuteGetStatus)), |
| 422 | 495 |
| 423 // Custom Chrome commands: | 496 // Custom Chrome commands: |
| 424 // Allow quit all to be called with GET or POST. | 497 // Allow quit all to be called with GET or POST. |
| 425 CommandMapping(kGet, | 498 CommandMapping( |
| 426 kShutdownPath, | 499 kGet, |
| 427 base::Bind(&ExecuteQuitAll, | 500 kShutdownPath, |
| 428 WrapToCommand(base::Bind(&ExecuteQuit, true)), | 501 base::Bind(&ExecuteQuitAll, |
| 429 &session_thread_map_)), | 502 WrapToCommand("QuitAll", base::Bind(&ExecuteQuit, true)), |
| 430 CommandMapping(kPost, | 503 &session_thread_map_)), |
| 431 kShutdownPath, | 504 CommandMapping( |
| 432 base::Bind(&ExecuteQuitAll, | 505 kPost, |
| 433 WrapToCommand(base::Bind(&ExecuteQuit, true)), | 506 kShutdownPath, |
| 434 &session_thread_map_)), | 507 base::Bind(&ExecuteQuitAll, |
| 508 WrapToCommand("QuitAll", base::Bind(&ExecuteQuit, true)), | |
| 509 &session_thread_map_)), | |
| 435 CommandMapping(kGet, | 510 CommandMapping(kGet, |
| 436 "session/:sessionId/is_loading", | 511 "session/:sessionId/is_loading", |
| 437 WrapToCommand(base::Bind(&ExecuteIsLoading))), }; | 512 WrapToCommand("IsLoading", base::Bind(&ExecuteIsLoading))), |
| 513 }; | |
| 438 command_map_.reset( | 514 command_map_.reset( |
| 439 new CommandMap(commands, commands + arraysize(commands))); | 515 new CommandMap(commands, commands + arraysize(commands))); |
| 440 } | 516 } |
| 441 | 517 |
| 442 HttpHandler::~HttpHandler() {} | 518 HttpHandler::~HttpHandler() {} |
| 443 | 519 |
| 444 void HttpHandler::Handle(const net::HttpServerRequestInfo& request, | 520 void HttpHandler::Handle(const net::HttpServerRequestInfo& request, |
| 445 const HttpResponseSenderFunc& send_response_func) { | 521 const HttpResponseSenderFunc& send_response_func) { |
| 446 CHECK(thread_checker_.CalledOnValidThread()); | 522 CHECK(thread_checker_.CalledOnValidThread()); |
| 447 | 523 |
| (...skipping 11 matching lines...) Expand all Loading... | |
| 459 | 535 |
| 460 path.erase(0, url_base_.length()); | 536 path.erase(0, url_base_.length()); |
| 461 | 537 |
| 462 HandleCommand(request, path, send_response_func); | 538 HandleCommand(request, path, send_response_func); |
| 463 | 539 |
| 464 if (path == kShutdownPath) | 540 if (path == kShutdownPath) |
| 465 received_shutdown_ = true; | 541 received_shutdown_ = true; |
| 466 } | 542 } |
| 467 | 543 |
| 468 Command HttpHandler::WrapToCommand( | 544 Command HttpHandler::WrapToCommand( |
| 545 const char* name, | |
| 469 const SessionCommand& session_command) { | 546 const SessionCommand& session_command) { |
| 470 return base::Bind( | 547 return base::Bind(&ExecuteSessionCommand, |
| 471 &ExecuteSessionCommand, &session_thread_map_, session_command, false); | 548 &session_thread_map_, |
| 549 name, | |
| 550 session_command, | |
| 551 false); | |
| 472 } | 552 } |
| 473 | 553 |
| 474 Command HttpHandler::WrapToCommand( | 554 Command HttpHandler::WrapToCommand( |
| 555 const char* name, | |
| 475 const WindowCommand& window_command) { | 556 const WindowCommand& window_command) { |
| 476 return WrapToCommand( | 557 return WrapToCommand(name, base::Bind(&ExecuteWindowCommand, window_command)); |
| 477 base::Bind(&ExecuteWindowCommand, window_command)); | |
| 478 } | 558 } |
| 479 | 559 |
| 480 Command HttpHandler::WrapToCommand( | 560 Command HttpHandler::WrapToCommand( |
| 561 const char* name, | |
| 481 const ElementCommand& element_command) { | 562 const ElementCommand& element_command) { |
| 482 return WrapToCommand( | 563 return WrapToCommand(name, |
| 483 base::Bind(&ExecuteElementCommand, element_command)); | 564 base::Bind(&ExecuteElementCommand, element_command)); |
| 484 } | 565 } |
| 485 | 566 |
| 486 void HttpHandler::HandleCommand( | 567 void HttpHandler::HandleCommand( |
| 487 const net::HttpServerRequestInfo& request, | 568 const net::HttpServerRequestInfo& request, |
| 488 const std::string& trimmed_path, | 569 const std::string& trimmed_path, |
| 489 const HttpResponseSenderFunc& send_response_func) { | 570 const HttpResponseSenderFunc& send_response_func) { |
| 490 if (IsVLogOn(0)) { | |
| 491 VLOG(0) << "Handling command: " << request.method << " " << trimmed_path | |
| 492 << " " << FormatJsonForDisplay(request.data); | |
| 493 } | |
| 494 | |
| 495 base::DictionaryValue params; | 571 base::DictionaryValue params; |
| 496 std::string session_id; | 572 std::string session_id; |
| 497 CommandMap::const_iterator iter = command_map_->begin(); | 573 CommandMap::const_iterator iter = command_map_->begin(); |
| 498 while (true) { | 574 while (true) { |
| 499 if (iter == command_map_->end()) { | 575 if (iter == command_map_->end()) { |
| 500 scoped_ptr<net::HttpServerResponseInfo> response( | 576 scoped_ptr<net::HttpServerResponseInfo> response( |
| 501 new net::HttpServerResponseInfo(net::HTTP_NOT_FOUND)); | 577 new net::HttpServerResponseInfo(net::HTTP_NOT_FOUND)); |
| 502 response->SetBody("unknown command: " + trimmed_path, "text/plain"); | 578 response->SetBody("unknown command: " + trimmed_path, "text/plain"); |
| 503 send_response_func.Run(response.Pass()); | 579 send_response_func.Run(response.Pass()); |
| 504 return; | 580 return; |
| (...skipping 28 matching lines...) Expand all Loading... | |
| 533 | 609 |
| 534 void HttpHandler::PrepareResponse( | 610 void HttpHandler::PrepareResponse( |
| 535 const std::string& trimmed_path, | 611 const std::string& trimmed_path, |
| 536 const HttpResponseSenderFunc& send_response_func, | 612 const HttpResponseSenderFunc& send_response_func, |
| 537 const Status& status, | 613 const Status& status, |
| 538 scoped_ptr<base::Value> value, | 614 scoped_ptr<base::Value> value, |
| 539 const std::string& session_id) { | 615 const std::string& session_id) { |
| 540 CHECK(thread_checker_.CalledOnValidThread()); | 616 CHECK(thread_checker_.CalledOnValidThread()); |
| 541 scoped_ptr<net::HttpServerResponseInfo> response = | 617 scoped_ptr<net::HttpServerResponseInfo> response = |
| 542 PrepareResponseHelper(trimmed_path, status, value.Pass(), session_id); | 618 PrepareResponseHelper(trimmed_path, status, value.Pass(), session_id); |
| 543 if (IsVLogOn(0)) { | |
| 544 VLOG(0) << "Sending response: " << response->status_code() << " " | |
| 545 << FormatJsonForDisplay(response->body()); | |
| 546 } | |
| 547 send_response_func.Run(response.Pass()); | 619 send_response_func.Run(response.Pass()); |
| 548 if (trimmed_path == kShutdownPath) | 620 if (trimmed_path == kShutdownPath) |
| 549 quit_func_.Run(); | 621 quit_func_.Run(); |
| 550 } | 622 } |
| 551 | 623 |
| 552 scoped_ptr<net::HttpServerResponseInfo> HttpHandler::PrepareResponseHelper( | 624 scoped_ptr<net::HttpServerResponseInfo> HttpHandler::PrepareResponseHelper( |
| 553 const std::string& trimmed_path, | 625 const std::string& trimmed_path, |
| 554 const Status& status, | 626 const Status& status, |
| 555 scoped_ptr<base::Value> value, | 627 scoped_ptr<base::Value> value, |
| 556 const std::string& session_id) { | 628 const std::string& session_id) { |
| (...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 643 params.SetString(name, path_parts[i]); | 715 params.SetString(name, path_parts[i]); |
| 644 } else if (command_path_parts[i] != path_parts[i]) { | 716 } else if (command_path_parts[i] != path_parts[i]) { |
| 645 return false; | 717 return false; |
| 646 } | 718 } |
| 647 } | 719 } |
| 648 out_params->MergeDictionary(¶ms); | 720 out_params->MergeDictionary(¶ms); |
| 649 return true; | 721 return true; |
| 650 } | 722 } |
| 651 | 723 |
| 652 } // namespace internal | 724 } // namespace internal |
| OLD | NEW |