1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef ANDROID_WEBVIEW_BROWSER_AW_BROWSER_MAIN_PARTS_H_ 6 #define ANDROID_WEBVIEW_BROWSER_AW_BROWSER_MAIN_PARTS_H_ 7 8 #include "base/compiler_specific.h" 9 #include "base/memory/scoped_ptr.h" 10 #include "content/public/browser/browser_main_parts.h" 11 12 namespace base { 13 class MessageLoop; 14 } 15 16 namespace android_webview { 17 18 class AwBrowserContext; 19 20 class AwBrowserMainParts : public content::BrowserMainParts { 21 public: 22 explicit AwBrowserMainParts(AwBrowserContext* browser_context); 23 virtual ~AwBrowserMainParts(); 24 25 // Overriding methods from content::BrowserMainParts. 26 virtual void PreEarlyInitialization() OVERRIDE; 27 virtual int PreCreateThreads() OVERRIDE; 28 virtual void PreMainMessageLoopRun() OVERRIDE; 29 virtual bool MainMessageLoopRun(int* result_code) OVERRIDE; 30 31 private: 32 // Android specific UI MessageLoop. 33 scoped_ptr<base::MessageLoop> main_message_loop_; 34 35 AwBrowserContext* browser_context_; // weak 36 37 DISALLOW_COPY_AND_ASSIGN(AwBrowserMainParts); 38 }; 39 40 } // namespace android_webview 41 42 #endif // ANDROID_WEBVIEW_BROWSER_AW_BROWSER_MAIN_PARTS_H_ 43