turn desktop context into Rc<DesktopContext>
This commit is contained in:
1 parent
a5c46b0e5c
commit
0e1f015b78
3 files changed
+24
-19
No files matched your search
+10
-12
@@ -144,7 +144,7 @@ pub fn launch_with_props<P: 'static>(root: Component<P>, props: P, cfg: Config)
|
||||
|
||||
let shortcut_manager = ShortcutRegistry::new(&event_loop);
|
||||
|
||||
let (web_view, _) = create_new_window(
|
||||
let web_view = create_new_window(
|
||||
cfg,
|
||||
&event_loop,
|
||||
&proxy,
|
||||
@@ -282,30 +282,28 @@ fn create_new_window(
|
||||
queue: &WebviewQueue,
|
||||
event_handlers: &WindowEventHandlers,
|
||||
shortcut_manager: ShortcutRegistry,
|
||||
) -> (WebviewHandler, DesktopContext) {
|
||||
) -> WebviewHandler {
|
||||
let webview = webview::build(&mut cfg, event_loop, proxy.clone());
|
||||
let desktop_context = DesktopContext::new(
|
||||
let desktop_context = Rc::from(DesktopContext::new(
|
||||
webview.clone(),
|
||||
proxy.clone(),
|
||||
event_loop.clone(),
|
||||
queue.clone(),
|
||||
event_handlers.clone(),
|
||||
shortcut_manager,
|
||||
);
|
||||
));
|
||||
|
||||
dom.base_scope().provide_context(desktop_context.clone());
|
||||
|
||||
let id = webview.window().id();
|
||||
|
||||
// We want to poll the virtualdom and the event loop at the same time, so the waker will be connected to both
|
||||
(
|
||||
WebviewHandler {
|
||||
webview,
|
||||
dom,
|
||||
waker: waker::tao_waker(proxy, id),
|
||||
},
|
||||
desktop_context,
|
||||
)
|
||||
|
||||
WebviewHandler {
|
||||
webview,
|
||||
dom,
|
||||
waker: waker::tao_waker(proxy, id),
|
||||
}
|
||||
}
|
||||
|
||||
struct WebviewHandler {
|
||||
|
||||
Reference in new issue
Block a user