146d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)// Copyright 2014 The Chromium Authors. All rights reserved. 246d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 346d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)// found in the LICENSE file. 446d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) 546d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)#include "content/shell/browser/shell_browser_context.h" 646d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)#include "ui/aura/env.h" 746d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)#include "ui/gfx/screen.h" 846d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)#include "ui/views/widget/desktop_aura/desktop_screen.h" 946d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)#include "ui/views_content_client/views_content_client.h" 1046d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)#include "ui/views_content_client/views_content_client_main_parts_aura.h" 1146d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) 1246d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)namespace ui { 1346d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) 1446d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)namespace { 1546d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) 1646d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)class ViewsContentClientMainPartsDesktopAura 1746d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) : public ViewsContentClientMainPartsAura { 1846d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) public: 1946d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) ViewsContentClientMainPartsDesktopAura( 2046d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) const content::MainFunctionParams& content_params, 2146d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) ViewsContentClient* views_content_client); 2246d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) virtual ~ViewsContentClientMainPartsDesktopAura() {} 2346d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) 2446d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) // content::BrowserMainParts: 2546d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) virtual void PreMainMessageLoopRun() OVERRIDE; 2646d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) 2746d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) private: 2846d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) DISALLOW_COPY_AND_ASSIGN(ViewsContentClientMainPartsDesktopAura); 2946d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)}; 3046d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) 3146d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)ViewsContentClientMainPartsDesktopAura::ViewsContentClientMainPartsDesktopAura( 3246d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) const content::MainFunctionParams& content_params, 3346d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) ViewsContentClient* views_content_client) 3446d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) : ViewsContentClientMainPartsAura(content_params, views_content_client) { 3546d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)} 3646d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) 3746d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)void ViewsContentClientMainPartsDesktopAura::PreMainMessageLoopRun() { 3846d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) ViewsContentClientMainPartsAura::PreMainMessageLoopRun(); 3946d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) 4046d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) aura::Env::CreateInstance(true); 4146d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) gfx::Screen::SetScreenInstance( 4246d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) gfx::SCREEN_TYPE_NATIVE, views::CreateDesktopScreen()); 4346d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) 4446d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) views_content_client()->task().Run(browser_context(), NULL); 4546d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)} 4646d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) 4746d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)} // namespace 4846d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) 4946d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)// static 5046d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)ViewsContentClientMainParts* ViewsContentClientMainParts::Create( 5146d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) const content::MainFunctionParams& content_params, 5246d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) ViewsContentClient* views_content_client) { 5346d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) return new ViewsContentClientMainPartsDesktopAura( 5446d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) content_params, views_content_client); 5546d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)} 5646d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) 5746d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)} // namespace ui 58