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