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 statusbar;
|
||||
//[Replaceable] readonly attribute BarProp toolbar;
|
||||
// attribute DOMString status;
|
||||
attribute DOMString status;
|
||||
void close();
|
||||
//readonly attribute boolean closed;
|
||||
//void stop();
|
||||
|
|
|
@ -160,6 +160,7 @@ pub struct Window {
|
|||
screen: MutNullableHeap<JS<Screen>>,
|
||||
session_storage: MutNullableHeap<JS<Storage>>,
|
||||
local_storage: MutNullableHeap<JS<Storage>>,
|
||||
status: DOMRefCell<DOMString>,
|
||||
#[ignore_heap_size_of = "channels are hard"]
|
||||
scheduler_chan: IpcSender<TimerEventRequest>,
|
||||
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());
|
||||
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 {
|
||||
|
@ -1500,6 +1511,7 @@ impl Window {
|
|||
screen: Default::default(),
|
||||
session_storage: Default::default(),
|
||||
local_storage: Default::default(),
|
||||
status: DOMRefCell::new(DOMString::new()),
|
||||
scheduler_chan: scheduler_chan.clone(),
|
||||
timers: OneshotTimers::new(timer_event_chan, scheduler_chan),
|
||||
next_worker_id: Cell::new(WorkerId(0)),
|
||||
|
|
|
@ -35938,6 +35938,12 @@
|
|||
"deleted_reftests": {},
|
||||
"items": {
|
||||
"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": [
|
||||
{
|
||||
"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