mirror of
https://github.com/servo/servo.git
synced 2025-08-06 06:00:15 +01:00
Fixes #11407: Implement Window.status
This commit is contained in:
parent
4dcb05ca4f
commit
a4d9a1d6a1
4 changed files with 37 additions and 1 deletions
|
@ -20,7 +20,7 @@
|
||||||
//[Replaceable] readonly attribute BarProp scrollbars;
|
//[Replaceable] readonly attribute BarProp scrollbars;
|
||||||
//[Replaceable] readonly attribute BarProp statusbar;
|
//[Replaceable] readonly attribute BarProp statusbar;
|
||||||
//[Replaceable] readonly attribute BarProp toolbar;
|
//[Replaceable] readonly attribute BarProp toolbar;
|
||||||
// attribute DOMString status;
|
attribute DOMString status;
|
||||||
void close();
|
void close();
|
||||||
//readonly attribute boolean closed;
|
//readonly attribute boolean closed;
|
||||||
//void stop();
|
//void stop();
|
||||||
|
|
|
@ -160,6 +160,7 @@ pub struct Window {
|
||||||
screen: MutNullableHeap<JS<Screen>>,
|
screen: MutNullableHeap<JS<Screen>>,
|
||||||
session_storage: MutNullableHeap<JS<Storage>>,
|
session_storage: MutNullableHeap<JS<Storage>>,
|
||||||
local_storage: MutNullableHeap<JS<Storage>>,
|
local_storage: MutNullableHeap<JS<Storage>>,
|
||||||
|
status: DOMRefCell<DOMString>,
|
||||||
#[ignore_heap_size_of = "channels are hard"]
|
#[ignore_heap_size_of = "channels are hard"]
|
||||||
scheduler_chan: IpcSender<TimerEventRequest>,
|
scheduler_chan: IpcSender<TimerEventRequest>,
|
||||||
timers: OneshotTimers,
|
timers: OneshotTimers,
|
||||||
|
@ -828,6 +829,16 @@ impl WindowMethods for Window {
|
||||||
let dpr = self.window_size.get().map_or(1.0f32, |data| data.device_pixel_ratio.get());
|
let dpr = self.window_size.get().map_or(1.0f32, |data| data.device_pixel_ratio.get());
|
||||||
Finite::wrap(dpr as f64)
|
Finite::wrap(dpr as f64)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// https://html.spec.whatwg.org/multipage/#dom-window-status
|
||||||
|
fn Status(&self) -> DOMString {
|
||||||
|
self.status.borrow().clone()
|
||||||
|
}
|
||||||
|
|
||||||
|
// https://html.spec.whatwg.org/multipage/#dom-window-status
|
||||||
|
fn SetStatus(&self, status: DOMString) {
|
||||||
|
*self.status.borrow_mut() = status
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pub trait ScriptHelpers {
|
pub trait ScriptHelpers {
|
||||||
|
@ -1500,6 +1511,7 @@ impl Window {
|
||||||
screen: Default::default(),
|
screen: Default::default(),
|
||||||
session_storage: Default::default(),
|
session_storage: Default::default(),
|
||||||
local_storage: Default::default(),
|
local_storage: Default::default(),
|
||||||
|
status: DOMRefCell::new(DOMString::new()),
|
||||||
scheduler_chan: scheduler_chan.clone(),
|
scheduler_chan: scheduler_chan.clone(),
|
||||||
timers: OneshotTimers::new(timer_event_chan, scheduler_chan),
|
timers: OneshotTimers::new(timer_event_chan, scheduler_chan),
|
||||||
next_worker_id: Cell::new(WorkerId(0)),
|
next_worker_id: Cell::new(WorkerId(0)),
|
||||||
|
|
|
@ -35938,6 +35938,12 @@
|
||||||
"deleted_reftests": {},
|
"deleted_reftests": {},
|
||||||
"items": {
|
"items": {
|
||||||
"testharness": {
|
"testharness": {
|
||||||
|
"html/browsers/the-window-object/browser-interface-elements/status.html": [
|
||||||
|
{
|
||||||
|
"path": "html/browsers/the-window-object/browser-interface-elements/status.html",
|
||||||
|
"url": "/html/browsers/the-window-object/browser-interface-elements/status.html"
|
||||||
|
}
|
||||||
|
],
|
||||||
"html/semantics/links/links-created-by-a-and-area-elements/htmlanchorelement_attribute-getter-setter.html": [
|
"html/semantics/links/links-created-by-a-and-area-elements/htmlanchorelement_attribute-getter-setter.html": [
|
||||||
{
|
{
|
||||||
"path": "html/semantics/links/links-created-by-a-and-area-elements/htmlanchorelement_attribute-getter-setter.html",
|
"path": "html/semantics/links/links-created-by-a-and-area-elements/htmlanchorelement_attribute-getter-setter.html",
|
||||||
|
|
|
@ -0,0 +1,18 @@
|
||||||
|
<!doctype html>
|
||||||
|
<meta charset=utf-8>
|
||||||
|
<title>Window.status tests</title>
|
||||||
|
<script src="/resources/testharness.js"></script>
|
||||||
|
<script src="/resources/testharnessreport.js"></script>
|
||||||
|
<link rel="help" href="https://html.spec.whatwg.org/multipage/#dom-window-status">
|
||||||
|
<div id=log></div>
|
||||||
|
<script>
|
||||||
|
test(function() {
|
||||||
|
assert_true("status" in window, "status in window");
|
||||||
|
assert_equals(window.status, "", "window.status is empty string initially");
|
||||||
|
window.status = "newstatus";
|
||||||
|
assert_equals(window.status, "newstatus", "window.string is set to newstatus");
|
||||||
|
window.status = 5;
|
||||||
|
assert_equals(window.status, "5", "window.status is a string");
|
||||||
|
}, "Functional properties of window.status");
|
||||||
|
|
||||||
|
</script>
|
Loading…
Add table
Add a link
Reference in a new issue