aw_browser_main_parts.h revision 2a99a7e74a7f215066514fe81d2bfa6639d9eddd
15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Copyright (c) 2012 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) 52a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#ifndef ANDROID_WEBVIEW_BROWSER_AW_BROWSER_MAIN_PARTS_H_ 62a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define ANDROID_WEBVIEW_BROWSER_AW_BROWSER_MAIN_PARTS_H_ 75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 8cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)#include "base/compiler_specific.h" 95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "base/memory/scoped_ptr.h" 103551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)#include "content/public/browser/browser_main_parts.h" 115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 12a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)class MessageLoop; 13a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles) 145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)namespace android_webview { 15a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles) 165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// TODO(joth): Remove this method when when http://crbug.com/161864 is closed. 1768043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)bool UseCompositorDirectDraw(); 1868043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) 1968043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)class AwBrowserContext; 2068043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)class AwDevToolsDelegate; 21116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 22116680a4aac90f2aa7413d9095a592090648e557Ben Murdochclass AwBrowserMainParts : public content::BrowserMainParts { 23116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch public: 24116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch explicit AwBrowserMainParts(AwBrowserContext* browser_context); 25116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch virtual ~AwBrowserMainParts(); 26116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 27116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch // Overriding methods from content::BrowserMainParts. 28116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch virtual void PreEarlyInitialization() OVERRIDE; 295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) virtual int PreCreateThreads() OVERRIDE; 30b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles) virtual void PreMainMessageLoopRun() OVERRIDE; 312a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) virtual bool MainMessageLoopRun(int* result_code) OVERRIDE; 325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) virtual void PostMainMessageLoopRun() OVERRIDE; 335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 34a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles) private: 35a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles) // Android specific UI MessageLoop. 365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) scoped_ptr<MessageLoop> main_message_loop_; 37a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles) 385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) AwBrowserContext* browser_context_; // weak 395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) AwDevToolsDelegate* devtools_delegate_; 405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) DISALLOW_COPY_AND_ASSIGN(AwBrowserMainParts); 42a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)}; 43a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles) 445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} // namespace android_webview 451320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif // ANDROID_WEBVIEW_BROWSER_AW_BROWSER_MAIN_PARTS_H_ 475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)