aw_browser_main_parts.h revision c2e0dbddbe15c98d52c4786dac06cb8952a8ae6d
18d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt// Copyright (c) 2012 The Chromium Authors. All rights reserved. 28d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt// Use of this source code is governed by a BSD-style license that can be 38d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt// found in the LICENSE file. 48d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 5c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt#ifndef ANDROID_WEBVIEW_BROWSER_AW_BROWSER_MAIN_PARTS_H_ 6c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt#define ANDROID_WEBVIEW_BROWSER_AW_BROWSER_MAIN_PARTS_H_ 78d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 88d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#include "base/compiler_specific.h" 98d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#include "base/memory/scoped_ptr.h" 108d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#include "content/public/browser/browser_main_parts.h" 118d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 128d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtnamespace base { 138d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtclass MessageLoop; 148d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt} 158d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 16cf32e60fa7e0d33fe1551a6dba8dcbbec47ea50eDmitry Shmidtnamespace android_webview { 178d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 188d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt// TODO(joth): Remove this method when when http://crbug.com/161864 is closed. 198d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtbool UseCompositorDirectDraw(); 208d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 218d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtclass AwBrowserContext; 228d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtclass AwDevToolsDelegate; 238d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 248d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtclass AwBrowserMainParts : public content::BrowserMainParts { 258d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt public: 268d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt explicit AwBrowserMainParts(AwBrowserContext* browser_context); 278d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt virtual ~AwBrowserMainParts(); 288d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 298d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt // Overriding methods from content::BrowserMainParts. 308d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt virtual void PreEarlyInitialization() OVERRIDE; 318d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt virtual int PreCreateThreads() OVERRIDE; 328d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt virtual void PreMainMessageLoopRun() OVERRIDE; 338d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt virtual bool MainMessageLoopRun(int* result_code) OVERRIDE; 348d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt virtual void PostMainMessageLoopRun() OVERRIDE; 358d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 368d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt private: 378d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt // Android specific UI MessageLoop. 388d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt scoped_ptr<base::MessageLoop> main_message_loop_; 398d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 408d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt AwBrowserContext* browser_context_; // weak 4104949598a23f501be6eec21697465fd46a28840aDmitry Shmidt AwDevToolsDelegate* devtools_delegate_; 428d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 438d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt DISALLOW_COPY_AND_ASSIGN(AwBrowserMainParts); 448d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt}; 458d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 468d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt} // namespace android_webview 478d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 488d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#endif // ANDROID_WEBVIEW_BROWSER_AW_BROWSER_MAIN_PARTS_H_ 498d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt