From 0055d340673c9b933b5bff7cb452ad555f53eea9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jussi=20R=C3=A4s=C3=A4nen?= Date: Fri, 25 Mar 2016 21:08:03 +0200 Subject: [PATCH] Added current url to window if no specified. Fixes issue #9960, adds current url to window title if title is not specified. --- ports/glutin/window.rs | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/ports/glutin/window.rs b/ports/glutin/window.rs index d269ba037af2..840d7ec34fd4 100644 --- a/ports/glutin/window.rs +++ b/ports/glutin/window.rs @@ -84,6 +84,7 @@ pub struct Window { mouse_pos: Cell<Point2D<i32>>, key_modifiers: Cell<KeyModifiers>, + current_url: RefCell<Option<Url>>, } #[cfg(feature = "window")] @@ -138,6 +139,7 @@ impl Window { mouse_pos: Cell::new(Point2D::new(0, 0)), key_modifiers: Cell::new(KeyModifiers::empty()), + current_url: RefCell::new(None), }; gl::clear_color(0.6, 0.6, 0.6, 1.0); @@ -605,15 +607,22 @@ impl WindowMethods for Window { } fn set_page_title(&self, title: Option<String>) { + let fallback_title: String = if let Some(ref current_url) = *self.current_url.borrow() { + current_url.to_string() + } else { + String::from("Untitled") + }; + let title = match title { Some(ref title) if title.len() > 0 => &**title, - _ => "untitled", + _ => &fallback_title, }; let title = format!("{} - Servo", title); self.window.set_title(&title); } - fn set_page_url(&self, _: Url) { + fn set_page_url(&self, url: Url) { + *self.current_url.borrow_mut() = Some(url); } fn status(&self, _: Option<String>) {