[M120 Migration]Fix for crash during chrome exit
[platform/framework/web/chromium-efl.git] / chrome / browser / browser_process_platform_part_base.h
1 // Copyright 2013 The Chromium Authors
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 CHROME_BROWSER_BROWSER_PROCESS_PLATFORM_PART_BASE_H_
6 #define CHROME_BROWSER_BROWSER_PROCESS_PLATFORM_PART_BASE_H_
7
8 #include "chrome/browser/buildflags.h"
9
10 // A base class for platform-specific BrowserProcessPlatformPart
11 // implementations. This class itself should never be used verbatim.
12 class BrowserProcessPlatformPartBase {
13  public:
14   BrowserProcessPlatformPartBase();
15
16   BrowserProcessPlatformPartBase(const BrowserProcessPlatformPartBase&) =
17       delete;
18   BrowserProcessPlatformPartBase& operator=(
19       const BrowserProcessPlatformPartBase&) = delete;
20
21   virtual ~BrowserProcessPlatformPartBase();
22
23 #if BUILDFLAG(ENABLE_PROCESS_SINGLETON)
24   // Called after launch, whether it is from creating a new process or after
25   // rendezvous to an existing process via the process singleton.
26   virtual void OnBrowserLaunch();
27 #endif
28
29   // Called in the middle of BrowserProcessImpl::StartTearDown().
30   virtual void StartTearDown();
31
32   // Called from AttemptExitInternal().
33   virtual void AttemptExit(bool try_to_quit_application);
34
35   // Called at the end of BrowserProcessImpl::PreMainMessageLoopRun().
36   virtual void PreMainMessageLoopRun();
37 };
38
39 #endif  // CHROME_BROWSER_BROWSER_PROCESS_PLATFORM_PART_BASE_H_