blob: fc1bb21bcaf96c66a37f57dcbff6f28a71b29613 [file] [log] [blame]
[email protected]5629e0c2011-09-12 22:07:361// Copyright (c) 2011 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 CONTENT_SHELL_SHELL_BROWSER_MAIN_H_
6#define CONTENT_SHELL_SHELL_BROWSER_MAIN_H_
7#pragma once
8
[email protected]b0f146f2011-09-15 22:14:259#include "base/memory/scoped_ptr.h"
10#include "content/browser/browser_main.h"
11
12class ResourceDispatcherHost;
13class TabContents;
14
15namespace base {
16class Thread;
17}
18
19namespace ui {
20class Clipboard;
21}
22
23namespace content {
24
25class ShellBrowserContext;
26
27class ShellBrowserMainParts : public BrowserMainParts {
28 public:
29 explicit ShellBrowserMainParts(const MainFunctionParams& parameters);
30 virtual ~ShellBrowserMainParts();
31
32 virtual void PreMainMessageLoopRun();
33
34 ResourceDispatcherHost* GetResourceDispatcherHost();
35 ui::Clipboard* GetClipboard();
36
37 base::Thread* io_thread() { return io_thread_.get(); }
38 base::Thread* file_thread() { return file_thread_.get(); }
39
40 private:
41 scoped_ptr<ShellBrowserContext> browser_context_;
42 scoped_ptr<TabContents> tab_contents_;
43
44 scoped_ptr<ResourceDispatcherHost> resource_dispatcher_host_;
45 scoped_ptr<ui::Clipboard> clipboard_;
46
47 scoped_ptr<base::Thread> io_thread_;
48 scoped_ptr<base::Thread> file_thread_;
49 scoped_ptr<base::Thread> db_thread_;
50 scoped_ptr<base::Thread> process_launcher_thread_;
51 scoped_ptr<base::Thread> cache_thread_;
52
53 DISALLOW_COPY_AND_ASSIGN(ShellBrowserMainParts);
54};
55
56} // namespace content
57
[email protected]5629e0c2011-09-12 22:07:3658#endif // CONTENT_SHELL_SHELL_BROWSER_MAIN_H_