blob: 65d9391da41b3c305960eb7a05bef8dd468b4536 [file] [log] [blame]
[email protected]81f30ce2012-01-18 22:10:331// Copyright (c) 2012 The Chromium Authors. All rights reserved.
[email protected]c1f87b22011-10-05 21:59:332// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#ifndef CONTENT_SHELL_SHELL_MAIN_DELEGATE_H_
6#define CONTENT_SHELL_SHELL_MAIN_DELEGATE_H_
[email protected]c1f87b22011-10-05 21:59:337
8#include "base/compiler_specific.h"
9#include "base/memory/scoped_ptr.h"
[email protected]c1f87b22011-10-05 21:59:3310#include "content/shell/shell_content_client.h"
[email protected]16320ea2011-10-20 19:57:0511#include "content/public/app/content_main_delegate.h"
[email protected]c1f87b22011-10-05 21:59:3312
13namespace content {
14class ShellContentBrowserClient;
15class ShellContentRendererClient;
[email protected]e5df69d42012-06-08 00:44:1416
17#if defined(OS_ANDROID)
18class BrowserMainRunner;
19#endif
[email protected]c1f87b22011-10-05 21:59:3320
[email protected]bdcf9152012-07-19 17:43:2121class ShellMainDelegate : public ContentMainDelegate {
[email protected]c1f87b22011-10-05 21:59:3322 public:
23 ShellMainDelegate();
24 virtual ~ShellMainDelegate();
25
[email protected]bdcf9152012-07-19 17:43:2126 // ContentMainDelegate implementation:
[email protected]16320ea2011-10-20 19:57:0527 virtual bool BasicStartupComplete(int* exit_code) OVERRIDE;
[email protected]c1f87b22011-10-05 21:59:3328 virtual void PreSandboxStartup() OVERRIDE;
[email protected]16320ea2011-10-20 19:57:0529 virtual int RunProcess(
30 const std::string& process_type,
[email protected]bdcf9152012-07-19 17:43:2131 const MainFunctionParams& main_function_params) OVERRIDE;
32 virtual ContentBrowserClient* CreateContentBrowserClient() OVERRIDE;
33 virtual ContentRendererClient* CreateContentRendererClient() OVERRIDE;
[email protected]c1f87b22011-10-05 21:59:3334
[email protected]ca7e803a2012-07-25 23:01:1035 static void InitializeResourceBundle();
[email protected]c1f87b22011-10-05 21:59:3336
[email protected]ca7e803a2012-07-25 23:01:1037 private:
[email protected]bdcf9152012-07-19 17:43:2138 scoped_ptr<ShellContentBrowserClient> browser_client_;
39 scoped_ptr<ShellContentRendererClient> renderer_client_;
40 ShellContentClient content_client_;
[email protected]c1f87b22011-10-05 21:59:3341
[email protected]e5df69d42012-06-08 00:44:1442#if defined(OS_ANDROID)
[email protected]bdcf9152012-07-19 17:43:2143 scoped_ptr<BrowserMainRunner> browser_runner_;
[email protected]e5df69d42012-06-08 00:44:1444#endif
45
[email protected]c1f87b22011-10-05 21:59:3346 DISALLOW_COPY_AND_ASSIGN(ShellMainDelegate);
47};
48
[email protected]bdcf9152012-07-19 17:43:2149} // namespace content
50
[email protected]f063fb02011-10-05 22:11:3551#endif // CONTENT_SHELL_SHELL_MAIN_DELEGATE_H_