diff options
author | bors-servo <lbergstrom+bors@mozilla.com> | 2016-07-22 15:34:14 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-07-22 15:34:14 -0500 |
commit | 0e887ca8d3327b63db43cc329dd83bf4c02e2a1c (patch) | |
tree | 5df69e86a3f85d31a005f7beddc4b65590bf7714 /components/script/dom/window.rs | |
parent | cdf225c26e04ac8a2f3294ab32999ec482db8cd4 (diff) | |
parent | 8d7a0c2cda0c8eb8a77046cbfc7fbbf0a626f398 (diff) | |
download | servo-0e887ca8d3327b63db43cc329dd83bf4c02e2a1c.tar.gz servo-0e887ca8d3327b63db43cc329dd83bf4c02e2a1c.zip |
Auto merge of #12552 - ConnorGBrewster:history_interface, r=asajeffrey
History interface Go, Back, and Forward
<!-- Please describe your changes on the following line: -->
r? @asajeffrey
---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #5670 (github issue number if applicable).
<!-- Either: -->
- [X] There are tests for these changes OR
- [ ] These changes do not require tests because _____
<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
implement go, forward, back
<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/12552)
<!-- Reviewable:end -->
Diffstat (limited to 'components/script/dom/window.rs')
-rw-r--r-- | components/script/dom/window.rs | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/components/script/dom/window.rs b/components/script/dom/window.rs index b4984bb2a4a..2237514bd3d 100644 --- a/components/script/dom/window.rs +++ b/components/script/dom/window.rs @@ -30,6 +30,7 @@ use dom::document::Document; use dom::element::Element; use dom::event::Event; use dom::eventtarget::EventTarget; +use dom::history::History; use dom::htmliframeelement::build_mozbrowser_custom_event; use dom::location::Location; use dom::navigator::Navigator; @@ -158,6 +159,7 @@ pub struct Window { #[ignore_heap_size_of = "channels are hard"] image_cache_chan: ImageCacheChan, browsing_context: MutNullableHeap<JS<BrowsingContext>>, + history: MutNullableHeap<JS<History>>, performance: MutNullableHeap<JS<Performance>>, navigation_start: u64, navigation_start_precise: f64, @@ -475,6 +477,11 @@ impl WindowMethods for Window { self.browsing_context().active_document() } + // https://html.spec.whatwg.org/multipage/#dom-history + fn History(&self) -> Root<History> { + self.history.or_init(|| History::new(self)) + } + // https://html.spec.whatwg.org/multipage/#dom-location fn Location(&self) -> Root<Location> { self.Document().GetLocation().unwrap() @@ -1648,6 +1655,7 @@ impl Window { mem_profiler_chan: mem_profiler_chan, time_profiler_chan: time_profiler_chan, devtools_chan: devtools_chan, + history: Default::default(), browsing_context: Default::default(), performance: Default::default(), navigation_start: (current_time.sec * 1000 + current_time.nsec as i64 / 1000000) as u64, |