Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(338)

Side by Side Diff: content/shell/shell_browser_main.h

Issue 9190018: Support sharing of ContentMain and BrowserMain code with embedded use cases. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 8 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // 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 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef CONTENT_SHELL_SHELL_BROWSER_MAIN_H_ 5 #ifndef CONTENT_SHELL_SHELL_BROWSER_MAIN_H_
6 #define CONTENT_SHELL_SHELL_BROWSER_MAIN_H_ 6 #define CONTENT_SHELL_SHELL_BROWSER_MAIN_H_
7 #pragma once 7 #pragma once
8 8
9 #include "base/basictypes.h" 9 #include "base/basictypes.h"
10 #include "base/memory/scoped_ptr.h" 10 #include "base/memory/scoped_ptr.h"
11 #include "content/public/browser/browser_main_parts.h" 11 #include "content/public/browser/browser_main_parts.h"
12 12
13 class ShellMainDelegate;
14
13 namespace base { 15 namespace base {
14 class Thread; 16 class Thread;
15 } 17 }
16 18
17 namespace ui { 19 namespace ui {
18 class Clipboard; 20 class Clipboard;
19 } 21 }
20 22
21 namespace content { 23 namespace content {
22 24
23 class ShellBrowserContext; 25 class ShellBrowserContext;
24 struct MainFunctionParams; 26 struct MainFunctionParams;
25 27
26 class ShellBrowserMainParts : public BrowserMainParts { 28 class ShellBrowserMainParts : public BrowserMainParts {
27 public: 29 public:
28 explicit ShellBrowserMainParts(const content::MainFunctionParams& parameters); 30 explicit ShellBrowserMainParts(ShellMainDelegate* delegate,
31 const content::MainFunctionParams& parameters);
29 virtual ~ShellBrowserMainParts(); 32 virtual ~ShellBrowserMainParts();
30 33
31 virtual void PreEarlyInitialization() OVERRIDE {} 34 virtual void PreEarlyInitialization() OVERRIDE {}
32 virtual void PostEarlyInitialization() OVERRIDE {} 35 virtual void PostEarlyInitialization() OVERRIDE {}
33 virtual void PreMainMessageLoopStart() OVERRIDE {} 36 virtual void PreMainMessageLoopStart() OVERRIDE {}
37 virtual MessageLoop* GetMainMessageLoop() OVERRIDE;
38 virtual void PostMainMessageLoopStart() OVERRIDE {}
34 virtual void ToolkitInitialized() OVERRIDE {} 39 virtual void ToolkitInitialized() OVERRIDE {}
35 virtual void PostMainMessageLoopStart() OVERRIDE {}
36 virtual void PreCreateThreads() OVERRIDE {} 40 virtual void PreCreateThreads() OVERRIDE {}
37 virtual void PreMainMessageLoopRun() OVERRIDE; 41 virtual void PreMainMessageLoopRun() OVERRIDE;
38 virtual bool MainMessageLoopRun(int* result_code) OVERRIDE; 42 virtual bool MainMessageLoopRun(int* result_code) OVERRIDE;
39 virtual void PostMainMessageLoopRun() OVERRIDE; 43 virtual void PostMainMessageLoopRun() OVERRIDE;
40 virtual void PostDestroyThreads() OVERRIDE {} 44 virtual void PostDestroyThreads() OVERRIDE {}
41 45
42 ui::Clipboard* GetClipboard(); 46 ui::Clipboard* GetClipboard();
43 47
44 private: 48 private:
49 // The delegate will always outlive this class.
50 ShellMainDelegate* delegate_;
51
45 scoped_ptr<ShellBrowserContext> browser_context_; 52 scoped_ptr<ShellBrowserContext> browser_context_;
46 53
47 scoped_ptr<ui::Clipboard> clipboard_; 54 scoped_ptr<ui::Clipboard> clipboard_;
48 55
49 DISALLOW_COPY_AND_ASSIGN(ShellBrowserMainParts); 56 DISALLOW_COPY_AND_ASSIGN(ShellBrowserMainParts);
50 }; 57 };
51 58
52 } // namespace content 59 } // namespace content
53 60
54 #endif // CONTENT_SHELL_SHELL_BROWSER_MAIN_H_ 61 #endif // CONTENT_SHELL_SHELL_BROWSER_MAIN_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698