mirror of
https://github.com/tauri-apps/tauri.git
synced 2026-04-01 10:01:07 +02:00
feat(tauri-runtime-wry): allow window creation and closing on the main thread (#2668)
This commit is contained in:
committed by
GitHub
parent
ac8e69a98c
commit
d24fd8d102
@@ -3,4 +3,4 @@
|
||||
"tauri-runtime-wry": patch
|
||||
---
|
||||
|
||||
Allow window, global shortcut and clipboard APIs to be called on the main thread (except window's `close` and `create_window`).
|
||||
Allow window, global shortcut and clipboard APIs to be called on the main thread.
|
||||
|
||||
@@ -92,6 +92,7 @@ use std::{
|
||||
convert::TryFrom,
|
||||
fmt,
|
||||
fs::read,
|
||||
ops::Deref,
|
||||
path::PathBuf,
|
||||
sync::{
|
||||
mpsc::{channel, Sender},
|
||||
@@ -117,6 +118,13 @@ pub type MenuEventHandler = Box<dyn Fn(&MenuEvent) + Send>;
|
||||
pub type MenuEventListeners = Arc<Mutex<HashMap<WindowId, WindowMenuEventListeners>>>;
|
||||
pub type WindowMenuEventListeners = Arc<Mutex<HashMap<Uuid, MenuEventHandler>>>;
|
||||
|
||||
macro_rules! getter {
|
||||
($self: ident, $rx: expr, $message: expr) => {{
|
||||
send_user_message(&$self.context, $message)?;
|
||||
$rx.recv().unwrap()
|
||||
}};
|
||||
}
|
||||
|
||||
macro_rules! window_getter {
|
||||
($self: ident, $message: expr) => {{
|
||||
let (tx, rx) = channel();
|
||||
@@ -124,45 +132,33 @@ macro_rules! window_getter {
|
||||
}};
|
||||
}
|
||||
|
||||
macro_rules! send_user_message {
|
||||
($self: ident, $message: expr) => {{
|
||||
if current_thread().id() == $self.context.main_thread_id {
|
||||
handle_user_message(
|
||||
&mut ControlFlow::Wait,
|
||||
None,
|
||||
$message,
|
||||
UserMessageContext {
|
||||
callback: None,
|
||||
window_event_listeners: &$self.context.window_event_listeners,
|
||||
global_shortcut_manager: $self.context.main_thread.global_shortcut_manager.clone(),
|
||||
clipboard_manager: $self.context.main_thread.clipboard_manager.clone(),
|
||||
menu_event_listeners: &$self.context.menu_event_listeners,
|
||||
windows: $self.context.main_thread.windows.clone(),
|
||||
#[cfg(feature = "system-tray")]
|
||||
tray_context: &$self.context.main_thread.tray_context,
|
||||
},
|
||||
&$self.context.main_thread.web_context,
|
||||
);
|
||||
Ok(())
|
||||
} else {
|
||||
$self
|
||||
.context
|
||||
.proxy
|
||||
.send_event($message)
|
||||
.map_err(|_| Error::FailedToSendMessage)
|
||||
}
|
||||
}};
|
||||
}
|
||||
|
||||
macro_rules! getter {
|
||||
($self: ident, $rx: expr, $message: expr) => {{
|
||||
send_user_message!($self, $message)?;
|
||||
$rx.recv().unwrap()
|
||||
}};
|
||||
fn send_user_message(context: &Context, message: Message) -> Result<()> {
|
||||
if current_thread().id() == context.main_thread_id {
|
||||
handle_user_message(
|
||||
&context.main_thread.window_target,
|
||||
message,
|
||||
UserMessageContext {
|
||||
window_event_listeners: &context.window_event_listeners,
|
||||
global_shortcut_manager: context.main_thread.global_shortcut_manager.clone(),
|
||||
clipboard_manager: context.main_thread.clipboard_manager.clone(),
|
||||
menu_event_listeners: &context.menu_event_listeners,
|
||||
windows: context.main_thread.windows.clone(),
|
||||
#[cfg(feature = "system-tray")]
|
||||
tray_context: &context.main_thread.tray_context,
|
||||
},
|
||||
&context.main_thread.web_context,
|
||||
);
|
||||
Ok(())
|
||||
} else {
|
||||
context
|
||||
.proxy
|
||||
.send_event(message)
|
||||
.map_err(|_| Error::FailedToSendMessage)
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Clone)]
|
||||
struct EventLoopContext {
|
||||
struct Context {
|
||||
main_thread_id: ThreadId,
|
||||
proxy: EventLoopProxy<Message>,
|
||||
window_event_listeners: WindowEventListeners,
|
||||
@@ -170,9 +166,23 @@ struct EventLoopContext {
|
||||
main_thread: DispatcherMainThreadContext,
|
||||
}
|
||||
|
||||
impl fmt::Debug for EventLoopContext {
|
||||
#[derive(Debug, Clone)]
|
||||
struct DispatcherMainThreadContext {
|
||||
window_target: EventLoopWindowTarget<Message>,
|
||||
web_context: WebContextStore,
|
||||
global_shortcut_manager: Arc<Mutex<WryShortcutManager>>,
|
||||
clipboard_manager: Arc<Mutex<Clipboard>>,
|
||||
windows: Arc<Mutex<HashMap<WindowId, WindowWrapper>>>,
|
||||
#[cfg(feature = "system-tray")]
|
||||
tray_context: TrayContext,
|
||||
}
|
||||
|
||||
// the main thread context is only used on the main thread
|
||||
unsafe impl Send for DispatcherMainThreadContext {}
|
||||
|
||||
impl fmt::Debug for Context {
|
||||
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
|
||||
f.debug_struct("EventLoopContext")
|
||||
f.debug_struct("Context")
|
||||
.field("main_thread_id", &self.main_thread_id)
|
||||
.field("proxy", &self.proxy)
|
||||
.field("main_thread", &self.main_thread)
|
||||
@@ -372,7 +382,7 @@ unsafe impl Send for GlobalShortcutWrapper {}
|
||||
/// Wrapper around [`WryShortcutManager`].
|
||||
#[derive(Clone)]
|
||||
pub struct GlobalShortcutManagerHandle {
|
||||
context: EventLoopContext,
|
||||
context: Context,
|
||||
shortcuts: Arc<Mutex<HashMap<String, (AcceleratorId, GlobalShortcutWrapper)>>>,
|
||||
listeners: GlobalShortcutListeners,
|
||||
}
|
||||
@@ -447,7 +457,7 @@ impl GlobalShortcutManager for GlobalShortcutManagerHandle {
|
||||
|
||||
#[derive(Debug, Clone)]
|
||||
pub struct ClipboardManagerWrapper {
|
||||
context: EventLoopContext,
|
||||
context: Context,
|
||||
}
|
||||
|
||||
impl ClipboardManager for ClipboardManagerWrapper {
|
||||
@@ -1005,34 +1015,17 @@ pub enum Message {
|
||||
Clipboard(ClipboardMessage),
|
||||
}
|
||||
|
||||
#[derive(Clone)]
|
||||
struct DispatcherContext {
|
||||
main_thread_id: ThreadId,
|
||||
proxy: EventLoopProxy<Message>,
|
||||
window_event_listeners: WindowEventListeners,
|
||||
menu_event_listeners: MenuEventListeners,
|
||||
main_thread: DispatcherMainThreadContext,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone)]
|
||||
struct DispatcherMainThreadContext {
|
||||
web_context: WebContextStore,
|
||||
global_shortcut_manager: Arc<Mutex<WryShortcutManager>>,
|
||||
clipboard_manager: Arc<Mutex<Clipboard>>,
|
||||
windows: Arc<Mutex<HashMap<WindowId, WindowWrapper>>>,
|
||||
#[cfg(feature = "system-tray")]
|
||||
tray_context: TrayContext,
|
||||
}
|
||||
|
||||
// the main thread context is only used on the main thread
|
||||
unsafe impl Send for DispatcherMainThreadContext {}
|
||||
|
||||
impl fmt::Debug for DispatcherContext {
|
||||
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
|
||||
f.debug_struct("DispatcherContext")
|
||||
.field("main_thread_id", &self.main_thread_id)
|
||||
.field("proxy", &self.proxy)
|
||||
.finish()
|
||||
impl Clone for Message {
|
||||
fn clone(&self) -> Self {
|
||||
match self {
|
||||
Self::Window(i, m) => Self::Window(*i, m.clone()),
|
||||
Self::Webview(i, m) => Self::Webview(*i, m.clone()),
|
||||
#[cfg(feature = "system-tray")]
|
||||
Self::Tray(m) => Self::Tray(m.clone()),
|
||||
Self::GlobalShortcut(m) => Self::GlobalShortcut(m.clone()),
|
||||
Self::Clipboard(m) => Self::Clipboard(m.clone()),
|
||||
_ => unimplemented!(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1040,7 +1033,7 @@ impl fmt::Debug for DispatcherContext {
|
||||
#[derive(Debug, Clone)]
|
||||
pub struct WryDispatcher {
|
||||
window_id: WindowId,
|
||||
context: DispatcherContext,
|
||||
context: Context,
|
||||
}
|
||||
|
||||
impl Dispatch for WryDispatcher {
|
||||
@@ -1048,7 +1041,7 @@ impl Dispatch for WryDispatcher {
|
||||
type WindowBuilder = WindowBuilderWrapper;
|
||||
|
||||
fn run_on_main_thread<F: FnOnce() + Send + 'static>(&self, f: F) -> Result<()> {
|
||||
send_user_message!(self, Message::Task(Box::new(f)))
|
||||
send_user_message(&self.context, Message::Task(Box::new(f)))
|
||||
}
|
||||
|
||||
fn on_window_event<F: Fn(&WindowEvent) + Send + 'static>(&self, f: F) -> Uuid {
|
||||
@@ -1175,19 +1168,19 @@ impl Dispatch for WryDispatcher {
|
||||
}
|
||||
|
||||
fn print(&self) -> Result<()> {
|
||||
send_user_message!(
|
||||
self,
|
||||
Message::Webview(self.window_id, WebviewMessage::Print)
|
||||
send_user_message(
|
||||
&self.context,
|
||||
Message::Webview(self.window_id, WebviewMessage::Print),
|
||||
)
|
||||
}
|
||||
|
||||
fn request_user_attention(&self, request_type: Option<UserAttentionType>) -> Result<()> {
|
||||
send_user_message!(
|
||||
self,
|
||||
send_user_message(
|
||||
&self.context,
|
||||
Message::Window(
|
||||
self.window_id,
|
||||
WindowMessage::RequestUserAttention(request_type.map(Into::into)),
|
||||
)
|
||||
),
|
||||
)
|
||||
}
|
||||
|
||||
@@ -1197,24 +1190,19 @@ impl Dispatch for WryDispatcher {
|
||||
&mut self,
|
||||
pending: PendingWindow<Self::Runtime>,
|
||||
) -> Result<DetachedWindow<Self::Runtime>> {
|
||||
if current_thread().id() == self.context.main_thread_id {
|
||||
panic!("This API cannot be called on the main thread. Try using `std::thread::spawn` or `tauri::async_runtime::spawn`.");
|
||||
}
|
||||
|
||||
let (tx, rx) = channel();
|
||||
let label = pending.label.clone();
|
||||
let context = self.context.clone();
|
||||
|
||||
self
|
||||
.context
|
||||
.proxy
|
||||
.send_event(Message::CreateWebview(
|
||||
send_user_message(
|
||||
&self.context,
|
||||
Message::CreateWebview(
|
||||
Box::new(move |event_loop, web_context| {
|
||||
create_webview(event_loop, web_context, context, pending)
|
||||
}),
|
||||
tx,
|
||||
))
|
||||
.map_err(|_| Error::FailedToSendMessage)?;
|
||||
),
|
||||
)?;
|
||||
let window_id = rx.recv().unwrap();
|
||||
|
||||
let dispatcher = WryDispatcher {
|
||||
@@ -1225,73 +1213,77 @@ impl Dispatch for WryDispatcher {
|
||||
}
|
||||
|
||||
fn set_resizable(&self, resizable: bool) -> Result<()> {
|
||||
send_user_message!(
|
||||
self,
|
||||
Message::Window(self.window_id, WindowMessage::SetResizable(resizable),)
|
||||
send_user_message(
|
||||
&self.context,
|
||||
Message::Window(self.window_id, WindowMessage::SetResizable(resizable)),
|
||||
)
|
||||
}
|
||||
|
||||
fn set_title<S: Into<String>>(&self, title: S) -> Result<()> {
|
||||
send_user_message!(
|
||||
self,
|
||||
Message::Window(self.window_id, WindowMessage::SetTitle(title.into()),)
|
||||
send_user_message(
|
||||
&self.context,
|
||||
Message::Window(self.window_id, WindowMessage::SetTitle(title.into())),
|
||||
)
|
||||
}
|
||||
|
||||
fn maximize(&self) -> Result<()> {
|
||||
send_user_message!(
|
||||
self,
|
||||
Message::Window(self.window_id, WindowMessage::Maximize)
|
||||
send_user_message(
|
||||
&self.context,
|
||||
Message::Window(self.window_id, WindowMessage::Maximize),
|
||||
)
|
||||
}
|
||||
|
||||
fn unmaximize(&self) -> Result<()> {
|
||||
send_user_message!(
|
||||
self,
|
||||
Message::Window(self.window_id, WindowMessage::Unmaximize)
|
||||
send_user_message(
|
||||
&self.context,
|
||||
Message::Window(self.window_id, WindowMessage::Unmaximize),
|
||||
)
|
||||
}
|
||||
|
||||
fn minimize(&self) -> Result<()> {
|
||||
send_user_message!(
|
||||
self,
|
||||
Message::Window(self.window_id, WindowMessage::Minimize)
|
||||
send_user_message(
|
||||
&self.context,
|
||||
Message::Window(self.window_id, WindowMessage::Minimize),
|
||||
)
|
||||
}
|
||||
|
||||
fn unminimize(&self) -> Result<()> {
|
||||
send_user_message!(
|
||||
self,
|
||||
Message::Window(self.window_id, WindowMessage::Unminimize)
|
||||
send_user_message(
|
||||
&self.context,
|
||||
Message::Window(self.window_id, WindowMessage::Unminimize),
|
||||
)
|
||||
}
|
||||
|
||||
fn show_menu(&self) -> Result<()> {
|
||||
send_user_message!(
|
||||
self,
|
||||
Message::Window(self.window_id, WindowMessage::ShowMenu)
|
||||
send_user_message(
|
||||
&self.context,
|
||||
Message::Window(self.window_id, WindowMessage::ShowMenu),
|
||||
)
|
||||
}
|
||||
|
||||
fn hide_menu(&self) -> Result<()> {
|
||||
send_user_message!(
|
||||
self,
|
||||
Message::Window(self.window_id, WindowMessage::HideMenu)
|
||||
send_user_message(
|
||||
&self.context,
|
||||
Message::Window(self.window_id, WindowMessage::HideMenu),
|
||||
)
|
||||
}
|
||||
|
||||
fn show(&self) -> Result<()> {
|
||||
send_user_message!(self, Message::Window(self.window_id, WindowMessage::Show))
|
||||
send_user_message(
|
||||
&self.context,
|
||||
Message::Window(self.window_id, WindowMessage::Show),
|
||||
)
|
||||
}
|
||||
|
||||
fn hide(&self) -> Result<()> {
|
||||
send_user_message!(self, Message::Window(self.window_id, WindowMessage::Hide))
|
||||
send_user_message(
|
||||
&self.context,
|
||||
Message::Window(self.window_id, WindowMessage::Hide),
|
||||
)
|
||||
}
|
||||
|
||||
fn close(&self) -> Result<()> {
|
||||
if current_thread().id() == self.context.main_thread_id {
|
||||
panic!("This API cannot be called on the main thread. Try using `std::thread::spawn` or `tauri::async_runtime::spawn`.");
|
||||
}
|
||||
// NOTE: close cannot use the `send_user_message` function because it accesses the event loop callback
|
||||
self
|
||||
.context
|
||||
.proxy
|
||||
@@ -1300,99 +1292,99 @@ impl Dispatch for WryDispatcher {
|
||||
}
|
||||
|
||||
fn set_decorations(&self, decorations: bool) -> Result<()> {
|
||||
send_user_message!(
|
||||
self,
|
||||
Message::Window(self.window_id, WindowMessage::SetDecorations(decorations),)
|
||||
send_user_message(
|
||||
&self.context,
|
||||
Message::Window(self.window_id, WindowMessage::SetDecorations(decorations)),
|
||||
)
|
||||
}
|
||||
|
||||
fn set_always_on_top(&self, always_on_top: bool) -> Result<()> {
|
||||
send_user_message!(
|
||||
self,
|
||||
Message::Window(self.window_id, WindowMessage::SetAlwaysOnTop(always_on_top),)
|
||||
send_user_message(
|
||||
&self.context,
|
||||
Message::Window(self.window_id, WindowMessage::SetAlwaysOnTop(always_on_top)),
|
||||
)
|
||||
}
|
||||
|
||||
fn set_size(&self, size: Size) -> Result<()> {
|
||||
send_user_message!(
|
||||
self,
|
||||
Message::Window(self.window_id, WindowMessage::SetSize(size),)
|
||||
send_user_message(
|
||||
&self.context,
|
||||
Message::Window(self.window_id, WindowMessage::SetSize(size)),
|
||||
)
|
||||
}
|
||||
|
||||
fn set_min_size(&self, size: Option<Size>) -> Result<()> {
|
||||
send_user_message!(
|
||||
self,
|
||||
Message::Window(self.window_id, WindowMessage::SetMinSize(size),)
|
||||
send_user_message(
|
||||
&self.context,
|
||||
Message::Window(self.window_id, WindowMessage::SetMinSize(size)),
|
||||
)
|
||||
}
|
||||
|
||||
fn set_max_size(&self, size: Option<Size>) -> Result<()> {
|
||||
send_user_message!(
|
||||
self,
|
||||
Message::Window(self.window_id, WindowMessage::SetMaxSize(size),)
|
||||
send_user_message(
|
||||
&self.context,
|
||||
Message::Window(self.window_id, WindowMessage::SetMaxSize(size)),
|
||||
)
|
||||
}
|
||||
|
||||
fn set_position(&self, position: Position) -> Result<()> {
|
||||
send_user_message!(
|
||||
self,
|
||||
Message::Window(self.window_id, WindowMessage::SetPosition(position),)
|
||||
send_user_message(
|
||||
&self.context,
|
||||
Message::Window(self.window_id, WindowMessage::SetPosition(position)),
|
||||
)
|
||||
}
|
||||
|
||||
fn set_fullscreen(&self, fullscreen: bool) -> Result<()> {
|
||||
send_user_message!(
|
||||
self,
|
||||
Message::Window(self.window_id, WindowMessage::SetFullscreen(fullscreen),)
|
||||
send_user_message(
|
||||
&self.context,
|
||||
Message::Window(self.window_id, WindowMessage::SetFullscreen(fullscreen)),
|
||||
)
|
||||
}
|
||||
|
||||
fn set_focus(&self) -> Result<()> {
|
||||
send_user_message!(
|
||||
self,
|
||||
Message::Window(self.window_id, WindowMessage::SetFocus)
|
||||
send_user_message(
|
||||
&self.context,
|
||||
Message::Window(self.window_id, WindowMessage::SetFocus),
|
||||
)
|
||||
}
|
||||
|
||||
fn set_icon(&self, icon: Icon) -> Result<()> {
|
||||
send_user_message!(
|
||||
self,
|
||||
send_user_message(
|
||||
&self.context,
|
||||
Message::Window(
|
||||
self.window_id,
|
||||
WindowMessage::SetIcon(WryIcon::try_from(icon)?.0),
|
||||
)
|
||||
),
|
||||
)
|
||||
}
|
||||
|
||||
fn set_skip_taskbar(&self, skip: bool) -> Result<()> {
|
||||
send_user_message!(
|
||||
self,
|
||||
Message::Window(self.window_id, WindowMessage::SetSkipTaskbar(skip),)
|
||||
send_user_message(
|
||||
&self.context,
|
||||
Message::Window(self.window_id, WindowMessage::SetSkipTaskbar(skip)),
|
||||
)
|
||||
}
|
||||
|
||||
fn start_dragging(&self) -> Result<()> {
|
||||
send_user_message!(
|
||||
self,
|
||||
Message::Window(self.window_id, WindowMessage::DragWindow)
|
||||
send_user_message(
|
||||
&self.context,
|
||||
Message::Window(self.window_id, WindowMessage::DragWindow),
|
||||
)
|
||||
}
|
||||
|
||||
fn eval_script<S: Into<String>>(&self, script: S) -> Result<()> {
|
||||
send_user_message!(
|
||||
self,
|
||||
send_user_message(
|
||||
&self.context,
|
||||
Message::Webview(
|
||||
self.window_id,
|
||||
WebviewMessage::EvaluateScript(script.into()),
|
||||
)
|
||||
),
|
||||
)
|
||||
}
|
||||
|
||||
fn update_menu_item(&self, id: u16, update: MenuUpdate) -> Result<()> {
|
||||
send_user_message!(
|
||||
self,
|
||||
Message::Window(self.window_id, WindowMessage::UpdateMenuItem(id, update),)
|
||||
send_user_message(
|
||||
&self.context,
|
||||
Message::Window(self.window_id, WindowMessage::UpdateMenuItem(id, update)),
|
||||
)
|
||||
}
|
||||
}
|
||||
@@ -1460,7 +1452,7 @@ pub struct Wry {
|
||||
/// A handle to the Wry runtime.
|
||||
#[derive(Debug, Clone)]
|
||||
pub struct WryHandle {
|
||||
dispatcher_context: DispatcherContext,
|
||||
context: Context,
|
||||
}
|
||||
|
||||
impl WryHandle {
|
||||
@@ -1469,22 +1461,15 @@ impl WryHandle {
|
||||
&self,
|
||||
f: F,
|
||||
) -> Result<Weak<Window>> {
|
||||
if current_thread().id() == self.dispatcher_context.main_thread_id {
|
||||
panic!("This API cannot be called on the main thread. Try using `std::thread::spawn` or `tauri::async_runtime::spawn`.");
|
||||
}
|
||||
let (tx, rx) = channel();
|
||||
self
|
||||
.dispatcher_context
|
||||
.proxy
|
||||
.send_event(Message::CreateWindow(Box::new(f), tx))
|
||||
.map_err(|_| Error::FailedToSendMessage)?;
|
||||
send_user_message(&self.context, Message::CreateWindow(Box::new(f), tx))?;
|
||||
rx.recv().unwrap()
|
||||
}
|
||||
|
||||
/// Send a message to the event loop.
|
||||
pub fn send_event(&self, message: Message) -> Result<()> {
|
||||
self
|
||||
.dispatcher_context
|
||||
.context
|
||||
.proxy
|
||||
.send_event(message)
|
||||
.map_err(|_| Error::FailedToSendMessage)?;
|
||||
@@ -1503,22 +1488,21 @@ impl RuntimeHandle for WryHandle {
|
||||
) -> Result<DetachedWindow<Self::Runtime>> {
|
||||
let (tx, rx) = channel();
|
||||
let label = pending.label.clone();
|
||||
let dispatcher_context = self.dispatcher_context.clone();
|
||||
self
|
||||
.dispatcher_context
|
||||
.proxy
|
||||
.send_event(Message::CreateWebview(
|
||||
let context = self.context.clone();
|
||||
send_user_message(
|
||||
&self.context,
|
||||
Message::CreateWebview(
|
||||
Box::new(move |event_loop, web_context| {
|
||||
create_webview(event_loop, web_context, dispatcher_context, pending)
|
||||
create_webview(event_loop, web_context, context, pending)
|
||||
}),
|
||||
tx,
|
||||
))
|
||||
.map_err(|_| Error::FailedToSendMessage)?;
|
||||
),
|
||||
)?;
|
||||
let window_id = rx.recv().unwrap();
|
||||
|
||||
let dispatcher = WryDispatcher {
|
||||
window_id,
|
||||
context: self.dispatcher_context.clone(),
|
||||
context: self.context.clone(),
|
||||
};
|
||||
Ok(DetachedWindow { label, dispatcher })
|
||||
}
|
||||
@@ -1552,12 +1536,13 @@ impl Runtime for Wry {
|
||||
#[cfg(feature = "system-tray")]
|
||||
let tray_context = TrayContext::default();
|
||||
|
||||
let event_loop_context = EventLoopContext {
|
||||
let event_loop_context = Context {
|
||||
main_thread_id,
|
||||
proxy,
|
||||
window_event_listeners: window_event_listeners.clone(),
|
||||
menu_event_listeners: menu_event_listeners.clone(),
|
||||
main_thread: DispatcherMainThreadContext {
|
||||
window_target: event_loop.deref().clone(),
|
||||
web_context: web_context.clone(),
|
||||
global_shortcut_manager: global_shortcut_manager.clone(),
|
||||
clipboard_manager: clipboard_manager.clone(),
|
||||
@@ -1594,12 +1579,13 @@ impl Runtime for Wry {
|
||||
|
||||
fn handle(&self) -> Self::Handle {
|
||||
WryHandle {
|
||||
dispatcher_context: DispatcherContext {
|
||||
context: Context {
|
||||
main_thread_id: self.main_thread_id,
|
||||
proxy: self.event_loop.create_proxy(),
|
||||
window_event_listeners: self.window_event_listeners.clone(),
|
||||
menu_event_listeners: self.menu_event_listeners.clone(),
|
||||
main_thread: DispatcherMainThreadContext {
|
||||
window_target: self.event_loop.deref().clone(),
|
||||
web_context: self.web_context.clone(),
|
||||
global_shortcut_manager: self.global_shortcut_manager.clone(),
|
||||
clipboard_manager: self.clipboard_manager.clone(),
|
||||
@@ -1625,12 +1611,13 @@ impl Runtime for Wry {
|
||||
let webview = create_webview(
|
||||
&self.event_loop,
|
||||
&self.web_context,
|
||||
DispatcherContext {
|
||||
Context {
|
||||
main_thread_id: self.main_thread_id,
|
||||
proxy: proxy.clone(),
|
||||
window_event_listeners: self.window_event_listeners.clone(),
|
||||
menu_event_listeners: self.menu_event_listeners.clone(),
|
||||
main_thread: DispatcherMainThreadContext {
|
||||
window_target: self.event_loop.deref().clone(),
|
||||
web_context: self.web_context.clone(),
|
||||
global_shortcut_manager: self.global_shortcut_manager.clone(),
|
||||
clipboard_manager: self.clipboard_manager.clone(),
|
||||
@@ -1682,12 +1669,13 @@ impl Runtime for Wry {
|
||||
|
||||
let dispatcher = WryDispatcher {
|
||||
window_id: webview.inner.window().id(),
|
||||
context: DispatcherContext {
|
||||
context: Context {
|
||||
main_thread_id: self.main_thread_id,
|
||||
proxy,
|
||||
window_event_listeners: self.window_event_listeners.clone(),
|
||||
menu_event_listeners: self.menu_event_listeners.clone(),
|
||||
main_thread: DispatcherMainThreadContext {
|
||||
window_target: self.event_loop.deref().clone(),
|
||||
web_context: self.web_context.clone(),
|
||||
global_shortcut_manager: self.global_shortcut_manager.clone(),
|
||||
clipboard_manager: self.clipboard_manager.clone(),
|
||||
@@ -1858,7 +1846,6 @@ struct EventLoopIterationContext<'a> {
|
||||
}
|
||||
|
||||
struct UserMessageContext<'a> {
|
||||
callback: Option<&'a mut (dyn FnMut(RunEvent) + 'static)>,
|
||||
window_event_listeners: &'a WindowEventListeners,
|
||||
global_shortcut_manager: Arc<Mutex<WryShortcutManager>>,
|
||||
clipboard_manager: Arc<Mutex<Clipboard>>,
|
||||
@@ -1869,14 +1856,12 @@ struct UserMessageContext<'a> {
|
||||
}
|
||||
|
||||
fn handle_user_message(
|
||||
control_flow: &mut ControlFlow,
|
||||
event_loop: Option<&EventLoopWindowTarget<Message>>,
|
||||
event_loop: &EventLoopWindowTarget<Message>,
|
||||
message: Message,
|
||||
context: UserMessageContext<'_>,
|
||||
web_context: &WebContextStore,
|
||||
) -> RunIteration {
|
||||
let UserMessageContext {
|
||||
callback,
|
||||
window_event_listeners,
|
||||
menu_event_listeners,
|
||||
global_shortcut_manager,
|
||||
@@ -1959,19 +1944,7 @@ fn handle_user_message(
|
||||
WindowMessage::HideMenu => window.hide_menu(),
|
||||
WindowMessage::Show => window.set_visible(true),
|
||||
WindowMessage::Hide => window.set_visible(false),
|
||||
WindowMessage::Close => {
|
||||
if let Some(callback) = callback {
|
||||
on_window_close(
|
||||
callback,
|
||||
id,
|
||||
windows.lock().expect("poisoned webview collection"),
|
||||
control_flow,
|
||||
#[cfg(target_os = "linux")]
|
||||
window_event_listeners,
|
||||
menu_event_listeners.clone(),
|
||||
);
|
||||
}
|
||||
}
|
||||
WindowMessage::Close => panic!("cannot handle `WindowMessage::Close` on the main thread"),
|
||||
WindowMessage::SetDecorations(decorations) => window.set_decorations(decorations),
|
||||
WindowMessage::SetAlwaysOnTop(always_on_top) => window.set_always_on_top(always_on_top),
|
||||
WindowMessage::SetSize(size) => {
|
||||
@@ -2063,55 +2036,47 @@ fn handle_user_message(
|
||||
}
|
||||
}
|
||||
},
|
||||
Message::CreateWebview(handler, sender) => {
|
||||
if let Some(event_loop) = event_loop {
|
||||
match handler(event_loop, web_context) {
|
||||
Ok(webview) => {
|
||||
let window_id = webview.inner.window().id();
|
||||
windows
|
||||
.lock()
|
||||
.expect("poisoned webview collection")
|
||||
.insert(window_id, webview);
|
||||
sender.send(window_id).unwrap();
|
||||
}
|
||||
Err(e) => {
|
||||
eprintln!("{}", e);
|
||||
}
|
||||
}
|
||||
Message::CreateWebview(handler, sender) => match handler(event_loop, web_context) {
|
||||
Ok(webview) => {
|
||||
let window_id = webview.inner.window().id();
|
||||
windows
|
||||
.lock()
|
||||
.expect("poisoned webview collection")
|
||||
.insert(window_id, webview);
|
||||
sender.send(window_id).unwrap();
|
||||
}
|
||||
}
|
||||
Err(e) => {
|
||||
eprintln!("{}", e);
|
||||
}
|
||||
},
|
||||
Message::CreateWindow(handler, sender) => {
|
||||
if let Some(event_loop) = event_loop {
|
||||
let (label, builder) = handler();
|
||||
if let Ok(window) = builder.build(event_loop) {
|
||||
let window_id = window.id();
|
||||
let (label, builder) = handler();
|
||||
if let Ok(window) = builder.build(event_loop) {
|
||||
let window_id = window.id();
|
||||
|
||||
context
|
||||
.window_event_listeners
|
||||
.lock()
|
||||
.unwrap()
|
||||
.insert(window.id(), WindowEventListenersMap::default());
|
||||
window_event_listeners
|
||||
.lock()
|
||||
.unwrap()
|
||||
.insert(window.id(), WindowEventListenersMap::default());
|
||||
|
||||
context
|
||||
.menu_event_listeners
|
||||
.lock()
|
||||
.unwrap()
|
||||
.insert(window.id(), WindowMenuEventListeners::default());
|
||||
menu_event_listeners
|
||||
.lock()
|
||||
.unwrap()
|
||||
.insert(window.id(), WindowMenuEventListeners::default());
|
||||
|
||||
let w = Arc::new(window);
|
||||
let w = Arc::new(window);
|
||||
|
||||
windows.lock().expect("poisoned webview collection").insert(
|
||||
window_id,
|
||||
WindowWrapper {
|
||||
label,
|
||||
inner: WindowHandle::Window(w.clone()),
|
||||
menu_items: Default::default(),
|
||||
},
|
||||
);
|
||||
sender.send(Ok(Arc::downgrade(&w))).unwrap();
|
||||
} else {
|
||||
sender.send(Err(Error::CreateWindow)).unwrap();
|
||||
}
|
||||
windows.lock().expect("poisoned webview collection").insert(
|
||||
window_id,
|
||||
WindowWrapper {
|
||||
label,
|
||||
inner: WindowHandle::Window(w.clone()),
|
||||
menu_items: Default::default(),
|
||||
},
|
||||
);
|
||||
sender.send(Ok(Arc::downgrade(&w))).unwrap();
|
||||
} else {
|
||||
sender.send(Err(Error::CreateWindow)).unwrap();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2361,22 +2326,32 @@ fn handle_event_loop(
|
||||
}
|
||||
}
|
||||
Event::UserEvent(message) => {
|
||||
return handle_user_message(
|
||||
control_flow,
|
||||
Some(event_loop),
|
||||
message,
|
||||
UserMessageContext {
|
||||
callback: Some(callback),
|
||||
if let Message::Window(id, WindowMessage::Close) = message {
|
||||
on_window_close(
|
||||
callback,
|
||||
id,
|
||||
windows.lock().expect("poisoned webview collection"),
|
||||
control_flow,
|
||||
#[cfg(target_os = "linux")]
|
||||
window_event_listeners,
|
||||
global_shortcut_manager,
|
||||
clipboard_manager,
|
||||
menu_event_listeners,
|
||||
windows,
|
||||
#[cfg(feature = "system-tray")]
|
||||
tray_context,
|
||||
},
|
||||
web_context,
|
||||
)
|
||||
menu_event_listeners.clone(),
|
||||
);
|
||||
} else {
|
||||
return handle_user_message(
|
||||
event_loop,
|
||||
message,
|
||||
UserMessageContext {
|
||||
window_event_listeners,
|
||||
global_shortcut_manager,
|
||||
clipboard_manager,
|
||||
menu_event_listeners,
|
||||
windows,
|
||||
#[cfg(feature = "system-tray")]
|
||||
tray_context,
|
||||
},
|
||||
web_context,
|
||||
);
|
||||
}
|
||||
}
|
||||
_ => (),
|
||||
}
|
||||
@@ -2515,7 +2490,7 @@ fn to_wry_menu(
|
||||
fn create_webview(
|
||||
event_loop: &EventLoopWindowTarget<Message>,
|
||||
web_context: &WebContextStore,
|
||||
context: DispatcherContext,
|
||||
context: Context,
|
||||
pending: PendingWindow<Wry>,
|
||||
) -> Result<WindowWrapper> {
|
||||
#[allow(unused_mut)]
|
||||
@@ -2617,7 +2592,7 @@ fn create_webview(
|
||||
|
||||
/// Create a wry rpc handler from a tauri rpc handler.
|
||||
fn create_rpc_handler(
|
||||
context: DispatcherContext,
|
||||
context: Context,
|
||||
label: String,
|
||||
handler: WebviewRpcHandler<Wry>,
|
||||
) -> Box<dyn Fn(&Window, WryRpcRequest) -> Option<RpcResponse> + 'static> {
|
||||
@@ -2638,7 +2613,7 @@ fn create_rpc_handler(
|
||||
|
||||
/// Create a wry file drop handler from a tauri file drop handler.
|
||||
fn create_file_drop_handler(
|
||||
context: DispatcherContext,
|
||||
context: Context,
|
||||
label: String,
|
||||
handler: FileDropHandler<Wry>,
|
||||
) -> Box<dyn Fn(&Window, WryFileDropEvent) -> bool + 'static> {
|
||||
|
||||
@@ -324,13 +324,6 @@ macro_rules! shared_app_impl {
|
||||
($app: ty) => {
|
||||
impl<R: Runtime> $app {
|
||||
/// Creates a new webview window.
|
||||
///
|
||||
/// # Panics
|
||||
///
|
||||
/// - Panics if the event loop is not running yet, usually when called on the [`setup`](crate::Builder#method.setup) closure.
|
||||
/// - Panics when called on the main thread, usually on the [`run`](crate::App#method.run) closure.
|
||||
///
|
||||
/// You can spawn a task to use the API using [`crate::async_runtime::spawn`] or [`std::thread::spawn`] to prevent the panic.
|
||||
pub fn create_window<F>(
|
||||
&self,
|
||||
label: impl Into<String>,
|
||||
|
||||
@@ -155,13 +155,6 @@ impl<R: Runtime> Window<R> {
|
||||
}
|
||||
|
||||
/// Creates a new webview window.
|
||||
///
|
||||
/// # Panics
|
||||
///
|
||||
/// - Panics if the event loop is not running yet, usually when called on the [`setup`](crate::Builder#method.setup) closure.
|
||||
/// - Panics when called on the main thread, usually on the [`run`](crate::App#method.run) closure.
|
||||
///
|
||||
/// You can spawn a task to use the API using [`crate::async_runtime::spawn`] or [`std::thread::spawn`] to prevent the panic.
|
||||
pub fn create_window<F>(
|
||||
&mut self,
|
||||
label: String,
|
||||
|
||||
87
examples/api/src-tauri/Cargo.lock
generated
87
examples/api/src-tauri/Cargo.lock
generated
@@ -359,7 +359,7 @@ dependencies = [
|
||||
"proc-macro-error",
|
||||
"proc-macro2",
|
||||
"quote 1.0.9",
|
||||
"syn 1.0.76",
|
||||
"syn 1.0.77",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -569,7 +569,7 @@ dependencies = [
|
||||
"proc-macro2",
|
||||
"quote 1.0.9",
|
||||
"smallvec",
|
||||
"syn 1.0.76",
|
||||
"syn 1.0.77",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -579,7 +579,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "dfae75de57f2b2e85e8768c3ea840fd159c8f33e2b6522c7835b7abac81be16e"
|
||||
dependencies = [
|
||||
"quote 1.0.9",
|
||||
"syn 1.0.76",
|
||||
"syn 1.0.77",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -603,7 +603,7 @@ dependencies = [
|
||||
"proc-macro2",
|
||||
"quote 1.0.9",
|
||||
"strsim 0.9.3",
|
||||
"syn 1.0.76",
|
||||
"syn 1.0.77",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -614,7 +614,7 @@ checksum = "d9b5a2f4ac4969822c62224815d069952656cadc7084fdca9751e6d959189b72"
|
||||
dependencies = [
|
||||
"darling_core",
|
||||
"quote 1.0.9",
|
||||
"syn 1.0.76",
|
||||
"syn 1.0.77",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -645,7 +645,7 @@ checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote 1.0.9",
|
||||
"syn 1.0.76",
|
||||
"syn 1.0.77",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -658,7 +658,7 @@ dependencies = [
|
||||
"proc-macro2",
|
||||
"quote 1.0.9",
|
||||
"rustc_version",
|
||||
"syn 1.0.76",
|
||||
"syn 1.0.77",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -753,7 +753,7 @@ checksum = "946ee94e3dbf58fdd324f9ce245c7b238d46a66f00e86a020b71996349e46cce"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote 1.0.9",
|
||||
"syn 1.0.76",
|
||||
"syn 1.0.77",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -913,7 +913,7 @@ dependencies = [
|
||||
"proc-macro-hack",
|
||||
"proc-macro2",
|
||||
"quote 1.0.9",
|
||||
"syn 1.0.76",
|
||||
"syn 1.0.77",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -1135,7 +1135,7 @@ dependencies = [
|
||||
"proc-macro-error",
|
||||
"proc-macro2",
|
||||
"quote 1.0.9",
|
||||
"syn 1.0.76",
|
||||
"syn 1.0.77",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -1246,7 +1246,7 @@ dependencies = [
|
||||
"proc-macro-error",
|
||||
"proc-macro2",
|
||||
"quote 1.0.9",
|
||||
"syn 1.0.76",
|
||||
"syn 1.0.77",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -1284,7 +1284,7 @@ dependencies = [
|
||||
"markup5ever",
|
||||
"proc-macro2",
|
||||
"quote 1.0.9",
|
||||
"syn 1.0.76",
|
||||
"syn 1.0.77",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -1464,9 +1464,9 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
|
||||
|
||||
[[package]]
|
||||
name = "libc"
|
||||
version = "0.2.102"
|
||||
version = "0.2.103"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "a2a5ac8f984bfcf3a823267e5fde638acc3325f6496633a5da6bb6eb2171e103"
|
||||
checksum = "dd8f7255a17a627354f321ef0055d63b898c6fb27eff628af4d1b66b7331edf6"
|
||||
|
||||
[[package]]
|
||||
name = "lock_api"
|
||||
@@ -1546,12 +1546,6 @@ version = "0.1.9"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "a3e378b66a060d48947b590737b30a1be76706c8dd7b8ba0f2fe3989c68a853f"
|
||||
|
||||
[[package]]
|
||||
name = "maybe-uninit"
|
||||
version = "2.0.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "60302e4db3a61da70c0cb7991976248362f30319e88850c487b9b95bbf059e00"
|
||||
|
||||
[[package]]
|
||||
name = "memchr"
|
||||
version = "2.4.1"
|
||||
@@ -1657,7 +1651,7 @@ dependencies = [
|
||||
"proc-macro-crate 0.1.5",
|
||||
"proc-macro2",
|
||||
"quote 1.0.9",
|
||||
"syn 1.0.76",
|
||||
"syn 1.0.77",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -1764,7 +1758,7 @@ dependencies = [
|
||||
"proc-macro-crate 1.1.0",
|
||||
"proc-macro2",
|
||||
"quote 1.0.9",
|
||||
"syn 1.0.76",
|
||||
"syn 1.0.77",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -2012,7 +2006,7 @@ dependencies = [
|
||||
"proc-macro-hack",
|
||||
"proc-macro2",
|
||||
"quote 1.0.9",
|
||||
"syn 1.0.76",
|
||||
"syn 1.0.77",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -2026,7 +2020,7 @@ dependencies = [
|
||||
"proc-macro-hack",
|
||||
"proc-macro2",
|
||||
"quote 1.0.9",
|
||||
"syn 1.0.76",
|
||||
"syn 1.0.77",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -2061,9 +2055,9 @@ checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
|
||||
|
||||
[[package]]
|
||||
name = "pkg-config"
|
||||
version = "0.3.19"
|
||||
version = "0.3.20"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "3831453b3449ceb48b6d9c7ad7c96d5ea673e9b470a1dc578c2ce6521230884c"
|
||||
checksum = "7c9b1041b4387893b91ee6746cddfc28516aff326a3519fb2adf820932c5e6cb"
|
||||
|
||||
[[package]]
|
||||
name = "png"
|
||||
@@ -2142,7 +2136,7 @@ dependencies = [
|
||||
"proc-macro-error-attr",
|
||||
"proc-macro2",
|
||||
"quote 1.0.9",
|
||||
"syn 1.0.76",
|
||||
"syn 1.0.77",
|
||||
"version_check",
|
||||
]
|
||||
|
||||
@@ -2551,7 +2545,7 @@ checksum = "d7bc1a1ab1961464eae040d96713baa5a724a8152c1222492465b54322ec508b"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote 1.0.9",
|
||||
"syn 1.0.76",
|
||||
"syn 1.0.77",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -2573,7 +2567,7 @@ checksum = "98d0516900518c29efa217c298fa1f4e6c6ffc85ae29fd7f4ee48f176e1a9ed5"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote 1.0.9",
|
||||
"syn 1.0.76",
|
||||
"syn 1.0.77",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -2746,7 +2740,7 @@ dependencies = [
|
||||
"heck",
|
||||
"proc-macro2",
|
||||
"quote 1.0.9",
|
||||
"syn 1.0.76",
|
||||
"syn 1.0.77",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -2758,7 +2752,7 @@ dependencies = [
|
||||
"heck",
|
||||
"proc-macro2",
|
||||
"quote 1.0.9",
|
||||
"syn 1.0.76",
|
||||
"syn 1.0.77",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -2774,9 +2768,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "syn"
|
||||
version = "1.0.76"
|
||||
version = "1.0.77"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "c6f107db402c2c2055242dbf4d2af0e69197202e9faacbef9571bbe47f5a1b84"
|
||||
checksum = "5239bc68e0fef57495900cfea4e8dc75596d9a319d7e16b1e0a440d24e6fe0a0"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote 1.0.9",
|
||||
@@ -2828,7 +2822,7 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "tao"
|
||||
version = "0.5.2"
|
||||
source = "git+https://github.com/tauri-apps/tao?branch=next#e1e9b61993e18422efa7810a17ed1aaa2000621a"
|
||||
source = "git+https://github.com/tauri-apps/tao?branch=next#69ee3f1474007c6e6acc20bcfc71ed3f43ca5414"
|
||||
dependencies = [
|
||||
"bitflags 1.3.2",
|
||||
"cairo-rs",
|
||||
@@ -2980,7 +2974,7 @@ version = "1.0.0-beta.5"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote 1.0.9",
|
||||
"syn 1.0.76",
|
||||
"syn 1.0.77",
|
||||
"tauri-codegen",
|
||||
]
|
||||
|
||||
@@ -3098,7 +3092,7 @@ checksum = "bad553cc2c78e8de258400763a647e80e6d1b31ee237275d756f6836d204494c"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote 1.0.9",
|
||||
"syn 1.0.76",
|
||||
"syn 1.0.77",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -3122,9 +3116,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "tinyvec"
|
||||
version = "1.4.0"
|
||||
version = "1.5.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "5241dd6f21443a3606b432718b166d3cedc962fd4b8bea54a8bc7f514ebda986"
|
||||
checksum = "f83b2a3d4d9091d0abd7eba4dc2710b1718583bd4d8992e2190720ea38f391f7"
|
||||
dependencies = [
|
||||
"tinyvec_macros",
|
||||
]
|
||||
@@ -3322,7 +3316,7 @@ dependencies = [
|
||||
"log",
|
||||
"proc-macro2",
|
||||
"quote 1.0.9",
|
||||
"syn 1.0.76",
|
||||
"syn 1.0.77",
|
||||
"wasm-bindgen-shared",
|
||||
]
|
||||
|
||||
@@ -3356,7 +3350,7 @@ checksum = "7803e0eea25835f8abdc585cd3021b3deb11543c6fe226dcd30b228857c5c5ab"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote 1.0.9",
|
||||
"syn 1.0.76",
|
||||
"syn 1.0.77",
|
||||
"wasm-bindgen-backend",
|
||||
"wasm-bindgen-shared",
|
||||
]
|
||||
@@ -3442,7 +3436,7 @@ checksum = "2eba35fdbb8fbc8de7e7479532a356dbbf2754d8a6e9c9fbfa430896cbb1ca89"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote 1.0.9",
|
||||
"syn 1.0.76",
|
||||
"syn 1.0.77",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -3531,7 +3525,7 @@ version = "0.19.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "5566b8c51118769e4a9094a688bf1233a3f36aacbfc78f3b15817fe0b6e0442f"
|
||||
dependencies = [
|
||||
"syn 1.0.76",
|
||||
"syn 1.0.77",
|
||||
"windows_gen",
|
||||
"windows_quote",
|
||||
"windows_reader",
|
||||
@@ -3610,13 +3604,12 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "x11-dl"
|
||||
version = "2.19.0"
|
||||
version = "2.19.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "7eab1e810da9042813865ebe3477261aa77d1f2241f6be747ef8c0e442bc1fa3"
|
||||
checksum = "ea26926b4ce81a6f5d9d0f3a0bc401e5a37c6ae14a1bfaa8ff6099ca80038c59"
|
||||
dependencies = [
|
||||
"lazy_static",
|
||||
"libc",
|
||||
"maybe-uninit",
|
||||
"pkg-config",
|
||||
]
|
||||
|
||||
@@ -3670,7 +3663,7 @@ dependencies = [
|
||||
"proc-macro-crate 0.1.5",
|
||||
"proc-macro2",
|
||||
"quote 1.0.9",
|
||||
"syn 1.0.76",
|
||||
"syn 1.0.77",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -3738,5 +3731,5 @@ dependencies = [
|
||||
"proc-macro-crate 1.1.0",
|
||||
"proc-macro2",
|
||||
"quote 1.0.9",
|
||||
"syn 1.0.76",
|
||||
"syn 1.0.77",
|
||||
]
|
||||
|
||||
232
examples/updater/src-tauri/Cargo.lock
generated
232
examples/updater/src-tauri/Cargo.lock
generated
@@ -341,37 +341,6 @@ dependencies = [
|
||||
"objc",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "com"
|
||||
version = "0.2.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "5a30a2b2a013da986dc5cc3eda3d19c0d59d53f835be1b2356eb8d00f000c793"
|
||||
dependencies = [
|
||||
"com_macros",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "com_macros"
|
||||
version = "0.2.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "7606b05842fea68ddcc89e8053b8860ebcb2a0ba8d6abfe3a148e5d5a8d3f0c1"
|
||||
dependencies = [
|
||||
"com_macros_support",
|
||||
"proc-macro2",
|
||||
"syn 1.0.76",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "com_macros_support"
|
||||
version = "0.2.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "97e9a6d20f4ac8830e309a455d7e9416e65c6af5a97c88c55fbb4c2012e107da"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote 1.0.9",
|
||||
"syn 1.0.76",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "concurrent-queue"
|
||||
version = "1.2.2"
|
||||
@@ -381,6 +350,12 @@ dependencies = [
|
||||
"cache-padded",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "const-sha1"
|
||||
version = "0.2.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "fb58b6451e8c2a812ad979ed1d83378caa5e927eef2622017a45f251457c2c9d"
|
||||
|
||||
[[package]]
|
||||
name = "constant_time_eq"
|
||||
version = "0.1.5"
|
||||
@@ -542,7 +517,7 @@ dependencies = [
|
||||
"proc-macro2",
|
||||
"quote 1.0.9",
|
||||
"smallvec",
|
||||
"syn 1.0.76",
|
||||
"syn 1.0.77",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -552,7 +527,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "dfae75de57f2b2e85e8768c3ea840fd159c8f33e2b6522c7835b7abac81be16e"
|
||||
dependencies = [
|
||||
"quote 1.0.9",
|
||||
"syn 1.0.76",
|
||||
"syn 1.0.77",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -576,7 +551,7 @@ dependencies = [
|
||||
"proc-macro2",
|
||||
"quote 1.0.9",
|
||||
"strsim",
|
||||
"syn 1.0.76",
|
||||
"syn 1.0.77",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -587,7 +562,7 @@ checksum = "d9b5a2f4ac4969822c62224815d069952656cadc7084fdca9751e6d959189b72"
|
||||
dependencies = [
|
||||
"darling_core",
|
||||
"quote 1.0.9",
|
||||
"syn 1.0.76",
|
||||
"syn 1.0.77",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -618,7 +593,7 @@ checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote 1.0.9",
|
||||
"syn 1.0.76",
|
||||
"syn 1.0.77",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -631,7 +606,7 @@ dependencies = [
|
||||
"proc-macro2",
|
||||
"quote 1.0.9",
|
||||
"rustc_version",
|
||||
"syn 1.0.76",
|
||||
"syn 1.0.77",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -726,7 +701,7 @@ checksum = "946ee94e3dbf58fdd324f9ce245c7b238d46a66f00e86a020b71996349e46cce"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote 1.0.9",
|
||||
"syn 1.0.76",
|
||||
"syn 1.0.77",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -886,7 +861,7 @@ dependencies = [
|
||||
"proc-macro-hack",
|
||||
"proc-macro2",
|
||||
"quote 1.0.9",
|
||||
"syn 1.0.76",
|
||||
"syn 1.0.77",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -1108,7 +1083,7 @@ dependencies = [
|
||||
"proc-macro-error",
|
||||
"proc-macro2",
|
||||
"quote 1.0.9",
|
||||
"syn 1.0.76",
|
||||
"syn 1.0.77",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -1219,7 +1194,7 @@ dependencies = [
|
||||
"proc-macro-error",
|
||||
"proc-macro2",
|
||||
"quote 1.0.9",
|
||||
"syn 1.0.76",
|
||||
"syn 1.0.77",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -1251,7 +1226,7 @@ dependencies = [
|
||||
"markup5ever",
|
||||
"proc-macro2",
|
||||
"quote 1.0.9",
|
||||
"syn 1.0.76",
|
||||
"syn 1.0.77",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -1421,9 +1396,9 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
|
||||
|
||||
[[package]]
|
||||
name = "libc"
|
||||
version = "0.2.102"
|
||||
version = "0.2.103"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "a2a5ac8f984bfcf3a823267e5fde638acc3325f6496633a5da6bb6eb2171e103"
|
||||
checksum = "dd8f7255a17a627354f321ef0055d63b898c6fb27eff628af4d1b66b7331edf6"
|
||||
|
||||
[[package]]
|
||||
name = "lock_api"
|
||||
@@ -1503,12 +1478,6 @@ version = "0.1.9"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "a3e378b66a060d48947b590737b30a1be76706c8dd7b8ba0f2fe3989c68a853f"
|
||||
|
||||
[[package]]
|
||||
name = "maybe-uninit"
|
||||
version = "2.0.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "60302e4db3a61da70c0cb7991976248362f30319e88850c487b9b95bbf059e00"
|
||||
|
||||
[[package]]
|
||||
name = "memchr"
|
||||
version = "2.4.1"
|
||||
@@ -1614,7 +1583,7 @@ dependencies = [
|
||||
"proc-macro-crate 0.1.5",
|
||||
"proc-macro2",
|
||||
"quote 1.0.9",
|
||||
"syn 1.0.76",
|
||||
"syn 1.0.77",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -1721,7 +1690,7 @@ dependencies = [
|
||||
"proc-macro-crate 1.1.0",
|
||||
"proc-macro2",
|
||||
"quote 1.0.9",
|
||||
"syn 1.0.76",
|
||||
"syn 1.0.77",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -1963,7 +1932,7 @@ dependencies = [
|
||||
"proc-macro-hack",
|
||||
"proc-macro2",
|
||||
"quote 1.0.9",
|
||||
"syn 1.0.76",
|
||||
"syn 1.0.77",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -1977,7 +1946,7 @@ dependencies = [
|
||||
"proc-macro-hack",
|
||||
"proc-macro2",
|
||||
"quote 1.0.9",
|
||||
"syn 1.0.76",
|
||||
"syn 1.0.77",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -2012,9 +1981,9 @@ checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
|
||||
|
||||
[[package]]
|
||||
name = "pkg-config"
|
||||
version = "0.3.19"
|
||||
version = "0.3.20"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "3831453b3449ceb48b6d9c7ad7c96d5ea673e9b470a1dc578c2ce6521230884c"
|
||||
checksum = "7c9b1041b4387893b91ee6746cddfc28516aff326a3519fb2adf820932c5e6cb"
|
||||
|
||||
[[package]]
|
||||
name = "png"
|
||||
@@ -2093,7 +2062,7 @@ dependencies = [
|
||||
"proc-macro-error-attr",
|
||||
"proc-macro2",
|
||||
"quote 1.0.9",
|
||||
"syn 1.0.76",
|
||||
"syn 1.0.77",
|
||||
"version_check",
|
||||
]
|
||||
|
||||
@@ -2502,7 +2471,7 @@ checksum = "d7bc1a1ab1961464eae040d96713baa5a724a8152c1222492465b54322ec508b"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote 1.0.9",
|
||||
"syn 1.0.76",
|
||||
"syn 1.0.77",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -2524,7 +2493,7 @@ checksum = "98d0516900518c29efa217c298fa1f4e6c6ffc85ae29fd7f4ee48f176e1a9ed5"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote 1.0.9",
|
||||
"syn 1.0.76",
|
||||
"syn 1.0.77",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -2691,7 +2660,7 @@ dependencies = [
|
||||
"heck",
|
||||
"proc-macro2",
|
||||
"quote 1.0.9",
|
||||
"syn 1.0.76",
|
||||
"syn 1.0.77",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -2703,7 +2672,7 @@ dependencies = [
|
||||
"heck",
|
||||
"proc-macro2",
|
||||
"quote 1.0.9",
|
||||
"syn 1.0.76",
|
||||
"syn 1.0.77",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -2719,9 +2688,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "syn"
|
||||
version = "1.0.76"
|
||||
version = "1.0.77"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "c6f107db402c2c2055242dbf4d2af0e69197202e9faacbef9571bbe47f5a1b84"
|
||||
checksum = "5239bc68e0fef57495900cfea4e8dc75596d9a319d7e16b1e0a440d24e6fe0a0"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote 1.0.9",
|
||||
@@ -2773,8 +2742,7 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "tao"
|
||||
version = "0.5.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1aa57de7c282b68f8906278543a724ed8f5a2568f069dd0cc05fc10d1f07036b"
|
||||
source = "git+https://github.com/tauri-apps/tao?branch=next#69ee3f1474007c6e6acc20bcfc71ed3f43ca5414"
|
||||
dependencies = [
|
||||
"bitflags 1.3.2",
|
||||
"cairo-rs",
|
||||
@@ -2805,7 +2773,8 @@ dependencies = [
|
||||
"scopeguard",
|
||||
"serde",
|
||||
"unicode-segmentation",
|
||||
"winapi",
|
||||
"webview2-com-sys",
|
||||
"windows",
|
||||
"x11-dl",
|
||||
]
|
||||
|
||||
@@ -2902,7 +2871,7 @@ version = "1.0.0-beta.5"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote 1.0.9",
|
||||
"syn 1.0.76",
|
||||
"syn 1.0.77",
|
||||
"tauri-codegen",
|
||||
]
|
||||
|
||||
@@ -2919,7 +2888,7 @@ dependencies = [
|
||||
"tauri-utils",
|
||||
"thiserror",
|
||||
"uuid",
|
||||
"winapi",
|
||||
"webview2-com-sys",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -2933,7 +2902,7 @@ dependencies = [
|
||||
"tauri-runtime",
|
||||
"tauri-utils",
|
||||
"uuid",
|
||||
"winapi",
|
||||
"webview2-com",
|
||||
"wry",
|
||||
]
|
||||
|
||||
@@ -2954,19 +2923,6 @@ dependencies = [
|
||||
"zstd",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tauri-webview2"
|
||||
version = "0.1.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "7685d17e9007618d13f011f916e28a8830c7108c46cf263bd3ab53a19e1a4fc3"
|
||||
dependencies = [
|
||||
"com",
|
||||
"once_cell",
|
||||
"webview2-sys",
|
||||
"widestring",
|
||||
"winapi",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tempfile"
|
||||
version = "3.2.0"
|
||||
@@ -3015,7 +2971,7 @@ checksum = "bad553cc2c78e8de258400763a647e80e6d1b31ee237275d756f6836d204494c"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote 1.0.9",
|
||||
"syn 1.0.76",
|
||||
"syn 1.0.77",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -3039,9 +2995,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "tinyvec"
|
||||
version = "1.4.0"
|
||||
version = "1.5.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "5241dd6f21443a3606b432718b166d3cedc962fd4b8bea54a8bc7f514ebda986"
|
||||
checksum = "f83b2a3d4d9091d0abd7eba4dc2710b1718583bd4d8992e2190720ea38f391f7"
|
||||
dependencies = [
|
||||
"tinyvec_macros",
|
||||
]
|
||||
@@ -3237,7 +3193,7 @@ dependencies = [
|
||||
"log",
|
||||
"proc-macro2",
|
||||
"quote 1.0.9",
|
||||
"syn 1.0.76",
|
||||
"syn 1.0.77",
|
||||
"wasm-bindgen-shared",
|
||||
]
|
||||
|
||||
@@ -3271,7 +3227,7 @@ checksum = "7803e0eea25835f8abdc585cd3021b3deb11543c6fe226dcd30b228857c5c5ab"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote 1.0.9",
|
||||
"syn 1.0.76",
|
||||
"syn 1.0.77",
|
||||
"wasm-bindgen-backend",
|
||||
"wasm-bindgen-shared",
|
||||
]
|
||||
@@ -3339,13 +3295,38 @@ dependencies = [
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "webview2-sys"
|
||||
version = "0.1.1"
|
||||
name = "webview2-com"
|
||||
version = "0.4.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "24b7889e893ac4c50d7346356be3ce13a85e56512c38b8fde0526559b8012a4c"
|
||||
checksum = "f2294dee38668da0d71019097dddc6cef525fde7aa4784243dd83f0752e08aa5"
|
||||
dependencies = [
|
||||
"com",
|
||||
"winapi",
|
||||
"webview2-com-macros",
|
||||
"webview2-com-sys",
|
||||
"windows",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "webview2-com-macros"
|
||||
version = "0.3.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "2eba35fdbb8fbc8de7e7479532a356dbbf2754d8a6e9c9fbfa430896cbb1ca89"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote 1.0.9",
|
||||
"syn 1.0.77",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "webview2-com-sys"
|
||||
version = "0.4.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "14690dcb8b57c5238c4502cfc321f858fa1306edd4109e8e1d7ddee0c29b06a5"
|
||||
dependencies = [
|
||||
"regex",
|
||||
"serde",
|
||||
"serde_json",
|
||||
"thiserror",
|
||||
"windows",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -3357,12 +3338,6 @@ dependencies = [
|
||||
"cc",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "widestring"
|
||||
version = "0.4.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "c168940144dd21fd8046987c16a46a33d5fc84eec29ef9dcddc2ac9e31526b7c"
|
||||
|
||||
[[package]]
|
||||
name = "wildmatch"
|
||||
version = "1.1.0"
|
||||
@@ -3400,6 +3375,51 @@ version = "0.4.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
|
||||
|
||||
[[package]]
|
||||
name = "windows"
|
||||
version = "0.19.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ef84dd25f4c69a271b1bba394532bf400523b43169de21dfc715e8f8e491053d"
|
||||
dependencies = [
|
||||
"const-sha1",
|
||||
"windows_gen",
|
||||
"windows_macros",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "windows_gen"
|
||||
version = "0.19.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ac7bb21b8ff5e801232b72a6ff554b4cc0cef9ed9238188c3ca78fe3968a7e5d"
|
||||
dependencies = [
|
||||
"windows_quote",
|
||||
"windows_reader",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "windows_macros"
|
||||
version = "0.19.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "5566b8c51118769e4a9094a688bf1233a3f36aacbfc78f3b15817fe0b6e0442f"
|
||||
dependencies = [
|
||||
"syn 1.0.77",
|
||||
"windows_gen",
|
||||
"windows_quote",
|
||||
"windows_reader",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "windows_quote"
|
||||
version = "0.19.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "4af8236a9493c38855f95cdd11b38b342512a5df4ee7473cffa828b5ebb0e39c"
|
||||
|
||||
[[package]]
|
||||
name = "windows_reader"
|
||||
version = "0.19.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "2c8d5cf83fb08083438c5c46723e6206b2970da57ce314f80b57724439aaacab"
|
||||
|
||||
[[package]]
|
||||
name = "winres"
|
||||
version = "0.1.11"
|
||||
@@ -3434,7 +3454,7 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "wry"
|
||||
version = "0.12.2"
|
||||
source = "git+https://github.com/tauri-apps/wry?rev=21692d986138570d2edc31f84bddb442a3c84a9c#21692d986138570d2edc31f84bddb442a3c84a9c"
|
||||
source = "git+https://github.com/tauri-apps/wry?rev=e056fb2a15e29de1b8ed85a548cfeb1f85031357#e056fb2a15e29de1b8ed85a548cfeb1f85031357"
|
||||
dependencies = [
|
||||
"cocoa",
|
||||
"core-graphics 0.22.2",
|
||||
@@ -3451,24 +3471,22 @@ dependencies = [
|
||||
"serde",
|
||||
"serde_json",
|
||||
"tao",
|
||||
"tauri-webview2",
|
||||
"thiserror",
|
||||
"url",
|
||||
"webkit2gtk",
|
||||
"webkit2gtk-sys",
|
||||
"webview2-sys",
|
||||
"winapi",
|
||||
"webview2-com",
|
||||
"windows",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "x11-dl"
|
||||
version = "2.19.0"
|
||||
version = "2.19.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "7eab1e810da9042813865ebe3477261aa77d1f2241f6be747ef8c0e442bc1fa3"
|
||||
checksum = "ea26926b4ce81a6f5d9d0f3a0bc401e5a37c6ae14a1bfaa8ff6099ca80038c59"
|
||||
dependencies = [
|
||||
"lazy_static",
|
||||
"libc",
|
||||
"maybe-uninit",
|
||||
"pkg-config",
|
||||
]
|
||||
|
||||
@@ -3522,7 +3540,7 @@ dependencies = [
|
||||
"proc-macro-crate 0.1.5",
|
||||
"proc-macro2",
|
||||
"quote 1.0.9",
|
||||
"syn 1.0.76",
|
||||
"syn 1.0.77",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -3590,5 +3608,5 @@ dependencies = [
|
||||
"proc-macro-crate 1.1.0",
|
||||
"proc-macro2",
|
||||
"quote 1.0.9",
|
||||
"syn 1.0.76",
|
||||
"syn 1.0.77",
|
||||
]
|
||||
|
||||
8
tooling/bench/Cargo.lock
generated
8
tooling/bench/Cargo.lock
generated
@@ -58,9 +58,9 @@ checksum = "b71991ff56294aa922b450139ee08b3bfc70982c6b2c7562771375cf73542dd4"
|
||||
|
||||
[[package]]
|
||||
name = "libc"
|
||||
version = "0.2.102"
|
||||
version = "0.2.103"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "a2a5ac8f984bfcf3a823267e5fde638acc3325f6496633a5da6bb6eb2171e103"
|
||||
checksum = "dd8f7255a17a627354f321ef0055d63b898c6fb27eff628af4d1b66b7331edf6"
|
||||
|
||||
[[package]]
|
||||
name = "num-integer"
|
||||
@@ -202,9 +202,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "syn"
|
||||
version = "1.0.76"
|
||||
version = "1.0.77"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "c6f107db402c2c2055242dbf4d2af0e69197202e9faacbef9571bbe47f5a1b84"
|
||||
checksum = "5239bc68e0fef57495900cfea4e8dc75596d9a319d7e16b1e0a440d24e6fe0a0"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
|
||||
Reference in New Issue
Block a user