remove extra member delegation

This commit is contained in:
yggverse 2025-01-22 05:07:16 +02:00
parent 2a43af8f75
commit 065bd8bfad

View file

@ -35,14 +35,12 @@ impl Client {
/// * or `navigation` entry if the value not provided /// * or `navigation` entry if the value not provided
pub fn handle(&self, request: &str, is_snap_history: bool) { pub fn handle(&self, request: &str, is_snap_history: bool) {
// run async resolver to detect Uri, scheme-less host, or search query // run async resolver to detect Uri, scheme-less host, or search query
lookup( lookup(request, self.cancellable(), {
request, let driver = self.driver.clone();
self.driver.clone(), move |feature, cancellable, uri| {
self.cancellable(),
move |driver, feature, cancellable, uri| {
route(driver, feature, cancellable, uri, is_snap_history) route(driver, feature, cancellable, uri, is_snap_history)
}, }
) })
} }
/// Get new [Cancellable](https://docs.gtk.org/gio/class.Cancellable.html) by cancel previous one /// Get new [Cancellable](https://docs.gtk.org/gio/class.Cancellable.html) by cancel previous one
@ -66,9 +64,8 @@ impl Client {
/// * the `query` should not contain `feature` prefix /// * the `query` should not contain `feature` prefix
fn lookup( fn lookup(
query: &str, query: &str,
driver: Rc<Driver>,
cancellable: Cancellable, cancellable: Cancellable,
callback: impl FnOnce(Rc<Driver>, Feature, Cancellable, Uri) + 'static, callback: impl FnOnce(Feature, Cancellable, Uri) + 'static,
) { ) {
use gtk::{ use gtk::{
gio::{NetworkAddress, Resolver}, gio::{NetworkAddress, Resolver},
@ -82,7 +79,7 @@ fn lookup(
let (feature, query) = Feature::parse(query.trim()); let (feature, query) = Feature::parse(query.trim());
match Uri::parse(query, UriFlags::NONE) { match Uri::parse(query, UriFlags::NONE) {
Ok(uri) => callback(driver, feature, cancellable, uri), Ok(uri) => callback(feature, cancellable, uri),
Err(_) => { Err(_) => {
// try default scheme suggestion // try default scheme suggestion
let suggestion = format!("{DEFAULT_SCHEME}://{query}"); let suggestion = format!("{DEFAULT_SCHEME}://{query}");
@ -96,7 +93,6 @@ fn lookup(
Some(&cancellable.clone()), Some(&cancellable.clone()),
move |resolve| { move |resolve| {
callback( callback(
driver,
feature, feature,
cancellable, cancellable,
if resolve.is_ok() { if resolve.is_ok() {
@ -110,7 +106,7 @@ fn lookup(
) )
}, },
), ),
Err(_) => callback(driver, feature, cancellable, search(&suggestion)), Err(_) => callback(feature, cancellable, search(&suggestion)),
} }
} }
} }