1// Copyright 2014 The Chromium Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5#include "athena/activity/public/activity_factory.h" 6#include "athena/activity/public/activity_manager.h" 7#include "athena/test/athena_test_helper.h" 8#include "base/at_exit.h" 9#include "base/command_line.h" 10#include "base/i18n/icu_util.h" 11#include "base/message_loop/message_loop.h" 12#include "base/path_service.h" 13#include "base/run_loop.h" 14#include "ui/aura/window_tree_host.h" 15#include "ui/base/resource/resource_bundle.h" 16#include "ui/base/ui_base_paths.h" 17#include "ui/compositor/test/context_factories_for_test.h" 18#include "ui/gl/gl_surface.h" 19 20class UIShell { 21 public: 22 explicit UIShell(base::MessageLoopForUI* message_loop) 23 : athena_helper_(message_loop) { 24 const bool enable_pixel_output = true; 25 ui::ContextFactory* factory = 26 ui::InitializeContextFactoryForTests(enable_pixel_output); 27 athena_helper_.SetUp(factory); 28 athena_helper_.host()->Show(); 29 30 InitSampleActivities(); 31 } 32 33 void InitSampleActivities() { 34 athena::ActivityManager::Get()->AddActivity( 35 athena::ActivityFactory::Get()->CreateWebActivity( 36 NULL, GURL("http://www.google.com/"))); 37 } 38 39 private: 40 athena::test::AthenaTestHelper athena_helper_; 41 42 DISALLOW_COPY_AND_ASSIGN(UIShell); 43}; 44 45int main(int argc, const char **argv) { 46 setlocale(LC_ALL, ""); 47 48 base::AtExitManager exit_manager; 49 ui::RegisterPathProvider(); 50 base::CommandLine::Init(argc, argv); 51 base::i18n::InitializeICU(); 52 gfx::GLSurface::InitializeOneOffForTests(); 53 54 base::FilePath ui_test_pak_path; 55 DCHECK(PathService::Get(ui::UI_TEST_PAK, &ui_test_pak_path)); 56 ui::ResourceBundle::InitSharedInstanceWithPakPath(ui_test_pak_path); 57 58 base::MessageLoopForUI message_loop; 59 UIShell shell(&message_loop); 60 base::RunLoop run_loop; 61 run_loop.Run(); 62} 63