1cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)// Copyright 2014 The Chromium Authors. All rights reserved.
25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// found in the LICENSE file.
45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
5cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)#include "ui/views_content_client/views_content_client_main_parts.h"
65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "base/run_loop.h"
83551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)#include "content/shell/browser/shell_browser_context.h"
95d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#include "ui/base/ime/input_method_initializer.h"
105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "ui/views/test/desktop_test_views_delegate.h"
114e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)
12cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)namespace ui {
135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
14cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)ViewsContentClientMainParts::ViewsContentClientMainParts(
15cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)    const content::MainFunctionParams& content_params,
16cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)    ViewsContentClient* views_content_client)
17cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)    : views_content_client_(views_content_client) {
185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
20cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)ViewsContentClientMainParts::~ViewsContentClientMainParts() {
215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
23cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)void ViewsContentClientMainParts::PreMainMessageLoopRun() {
245d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  ui::InitializeInputMethodForTesting();
25eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch  browser_context_.reset(new content::ShellBrowserContext(false, NULL));
26cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)  views_delegate_.reset(new views::DesktopTestViewsDelegate);
275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
29cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)void ViewsContentClientMainParts::PostMainMessageLoopRun() {
305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  browser_context_.reset();
315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  views_delegate_.reset();
325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
34cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)bool ViewsContentClientMainParts::MainMessageLoopRun(int* result_code) {
355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  base::RunLoop run_loop;
365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  run_loop.Run();
375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  return true;
385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
40cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)}  // namespace ui
41