Share code between Navigator and WorkerNavigator

Also shares code between Location and WorkerLocation. This has been done
by introducing NavigatorInfo and UrlHelper.

Fixes #3159
This commit is contained in:
Gilles Leblanc 2014-09-20 08:51:35 -04:00
parent de67710934
commit 652d217961
7 changed files with 81 additions and 32 deletions

View file

@ -7,6 +7,7 @@ use dom::bindings::codegen::Bindings::WorkerNavigatorBinding::WorkerNavigatorMet
use dom::bindings::global::Worker;
use dom::bindings::js::{JSRef, Temporary};
use dom::bindings::utils::{Reflectable, Reflector, reflect_dom_object};
use dom::navigatorinfo::NavigatorInfo;
use dom::workerglobalscope::WorkerGlobalScope;
use servo_util::str::DOMString;
@ -32,23 +33,23 @@ impl WorkerNavigator {
impl<'a> WorkerNavigatorMethods for JSRef<'a, WorkerNavigator> {
fn Product(&self) -> DOMString {
"Gecko".to_string()
NavigatorInfo::Product()
}
fn TaintEnabled(&self) -> bool {
false
NavigatorInfo::TaintEnabled()
}
fn AppName(&self) -> DOMString {
"Netscape".to_string() // Like Gecko/Webkit
NavigatorInfo::AppName()
}
fn AppCodeName(&self) -> DOMString {
"Mozilla".to_string()
NavigatorInfo::AppCodeName()
}
fn Platform(&self) -> DOMString {
"".to_string()
NavigatorInfo::Platform()
}
}