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

Side by Side Diff: content/shell/shell_main_delegate.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_MAIN_DELEGATE_H_ 5 #ifndef CONTENT_SHELL_SHELL_MAIN_DELEGATE_H_
6 #define CONTENT_SHELL_SHELL_MAIN_DELEGATE_H_ 6 #define CONTENT_SHELL_SHELL_MAIN_DELEGATE_H_
7 #pragma once 7 #pragma once
8 8
9 #include "base/compiler_specific.h" 9 #include "base/compiler_specific.h"
10 #include "base/memory/scoped_ptr.h" 10 #include "base/memory/scoped_ptr.h"
11 #include "content/shell/shell.h"
11 #include "content/shell/shell_content_client.h" 12 #include "content/shell/shell_content_client.h"
12 #include "content/public/app/content_main_delegate.h" 13 #include "content/public/app/content_main_delegate.h"
13 14
15 #if defined(TEST_EMBEDDED_MESSAGE_LOOP)
16 #include "content/browser/browser_main_runner.h"
17 #endif
18
19 class MessageLoop;
20
14 namespace content { 21 namespace content {
15 class ShellContentBrowserClient; 22 class ShellContentBrowserClient;
16 class ShellContentRendererClient; 23 class ShellContentRendererClient;
17 class ShellContentPluginClient; 24 class ShellContentPluginClient;
18 class ShellContentUtilityClient; 25 class ShellContentUtilityClient;
19 } // namespace content 26 } // namespace content
20 27
21 class ShellMainDelegate : public content::ContentMainDelegate { 28 class ShellMainDelegate : public content::ContentMainDelegate {
22 public: 29 public:
23 ShellMainDelegate(); 30 ShellMainDelegate();
24 virtual ~ShellMainDelegate(); 31 virtual ~ShellMainDelegate();
25 32
26 virtual bool BasicStartupComplete(int* exit_code) OVERRIDE; 33 virtual bool BasicStartupComplete(int* exit_code) OVERRIDE;
27 virtual void PreSandboxStartup() OVERRIDE; 34 virtual void PreSandboxStartup() OVERRIDE;
28 virtual void SandboxInitialized(const std::string& process_type) OVERRIDE; 35 virtual void SandboxInitialized(const std::string& process_type) OVERRIDE;
29 virtual int RunProcess( 36 virtual int RunKnownProcess(
37 const std::string& process_type,
38 const content::MainFunctionParams& main_function_params) OVERRIDE;
39 virtual int RunUnknownProcess(
30 const std::string& process_type, 40 const std::string& process_type,
31 const content::MainFunctionParams& main_function_params) OVERRIDE; 41 const content::MainFunctionParams& main_function_params) OVERRIDE;
32 virtual void ProcessExiting(const std::string& process_type) OVERRIDE; 42 virtual void ProcessExiting(const std::string& process_type) OVERRIDE;
33 #if defined(OS_MACOSX) 43 #if defined(OS_MACOSX)
34 virtual bool ProcessRegistersWithSystemProcess( 44 virtual bool ProcessRegistersWithSystemProcess(
35 const std::string& process_type) OVERRIDE; 45 const std::string& process_type) OVERRIDE;
36 virtual bool ShouldSendMachPort(const std::string& process_type) OVERRIDE; 46 virtual bool ShouldSendMachPort(const std::string& process_type) OVERRIDE;
37 virtual bool DelaySandboxInitialization( 47 virtual bool DelaySandboxInitialization(
38 const std::string& process_type) OVERRIDE; 48 const std::string& process_type) OVERRIDE;
39 #elif defined(OS_POSIX) 49 #elif defined(OS_POSIX)
40 virtual content::ZygoteForkDelegate* ZygoteStarting() OVERRIDE; 50 virtual content::ZygoteForkDelegate* ZygoteStarting() OVERRIDE;
41 virtual void ZygoteForked() OVERRIDE; 51 virtual void ZygoteForked() OVERRIDE;
42 #endif // OS_MACOSX 52 #endif // OS_MACOSX
43 53
54 #if defined(TEST_EMBEDDED_MESSAGE_LOOP)
55 MessageLoop* CreateBrowserMessageLoop();
56 void DoBrowserMessageLoopWork();
57 void ShutdownBrowser();
58 #endif
59
44 private: 60 private:
45 void InitializeShellContentClient(const std::string& process_type); 61 void InitializeShellContentClient(const std::string& process_type);
46 62
63 #if defined(TEST_EMBEDDED_MESSAGE_LOOP)
64 scoped_ptr<content::BrowserMainRunner> browser_runner_;
65 #endif
66
47 scoped_ptr<content::ShellContentBrowserClient> browser_client_; 67 scoped_ptr<content::ShellContentBrowserClient> browser_client_;
48 scoped_ptr<content::ShellContentRendererClient> renderer_client_; 68 scoped_ptr<content::ShellContentRendererClient> renderer_client_;
49 scoped_ptr<content::ShellContentPluginClient> plugin_client_; 69 scoped_ptr<content::ShellContentPluginClient> plugin_client_;
50 scoped_ptr<content::ShellContentUtilityClient> utility_client_; 70 scoped_ptr<content::ShellContentUtilityClient> utility_client_;
51 content::ShellContentClient content_client_; 71 content::ShellContentClient content_client_;
52 72
53 DISALLOW_COPY_AND_ASSIGN(ShellMainDelegate); 73 DISALLOW_COPY_AND_ASSIGN(ShellMainDelegate);
54 }; 74 };
55 75
56 #endif // CONTENT_SHELL_SHELL_MAIN_DELEGATE_H_ 76 #endif // CONTENT_SHELL_SHELL_MAIN_DELEGATE_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698