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. 4 5 #ifndef CHROME_BROWSER_BROWSER_PROCESS_PLATFORM_PART_AURAWIN_H_ 6 #define CHROME_BROWSER_BROWSER_PROCESS_PLATFORM_PART_AURAWIN_H_ 7 8 #include "base/compiler_specific.h" 9 #include "base/memory/scoped_ptr.h" 10 #include "chrome/browser/browser_process_platform_part_base.h" 11 #include "content/public/browser/notification_observer.h" 12 #include "content/public/browser/notification_registrar.h" 13 14 class ChromeMetroViewerProcessHost; 15 16 class BrowserProcessPlatformPart : public BrowserProcessPlatformPartBase, 17 public content::NotificationObserver { 18 public: 19 BrowserProcessPlatformPart(); 20 virtual ~BrowserProcessPlatformPart(); 21 22 // Invoked when the ASH metro viewer process on Windows 8 exits. 23 void OnMetroViewerProcessTerminated(); 24 25 // Overridden from BrowserProcessPlatformPartBase: 26 virtual void PlatformSpecificCommandLineProcessing( 27 const base::CommandLine& command_line) OVERRIDE; 28 29 // content::NotificationObserver method: 30 virtual void Observe(int type, 31 const content::NotificationSource& source, 32 const content::NotificationDetails& details) OVERRIDE; 33 34 private: 35 // Hosts the channel for the Windows 8 metro viewer process which runs in 36 // the ASH environment. 37 scoped_ptr<ChromeMetroViewerProcessHost> metro_viewer_process_host_; 38 39 content::NotificationRegistrar registrar_; 40 41 DISALLOW_COPY_AND_ASSIGN(BrowserProcessPlatformPart); 42 }; 43 44 #endif // CHROME_BROWSER_BROWSER_PROCESS_PLATFORM_PART_AURAWIN_H_ 45