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