Upgrade to Blitz 0.1.0-alpha.2 (#4227)

* Update to use latest Blitz net traits

* Pass url to flush_style_attribute

* Add system-fonts feature to dioxus-native

* Native: cleanup log output

* Make dioxus-native work with Blitz simplified Document and Renderer traits

* Native: upgrade to event refactor

* Upgrade to blitz 0.1.0-alpha.2

* Add typo exception

Signed-off-by: Nico Burns <nico@nicoburns.com>

* Ensure root_id is set to <main> element

---------

Signed-off-by: Nico Burns <nico@nicoburns.com>
This commit is contained in:
Nico Burns authored and GitHub committed 2025-05-31 13:52:19 +02:00
1 parent e1bd06bda5
commit 51d7affc54
10 files changed
+654 -1222

No files matched your search

+7 -38
View File
@@ -1,24 +1,18 @@
use blitz_shell::BlitzShellNetCallback;
use std::sync::Arc;
use blitz_dom::{
net::{CssHandler, ImageHandler, Resource},
util::ImageType,
BaseDocument,
};
use blitz_dom::net::Resource;
use blitz_shell::BlitzShellEvent;
use blitz_traits::net::{NetCallback, NetProvider};
use winit::event_loop::EventLoopProxy;
use crate::NodeId;
pub struct DioxusNativeNetProvider {
callback: Arc<dyn NetCallback<Data = Resource> + 'static>,
inner_net_provider: Arc<dyn NetProvider<Data = Resource> + 'static>,
callback: Arc<dyn NetCallback<Resource> + 'static>,
inner_net_provider: Arc<dyn NetProvider<Resource> + 'static>,
}
impl DioxusNativeNetProvider {
pub fn shared(proxy: EventLoopProxy<BlitzShellEvent>) -> Arc<dyn NetProvider<Data = Resource>> {
Arc::new(Self::new(proxy)) as Arc<dyn NetProvider<Data = Resource>>
pub fn shared(proxy: EventLoopProxy<BlitzShellEvent>) -> Arc<dyn NetProvider<Resource>> {
Arc::new(Self::new(proxy)) as Arc<dyn NetProvider<Resource>>
}
pub fn new(proxy: EventLoopProxy<BlitzShellEvent>) -> Self {
@@ -31,14 +25,12 @@ impl DioxusNativeNetProvider {
}
}
impl NetProvider for DioxusNativeNetProvider {
type Data = Resource;
impl NetProvider<Resource> for DioxusNativeNetProvider {
fn fetch(
&self,
doc_id: usize,
request: blitz_traits::net::Request,
handler: blitz_traits::net::BoxedHandler<Self::Data>,
handler: blitz_traits::net::BoxedHandler<Resource>,
) {
if request.url.scheme() == "dioxus" {
match dioxus_asset_resolver::serve_asset_from_raw_path(request.url.path()) {
@@ -55,26 +47,3 @@ impl NetProvider for DioxusNativeNetProvider {
}
}
}
pub fn fetch_linked_stylesheet(doc: &BaseDocument, node_id: NodeId, queued_url: String) {
let url = doc.resolve_url(&queued_url);
doc.net_provider.fetch(
doc.id(),
blitz_traits::net::Request::get(url.clone()),
Box::new(CssHandler {
node: node_id,
source_url: url,
guard: doc.guard.clone(),
provider: doc.net_provider.clone(),
}),
);
}
pub fn fetch_image(doc: &BaseDocument, node_id: usize, queued_image: String) {
let src = doc.resolve_url(&queued_image);
doc.net_provider.fetch(
doc.id(),
blitz_traits::net::Request::get(src),
Box::new(ImageHandler::new(node_id, ImageType::Image)),
);
}