// Copyright (c) 2013 GitHub, Inc. // Use of this source code is governed by the MIT license that can be // found in the LICENSE file. #ifndef ATOM_APP_ATOM_MAIN_DELEGATE_H_ #define ATOM_APP_ATOM_MAIN_DELEGATE_H_ #include "brightray/common/main_delegate.h" #include "brightray/common/content_client.h" namespace atom { class AtomMainDelegate : public brightray::MainDelegate { public: AtomMainDelegate(); ~AtomMainDelegate(); protected: // content::ContentMainDelegate: bool BasicStartupComplete(int* exit_code) override; void PreSandboxStartup() override; content::ContentBrowserClient* CreateContentBrowserClient() override; content::ContentRendererClient* CreateContentRendererClient() override; content::ContentUtilityClient* CreateContentUtilityClient() override; // brightray::MainDelegate: scoped_ptr CreateContentClient() override; #if defined(OS_MACOSX) void OverrideChildProcessPath() override; void OverrideFrameworkBundlePath() override; #endif private: #if defined(OS_MACOSX) void SetUpBundleOverrides(); #endif brightray::ContentClient content_client_; scoped_ptr browser_client_; scoped_ptr renderer_client_; scoped_ptr utility_client_; DISALLOW_COPY_AND_ASSIGN(AtomMainDelegate); }; } // namespace atom #endif // ATOM_APP_ATOM_MAIN_DELEGATE_H_