// Copyright (c) 2013 The Chromium Embedded Framework Authors. All rights // reserved. Use of this source code is governed by a BSD-style license that // can be found in the LICENSE file. #ifndef CEF_TESTS_CEFCLIENT_COMMON_CLIENT_APP_H_ #define CEF_TESTS_CEFCLIENT_COMMON_CLIENT_APP_H_ #pragma once #include #include "include/cef_app.h" namespace client { // Base class for customizing process-type-based behavior. class ClientApp : public CefApp { public: ClientApp(); enum ProcessType { BrowserProcess, RendererProcess, ZygoteProcess, OtherProcess, }; // Determine the process type based on command-line arguments. static ProcessType GetProcessType(CefRefPtr command_line); protected: // Schemes that will be registered with the global cookie manager. std::vector cookieable_schemes_; private: // Registers custom schemes. Implemented in client_app_delegates. static void RegisterCustomSchemes(CefRefPtr registrar, std::vector& cookiable_schemes); // CefApp methods. void OnRegisterCustomSchemes( CefRefPtr registrar) OVERRIDE; DISALLOW_COPY_AND_ASSIGN(ClientApp); }; } // namespace client #endif // CEF_TESTS_CEFCLIENT_COMMON_CLIENT_APP_H_