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 12namespace base { 13class MessageLoop; 14} 15 16namespace android_webview { 17 18class AwBrowserContext; 19 20class 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