| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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/browser/ui/browser_window_state.h" | 5 #include "chrome/browser/ui/browser_window_state.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 | 8 |
| 9 #include <utility> | 9 #include <utility> |
| 10 | 10 |
| (...skipping 143 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 154 *bounds = browser->override_bounds(); | 154 *bounds = browser->override_bounds(); |
| 155 WindowSizer::GetBrowserWindowBoundsAndShowState(browser->app_name(), | 155 WindowSizer::GetBrowserWindowBoundsAndShowState(browser->app_name(), |
| 156 *bounds, | 156 *bounds, |
| 157 browser, | 157 browser, |
| 158 bounds, | 158 bounds, |
| 159 show_state); | 159 show_state); |
| 160 | 160 |
| 161 const base::CommandLine& parsed_command_line = | 161 const base::CommandLine& parsed_command_line = |
| 162 *base::CommandLine::ForCurrentProcess(); | 162 *base::CommandLine::ForCurrentProcess(); |
| 163 | 163 |
| 164 if (parsed_command_line.HasSwitch(switches::kWindowSize)) { | 164 internal::UpdateWindowBoundsAndShowStateFromCommandLine(parsed_command_line, |
| 165 bounds, show_state); |
| 166 } |
| 167 |
| 168 namespace internal { |
| 169 |
| 170 void UpdateWindowBoundsAndShowStateFromCommandLine( |
| 171 const base::CommandLine& command_line, |
| 172 gfx::Rect* bounds, |
| 173 ui::WindowShowState* show_state) { |
| 174 // Allow command-line flags to override the window size and position. If |
| 175 // either of these is specified then set the show state to NORMAL so that |
| 176 // they are immediately respected. |
| 177 if (command_line.HasSwitch(switches::kWindowSize)) { |
| 178 std::string str = command_line.GetSwitchValueASCII(switches::kWindowSize); |
| 179 int width, height; |
| 180 if (ParseCommaSeparatedIntegers(str, &width, &height)) { |
| 181 bounds->set_size(gfx::Size(width, height)); |
| 182 *show_state = ui::SHOW_STATE_NORMAL; |
| 183 } |
| 184 } |
| 185 if (command_line.HasSwitch(switches::kWindowPosition)) { |
| 165 std::string str = | 186 std::string str = |
| 166 parsed_command_line.GetSwitchValueASCII(switches::kWindowSize); | 187 command_line.GetSwitchValueASCII(switches::kWindowPosition); |
| 167 int width, height; | |
| 168 if (ParseCommaSeparatedIntegers(str, &width, &height)) | |
| 169 bounds->set_size(gfx::Size(width, height)); | |
| 170 } | |
| 171 if (parsed_command_line.HasSwitch(switches::kWindowPosition)) { | |
| 172 std::string str = | |
| 173 parsed_command_line.GetSwitchValueASCII(switches::kWindowPosition); | |
| 174 int x, y; | 188 int x, y; |
| 175 if (ParseCommaSeparatedIntegers(str, &x, &y)) | 189 if (ParseCommaSeparatedIntegers(str, &x, &y)) { |
| 176 bounds->set_origin(gfx::Point(x, y)); | 190 bounds->set_origin(gfx::Point(x, y)); |
| 191 *show_state = ui::SHOW_STATE_NORMAL; |
| 192 } |
| 177 } | 193 } |
| 178 } | 194 } |
| 179 | 195 |
| 196 } // namespace internal |
| 197 |
| 180 } // namespace chrome | 198 } // namespace chrome |
| OLD | NEW |