// Copyright 2014 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef UI_VIEWS_CONTENT_CLIENT_VIEWS_CONTENT_CLIENT_H_ #define UI_VIEWS_CONTENT_CLIENT_VIEWS_CONTENT_CLIENT_H_ #include <utility> #include "base/functional/callback.h" #include "base/memory/raw_ptr.h" #include "build/build_config.h" #include "ui/gfx/native_widget_types.h" #include "ui/views_content_client/views_content_client_export.h" namespace content { class BrowserContext; } namespace sandbox { struct SandboxInterfaceInfo; } namespace ui { // Creates a multiprocess views runtime for running an example application. // // Sample usage: // // void InitMyApp(content::BrowserContext* browser_context, // gfx::NativeWindow window_context) { // // Create desired windows and views here. Runs on the UI thread. // } // // #if BUILDFLAG(IS_WIN) // int APIENTRY wWinMain(HINSTANCE instance, HINSTANCE, wchar_t*, int) { // sandbox::SandboxInterfaceInfo sandbox_info = {nullptr}; // content::InitializeSandboxInfo(&sandbox_info); // ui::ViewsContentClient params(instance, &sandbox_info); // #else // int main(int argc, const char** argv) { // ui::ViewsContentClient params(argc, argv); // #endif // // params.set_on_pre_main_message_loop_run_callback( // base::BindOnce(&InitMyApp)); // return params.RunMain(); // } class VIEWS_CONTENT_CLIENT_EXPORT ViewsContentClient { … }; } // namespace ui #endif // UI_VIEWS_CONTENT_CLIENT_VIEWS_CONTENT_CLIENT_H_