Chromium Code Reviews| Index: services/ui/demo/mus_demo_external.cc |
| diff --git a/services/ui/demo/mus_demo_external.cc b/services/ui/demo/mus_demo_external.cc |
| index 88d9f369d5ac6519abd23501199b31ea94d09761..8678863fc858e9e2b6b28f06aab7b15b877dd6f5 100644 |
| --- a/services/ui/demo/mus_demo_external.cc |
| +++ b/services/ui/demo/mus_demo_external.cc |
| @@ -4,6 +4,8 @@ |
| #include "services/ui/demo/mus_demo_external.h" |
| +#include "base/command_line.h" |
| +#include "base/strings/string_number_conversions.h" |
| #include "services/service_manager/public/cpp/service_context.h" |
| #include "services/ui/demo/window_tree_data.h" |
| #include "services/ui/public/interfaces/constants.mojom.h" |
| @@ -36,10 +38,6 @@ class WindowTreeDataExternal : public WindowTreeData { |
| DISALLOW_COPY_AND_ASSIGN(WindowTreeDataExternal); |
| }; |
| -// Number of windows to open. |
| -// TODO(tonikitoo,fwang): Open multiple windows. |
| -const size_t kNumberOfWindows = 1; |
| - |
| int GetSquareSizeForWindow(int window_index) { |
| return 50 * window_index + 400; |
| }; |
| @@ -58,6 +56,17 @@ MusDemoExternal::CreateWindowTreeClient() { |
| } |
| void MusDemoExternal::OnStartImpl() { |
| + const base::CommandLine* command_line = |
| + base::CommandLine::ForCurrentProcess(); |
| + if (command_line->HasSwitch("external-window-count")) { |
| + if (!base::StringToSizeT( |
| + command_line->GetSwitchValueASCII("external-window-count"), |
| + &number_of_windows_)) { |
| + LOG(ERROR) << "Invalid value for \'external-window-count\'"; |
| + return; |
|
kylechar
2017/03/01 18:39:07
What happens if we return here without creating an
|
| + } |
| + } |
| + |
| // TODO(tonikitoo,fwang): Extend the WindowTreeClient API to allow connection |
| // to the window tree host factory using window_tree_client(). |
| context()->connector()->BindInterface(ui::mojom::kServiceName, |
| @@ -68,10 +77,11 @@ void MusDemoExternal::OnStartImpl() { |
| // aura::GetDeviceScaleFactorFromDisplay(). |
| AddPrimaryDisplay(display::Display(0)); |
| - // The number of windows to open is specified by kNumberOfWindows. The windows |
| - // are opened sequentially (the first one here and the others after each call |
| - // to OnEmbed) to ensure that the WindowTreeHostMus passed to OnEmbed |
| - // corresponds to the WindowTreeDataExternal::host_ created in OpenNewWindow. |
| + // The number of windows to open is specified by number_of_windows_. The |
| + // windows are opened sequentially (the first one here and the others after |
| + // each call to OnEmbed) to ensure that the WindowTreeHostMus passed to |
| + // OnEmbed corresponds to the WindowTreeDataExternal::host_ created in |
| + // OpenNewWindow. |
| OpenNewWindow(); |
| } |
| @@ -92,7 +102,7 @@ void MusDemoExternal::OnEmbed( |
| initialized_windows_count_++; |
| // Open the next window until the requested number of windows is reached. |
| - if (initialized_windows_count_ < kNumberOfWindows) |
| + if (initialized_windows_count_ < number_of_windows_) |
| OpenNewWindow(); |
| } |