Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(327)

Unified Diff: headless/lib/browser/headless_devtools_manager_delegate.cc

Issue 2630533002: headless: Don't require parameters for all commands (Closed)
Patch Set: Created 3 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: headless/lib/browser/headless_devtools_manager_delegate.cc
diff --git a/headless/lib/browser/headless_devtools_manager_delegate.cc b/headless/lib/browser/headless_devtools_manager_delegate.cc
index 8b275a7f637a6c37d09fe134f45db14ee2525c42..77a04061397b04b9ec929079758a88ef71b1a486 100644
--- a/headless/lib/browser/headless_devtools_manager_delegate.cc
+++ b/headless/lib/browser/headless_devtools_manager_delegate.cc
@@ -85,16 +85,16 @@ base::DictionaryValue* HeadlessDevToolsManagerDelegate::HandleCommand(
int id;
std::string method;
- const base::DictionaryValue* params = nullptr;
if (!command->GetInteger("id", &id) ||
- !command->GetString("method", &method) ||
- !command->GetDictionary("params", &params)) {
+ !command->GetString("method", &method)) {
return nullptr;
}
auto find_it = command_map_.find(method);
if (find_it == command_map_.end())
return nullptr;
CommandMemberFnPtr command_fn_ptr = find_it->second;
+ const base::DictionaryValue* params = nullptr;
+ command->GetDictionary("params", &params);
std::unique_ptr<base::DictionaryValue> cmd_result(
((this)->*command_fn_ptr)(id, params));
return cmd_result.release();
@@ -119,7 +119,8 @@ HeadlessDevToolsManagerDelegate::CreateTarget(
std::string browser_context_id;
int width = browser_->options()->window_size.width();
int height = browser_->options()->window_size.height();
- params->GetString("url", &url);
+ if (!params || !params->GetString("url", &url))
+ return CreateInvalidParamResponse(command_id, "url");
params->GetString("browserContextId", &browser_context_id);
params->GetInteger("width", &width);
params->GetInteger("height", &height);
@@ -154,7 +155,7 @@ HeadlessDevToolsManagerDelegate::CloseTarget(
int command_id,
const base::DictionaryValue* params) {
std::string target_id;
- if (!params->GetString("targetId", &target_id))
+ if (!params || !params->GetString("targetId", &target_id))
return CreateInvalidParamResponse(command_id, "targetId");
HeadlessWebContents* web_contents =
browser_->GetWebContentsForDevToolsAgentHostId(target_id);
@@ -190,7 +191,7 @@ HeadlessDevToolsManagerDelegate::DisposeBrowserContext(
int command_id,
const base::DictionaryValue* params) {
std::string browser_context_id;
- if (!params->GetString("browserContextId", &browser_context_id))
+ if (!params || !params->GetString("browserContextId", &browser_context_id))
return CreateInvalidParamResponse(command_id, "browserContextId");
HeadlessBrowserContext* context =
browser_->GetBrowserContextForId(browser_context_id);
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698