1 // Copyright (c) 2013 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.
5 #ifndef CHROME_BROWSER_BROWSER_PROCESS_PLATFORM_PART_BASE_H_
6 #define CHROME_BROWSER_BROWSER_PROCESS_PLATFORM_PART_BASE_H_
10 #include "base/macros.h"
11 #include "content/public/browser/content_browser_client.h"
18 class ChromeBrowserPolicyConnector;
21 // A base class for platform-specific BrowserProcessPlatformPart
22 // implementations. This class itself should never be used verbatim.
23 class BrowserProcessPlatformPartBase {
25 BrowserProcessPlatformPartBase();
26 virtual ~BrowserProcessPlatformPartBase();
28 // Called after creating the process singleton or when another chrome
29 // rendez-vous with this one.
30 virtual void PlatformSpecificCommandLineProcessing(
31 const base::CommandLine& command_line);
33 // Called from BrowserProcessImpl::StartTearDown().
34 virtual void StartTearDown();
36 // Called from AttemptExitInternal().
37 virtual void AttemptExit(bool try_to_quit_application);
39 // Called at the end of BrowserProcessImpl::PreMainMessageLoopRun().
40 virtual void PreMainMessageLoopRun();
42 virtual std::unique_ptr<policy::ChromeBrowserPolicyConnector>
43 CreateBrowserPolicyConnector();
46 DISALLOW_COPY_AND_ASSIGN(BrowserProcessPlatformPartBase);
49 #endif // CHROME_BROWSER_BROWSER_PROCESS_PLATFORM_PART_BASE_H_