|
@@ -10,7 +10,7 @@ use crate::{
|
|
|
config::WindowUrl,
|
|
|
rpc::{format_callback, format_callback_result},
|
|
|
},
|
|
|
- app::InvokeResponse,
|
|
|
+ app::{Icon, InvokeResponse},
|
|
|
ApplicationExt, WebviewBuilderExt,
|
|
|
};
|
|
|
|
|
@@ -246,7 +246,7 @@ pub(super) fn build_webview<A: ApplicationExt + 'static>(
|
|
|
content_url: &str,
|
|
|
window_labels: &[String],
|
|
|
plugin_initialization_script: &str,
|
|
|
- tauri_script: &str,
|
|
|
+ context: &Context,
|
|
|
) -> crate::Result<BuiltWebview<A>> {
|
|
|
// TODO let debug = cfg!(debug_assertions);
|
|
|
let webview_url = match &webview.url {
|
|
@@ -255,8 +255,8 @@ pub(super) fn build_webview<A: ApplicationExt + 'static>(
|
|
|
};
|
|
|
|
|
|
let (webview_builder, callbacks) = if webview.url == WindowUrl::App {
|
|
|
- let webview_builder = webview.builder.url(webview_url)
|
|
|
- .initialization_script(&initialization_script(plugin_initialization_script, tauri_script))
|
|
|
+ let mut webview_builder = webview.builder.url(webview_url)
|
|
|
+ .initialization_script(&initialization_script(plugin_initialization_script, &context.tauri_script))
|
|
|
.initialization_script(&format!(
|
|
|
r#"
|
|
|
window.__TAURI__.__windows = {window_labels_array}.map(function (label) {{ return {{ label: label }} }});
|
|
@@ -267,6 +267,12 @@ pub(super) fn build_webview<A: ApplicationExt + 'static>(
|
|
|
current_window_label = webview.label,
|
|
|
));
|
|
|
|
|
|
+ if !webview_builder.has_icon() {
|
|
|
+ if let Some(default_window_icon) = &context.default_window_icon {
|
|
|
+ webview_builder = webview_builder.icon(Icon::Raw(default_window_icon.to_vec()))?;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
let webview_manager_ = webview_manager.clone();
|
|
|
let tauri_invoke_handler = crate::Callback::<A::Dispatcher> {
|
|
|
name: "__TAURI_INVOKE_HANDLER__".to_string(),
|