Commit 6c16fe9c authored by danakj's avatar danakj Committed by Commit Bot

Handle invalid sizes given to content_shell by the fuzzers.

R=inferno@chromium.org

Bug: 974462
Change-Id: I0e9a5201abaf1a6ee3a614c770f09789dc8b190f
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2417113
Commit-Queue: Abhishek Arya <inferno@chromium.org>
Reviewed-by: default avatarAbhishek Arya <inferno@chromium.org>
Cr-Commit-Position: refs/heads/master@{#808592}
parent 1d4381e1
......@@ -673,20 +673,29 @@ void Shell::SetContentsBounds(WebContents* source, const gfx::Rect& bounds) {
}
gfx::Size Shell::GetShellDefaultSize() {
static gfx::Size default_shell_size;
static gfx::Size default_shell_size; // Only go through this method once.
if (!default_shell_size.IsEmpty())
return default_shell_size;
base::CommandLine* command_line = base::CommandLine::ForCurrentProcess();
if (command_line->HasSwitch(switches::kContentShellHostWindowSize)) {
const std::string size_str = command_line->GetSwitchValueASCII(
switches::kContentShellHostWindowSize);
int width, height;
CHECK_EQ(2, sscanf(size_str.c_str(), "%dx%d", &width, &height));
default_shell_size = gfx::Size(width, height);
} else {
if (sscanf(size_str.c_str(), "%dx%d", &width, &height) == 2) {
default_shell_size = gfx::Size(width, height);
} else {
LOG(ERROR) << "Invalid size \"" << size_str << "\" given to --"
<< switches::kContentShellHostWindowSize;
}
}
if (default_shell_size.IsEmpty()) {
default_shell_size = gfx::Size(
kDefaultTestWindowWidthDip, kDefaultTestWindowHeightDip);
}
return default_shell_size;
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment