Roll src/third_party/WebKit eb1578b:b559582 (svn 193425:193437)
[chromium-blink-merge.git] / chrome / browser / browser_process_platform_part_base.h
blob6ae847fa6b2b9b8415d8d43454842a34cfabfc64
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_
8 #include "base/basictypes.h"
9 #include "base/memory/scoped_ptr.h"
11 namespace base {
12 class CommandLine;
15 namespace policy {
16 class BrowserPolicyConnector;
19 // A base class for platform-specific BrowserProcessPlatformPart
20 // implementations. This class itself should never be used verbatim.
21 class BrowserProcessPlatformPartBase {
22 public:
23 BrowserProcessPlatformPartBase();
24 virtual ~BrowserProcessPlatformPartBase();
26 // Called after creating the process singleton or when another chrome
27 // rendez-vous with this one.
28 virtual void PlatformSpecificCommandLineProcessing(
29 const base::CommandLine& command_line);
31 // Called from BrowserProcessImpl::StartTearDown().
32 virtual void StartTearDown();
34 // Called from AttemptExitInternal().
35 virtual void AttemptExit();
37 // Called at the end of BrowserProcessImpl::PreMainMessageLoopRun().
38 virtual void PreMainMessageLoopRun();
40 #if defined(ENABLE_CONFIGURATION_POLICY)
41 virtual scoped_ptr<policy::BrowserPolicyConnector>
42 CreateBrowserPolicyConnector();
43 #endif
45 private:
46 DISALLOW_COPY_AND_ASSIGN(BrowserProcessPlatformPartBase);
49 #endif // CHROME_BROWSER_BROWSER_PROCESS_PLATFORM_PART_BASE_H_