feat: Add configurable CEF command line flags (#16)

## Summary
- Add CommandLineConfig struct for CEF command line switches
- Use direct struct initialization with optional helper methods
- Change default to secure: only use-mock-keychain enabled on macOS debug builds
- Add comprehensive documentation with usage examples

## Usage
```rust
use bevy_cef::prelude::*;

// Default (secure, includes use-mock-keychain on macOS debug)
app.add_plugins((DefaultPlugins, CefPlugin::default()));

// Add switches while preserving defaults (recommended)
app.add_plugins((
    DefaultPlugins,
    CefPlugin {
        command_line_config: CommandLineConfig::default()
            .with_switch("disable-gpu")
            .with_switch_value("remote-debugging-port", "9222"),
    },
));

// Full customization with direct initialization
app.add_plugins((
    DefaultPlugins,
    CefPlugin {
        command_line_config: CommandLineConfig {
            switches: vec!["disable-gpu"],
            switch_values: vec![("remote-debugging-port", "9222")],
        },
    },
));
```
This commit is contained in:
elm
2026-02-03 02:06:08 +09:00
committed by GitHub
parent 5be6380474
commit 12b29c1ffc
16 changed files with 99 additions and 19 deletions

View File

@@ -13,7 +13,7 @@ fn main() {
.add_plugins((
DefaultPlugins,
RemotePlugin::default().with_method("greet", greet),
CefPlugin,
CefPlugin::default(),
))
.add_systems(
Startup,

View File

@@ -12,7 +12,7 @@ fn main() {
App::new()
.add_plugins((
DefaultPlugins,
CefPlugin,
CefPlugin::default(),
WebviewExtendMaterialPlugin::<CustomExtension>::default(),
))
.add_systems(Startup, (spawn_camera, spawn_webview))

View File

@@ -10,7 +10,7 @@ use bevy_cef::prelude::*;
fn main() {
App::new()
.add_plugins((DefaultPlugins, CefPlugin))
.add_plugins((DefaultPlugins, CefPlugin::default()))
.add_systems(
Startup,
(spawn_camera, spawn_directional_light, spawn_webview),

View File

@@ -7,7 +7,7 @@ use std::time::Duration;
fn main() {
App::new()
.add_plugins((DefaultPlugins, CefPlugin))
.add_plugins((DefaultPlugins, CefPlugin::default()))
.add_systems(
Startup,
(spawn_camera, spawn_directional_light, spawn_webview),

View File

@@ -8,7 +8,7 @@ fn main() {
App::new()
.add_plugins((
DefaultPlugins,
CefPlugin,
CefPlugin::default(),
JsEmitEventPlugin::<Message>::default(),
))
.add_systems(

View File

@@ -11,7 +11,7 @@ use bevy_cef::prelude::*;
fn main() {
App::new()
.add_plugins((DefaultPlugins, CefPlugin))
.add_plugins((DefaultPlugins, CefPlugin::default()))
.add_systems(
Startup,
(spawn_camera, spawn_directional_light, spawn_webview),

View File

@@ -7,7 +7,7 @@ use bevy_cef::prelude::*;
fn main() {
App::new()
.add_plugins((DefaultPlugins, CefPlugin))
.add_plugins((DefaultPlugins, CefPlugin::default()))
.add_systems(
Startup,
(spawn_camera, spawn_directional_light, spawn_webview),

View File

@@ -5,7 +5,7 @@ use bevy_cef::prelude::*;
fn main() {
App::new()
.add_plugins((DefaultPlugins, CefPlugin))
.add_plugins((DefaultPlugins, CefPlugin::default()))
.add_systems(
Startup,
(spawn_camera, spawn_directional_light, spawn_webview),

View File

@@ -5,7 +5,7 @@ use bevy_cef::prelude::*;
fn main() {
App::new()
.add_plugins((DefaultPlugins, CefPlugin))
.add_plugins((DefaultPlugins, CefPlugin::default()))
.add_systems(Startup, (spawn_camera_2d, spawn_sprite_webview))
.run();
}

View File

@@ -6,7 +6,7 @@ use bevy_cef::prelude::*;
fn main() {
App::new()
.add_plugins((DefaultPlugins, CefPlugin))
.add_plugins((DefaultPlugins, CefPlugin::default()))
.add_systems(
Startup,
(spawn_camera, spawn_directional_light, spawn_webview),