[M120][Tizen][Onscreen] Fix build errors for TV profile
[platform/framework/web/chromium-efl.git] / chrome / browser / browser_process_platform_part_mac.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_MAC_H_
6 #define CHROME_BROWSER_BROWSER_PROCESS_PLATFORM_PART_MAC_H_
7
8 #include <memory>
9
10 #include "chrome/browser/apps/app_shim/app_shim_listener.h"
11 #include "chrome/browser/browser_process_platform_part_base.h"
12 #include "chrome/browser/mac/key_window_notifier.h"
13
14 namespace apps {
15 class AppShimManager;
16 }  // namespace apps
17
18 class BrowserProcessPlatformPart : public BrowserProcessPlatformPartBase {
19  public:
20   BrowserProcessPlatformPart();
21
22   BrowserProcessPlatformPart(const BrowserProcessPlatformPart&) = delete;
23   BrowserProcessPlatformPart& operator=(const BrowserProcessPlatformPart&) =
24       delete;
25
26   ~BrowserProcessPlatformPart() override;
27
28   // Overridden from BrowserProcessPlatformPartBase:
29   void StartTearDown() override;
30   void AttemptExit(bool try_to_quit_application) override;
31   void PreMainMessageLoopRun() override;
32
33   AppShimListener* app_shim_listener();
34   apps::AppShimManager* app_shim_manager();
35
36   KeyWindowNotifier& key_window_notifier() { return key_window_notifier_; }
37
38  private:
39   std::unique_ptr<apps::AppShimManager> app_shim_manager_;
40
41   // Hosts the IPC channel factory that App Shims connect to on Mac.
42   scoped_refptr<AppShimListener> app_shim_listener_;
43
44   KeyWindowNotifier key_window_notifier_;
45 };
46
47 #endif  // CHROME_BROWSER_BROWSER_PROCESS_PLATFORM_PART_MAC_H_