aw_browser_main_parts.h revision 68043e1e95eeb07d5cae7aca370b26518b0867d6
1b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org// Copyright (c) 2012 The Chromium Authors. All rights reserved.
2b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org// Use of this source code is governed by a BSD-style license that can be
3b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org// found in the LICENSE file.
4b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org
5b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org#ifndef ANDROID_WEBVIEW_BROWSER_AW_BROWSER_MAIN_PARTS_H_
6b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org#define ANDROID_WEBVIEW_BROWSER_AW_BROWSER_MAIN_PARTS_H_
7b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org
8b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org#include "base/compiler_specific.h"
9b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org#include "base/memory/scoped_ptr.h"
10b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org#include "content/public/browser/browser_main_parts.h"
11ca0e88afdbb0ba88c4dc035cfa17e9c8956a74b1mikhal@webrtc.org
12b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgnamespace base {
13b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgclass MessageLoop;
14b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org}
15ca0e88afdbb0ba88c4dc035cfa17e9c8956a74b1mikhal@webrtc.org
16b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgnamespace android_webview {
17ca0e88afdbb0ba88c4dc035cfa17e9c8956a74b1mikhal@webrtc.org
18b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgclass AwBrowserContext;
19b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org
20ca0e88afdbb0ba88c4dc035cfa17e9c8956a74b1mikhal@webrtc.orgclass AwBrowserMainParts : public content::BrowserMainParts {
21b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org public:
22ca0e88afdbb0ba88c4dc035cfa17e9c8956a74b1mikhal@webrtc.org  explicit AwBrowserMainParts(AwBrowserContext* browser_context);
238edcccef11eabb0dd98a061c9d640b2b7743609estefan@webrtc.org  virtual ~AwBrowserMainParts();
24b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org
25b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org  // Overriding methods from content::BrowserMainParts.
26b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org  virtual void PreEarlyInitialization() OVERRIDE;
276b97015d433f126e835178e2b59bc847d1af85a5pbos@webrtc.org  virtual int PreCreateThreads() OVERRIDE;
286b97015d433f126e835178e2b59bc847d1af85a5pbos@webrtc.org  virtual void PreMainMessageLoopRun() OVERRIDE;
296b97015d433f126e835178e2b59bc847d1af85a5pbos@webrtc.org  virtual bool MainMessageLoopRun(int* result_code) OVERRIDE;
306b97015d433f126e835178e2b59bc847d1af85a5pbos@webrtc.org
316b97015d433f126e835178e2b59bc847d1af85a5pbos@webrtc.org private:
326b97015d433f126e835178e2b59bc847d1af85a5pbos@webrtc.org  // Android specific UI MessageLoop.
336b97015d433f126e835178e2b59bc847d1af85a5pbos@webrtc.org  scoped_ptr<base::MessageLoop> main_message_loop_;
346b97015d433f126e835178e2b59bc847d1af85a5pbos@webrtc.org
356b97015d433f126e835178e2b59bc847d1af85a5pbos@webrtc.org  AwBrowserContext* browser_context_;  // weak
366b97015d433f126e835178e2b59bc847d1af85a5pbos@webrtc.org
376b97015d433f126e835178e2b59bc847d1af85a5pbos@webrtc.org  DISALLOW_COPY_AND_ASSIGN(AwBrowserMainParts);
386b97015d433f126e835178e2b59bc847d1af85a5pbos@webrtc.org};
396b97015d433f126e835178e2b59bc847d1af85a5pbos@webrtc.org
406b97015d433f126e835178e2b59bc847d1af85a5pbos@webrtc.org}  // namespace android_webview
416b97015d433f126e835178e2b59bc847d1af85a5pbos@webrtc.org
426b97015d433f126e835178e2b59bc847d1af85a5pbos@webrtc.org#endif  // ANDROID_WEBVIEW_BROWSER_AW_BROWSER_MAIN_PARTS_H_
436b97015d433f126e835178e2b59bc847d1af85a5pbos@webrtc.org