diff options
Diffstat (limited to 'ui/viewer/viewer_main.cc')
-rw-r--r-- | ui/viewer/viewer_main.cc | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/ui/viewer/viewer_main.cc b/ui/viewer/viewer_main.cc new file mode 100644 index 0000000..e49dcc0 --- /dev/null +++ b/ui/viewer/viewer_main.cc @@ -0,0 +1,34 @@ +// Copyright (c) 2012 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "base/command_line.h" +#include "base/debug/debugger.h" +#include "base/message_loop.h" +#include "ui/compositor/test/compositor_test_support.h" +#include "ui/viewer/viewer_process.h" + +// Mainline routine for running as the viewer process. +int ViewerProcessMain() { + MessageLoop main_message_loop(MessageLoop::TYPE_UI); + ui::CompositorTestSupport::Initialize(); + + main_message_loop.set_thread_name("MainThread"); + CommandLine* command_line = CommandLine::ForCurrentProcess(); + + VLOG(1) << "Viewer process launched: " + << CommandLine::ForCurrentProcess()->GetCommandLineString(); + + base::PlatformThread::SetName("CrViewerMain"); + + // TODO(scottmg): Uniquize this process? + + ViewerProcess viewer_process; + if (viewer_process.Initialize(&main_message_loop, *command_line)) { + MessageLoopForUI::current()->Run(); + } else { + LOG(ERROR) << "Viewer process failed to initialize"; + } + viewer_process.Teardown(); + return 0; +} |