feat: add custom CEF V8 extensions support (#17)
* feat: Register extensions in render process - Add CefExtensions type to hold V8 extension code - Pass extensions through BrowserProcessAppBuilder - Register extensions in RenderProcessHandler on WebKit initialization - Decode JSON extensions from command line switch - Prefix extension names with "v8/" per CEF convention - Include actual JSON in error messages for debugging l * feat: refactor window.cef API and register as CEF extension * fix: remove debug print statements in render process handler * refactor: centralize EXTENSIONS_SWITCH constant in util.rs * fmt * refactor: implement Default trait for CefApiHandler * docs: add documentation for CefApiHandler and its JavaScript API functions --------- Co-authored-by: not-elm <elmgameinfo@gmail.com>
This commit is contained in:
@@ -16,12 +16,12 @@ use crate::mute::AudioMutePlugin;
|
||||
use crate::prelude::{IpcPlugin, NavigationPlugin, WebviewPlugin};
|
||||
use crate::zoom::ZoomPlugin;
|
||||
use bevy::prelude::*;
|
||||
use bevy_cef_core::prelude::CommandLineConfig;
|
||||
use bevy_cef_core::prelude::{CefExtensions, CommandLineConfig};
|
||||
use bevy_remote::RemotePlugin;
|
||||
|
||||
pub mod prelude {
|
||||
pub use crate::{CefPlugin, RunOnMainThread, common::*, navigation::*, webview::prelude::*};
|
||||
pub use bevy_cef_core::prelude::CommandLineConfig;
|
||||
pub use bevy_cef_core::prelude::{CefExtensions, CommandLineConfig};
|
||||
}
|
||||
|
||||
pub struct RunOnMainThread;
|
||||
@@ -29,6 +29,7 @@ pub struct RunOnMainThread;
|
||||
#[derive(Debug, Default)]
|
||||
pub struct CefPlugin {
|
||||
pub command_line_config: CommandLineConfig,
|
||||
pub extensions: CefExtensions,
|
||||
}
|
||||
|
||||
impl Plugin for CefPlugin {
|
||||
@@ -37,6 +38,7 @@ impl Plugin for CefPlugin {
|
||||
LocalHostPlugin,
|
||||
MessageLoopPlugin {
|
||||
config: self.command_line_config.clone(),
|
||||
extensions: self.extensions.clone(),
|
||||
},
|
||||
WebviewCoreComponentsPlugin,
|
||||
WebviewPlugin,
|
||||
|
||||
Reference in New Issue
Block a user