1010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)// Copyright 2014 The Chromium Authors. All rights reserved.
2010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
3010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)// found in the LICENSE file.
4010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)
5010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)#include "mojo/services/public/cpp/view_manager/lib/view_manager_test_suite.h"
6010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)
71320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#include "base/i18n/icu_util.h"
8010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)#include "ui/gl/gl_surface.h"
9010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)
10116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch#if defined(USE_X11)
11116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch#include "ui/gfx/x/x11_connection.h"
12116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch#endif
13116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch
14010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)namespace mojo {
15010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)
16010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)ViewManagerTestSuite::ViewManagerTestSuite(int argc, char** argv)
17010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)    : TestSuite(argc, argv) {}
18010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)
19010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)ViewManagerTestSuite::~ViewManagerTestSuite() {
20010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)}
21010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)
22010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)void ViewManagerTestSuite::Initialize() {
23116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch#if defined(USE_X11)
24116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  // Each test ends up creating a new thread for the native viewport service.
25116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  // In other words we'll use X on different threads, so tell it that.
26116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  gfx::InitializeThreadedX11();
27116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch#endif
28116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch
291320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#if defined(COMPONENT_BUILD)
30010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)  gfx::GLSurface::InitializeOneOffForTests();
311320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#endif
321320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci
331320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  base::TestSuite::Initialize();
341320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci
351320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  // base::TestSuite and ViewsInit both try to load icu. That's ok for tests.
361320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  base::i18n::AllowMultipleInitializeCallsForTesting();
37010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)}
38010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)
39010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)}  // namespace mojo
40