diff options
author | bors-servo <lbergstrom+bors@mozilla.com> | 2016-03-12 00:19:24 +0530 |
---|---|---|
committer | bors-servo <lbergstrom+bors@mozilla.com> | 2016-03-12 00:19:24 +0530 |
commit | 7ff7932a8cb15c42a436958e953cc904ba7a0bd8 (patch) | |
tree | 176de8d0000a4a08ce75232333c904dd4d75e5f6 /components/script/dom/window.rs | |
parent | 059edc3287909ce705ba90804c778ee50f1e157e (diff) | |
parent | 16d2778ece77e317cc7b664b490c60d949f827a3 (diff) | |
download | servo-7ff7932a8cb15c42a436958e953cc904ba7a0bd8.tar.gz servo-7ff7932a8cb15c42a436958e953cc904ba7a0bd8.zip |
Auto merge of #9824 - danlrobertson:element1, r=asajeffrey
Add the scrollWidth and scrollHeight extensions to the element interface
Add the `scrollWidth` and `scrollHeight` extensions to the element interface. My goal was to create a method that encompassed getting `scrollWidth`, `scrollHeight`, `scrollTop`, and `scrollLeft`.
I also noted that `clientHeight` and `clientWidth` to not handle the root element and the body element correctly.
<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.svg" height="40" alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9824)
<!-- 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 eeb62d833c6..df7d1f92de7 100644 --- a/components/script/dom/window.rs +++ b/components/script/dom/window.rs @@ -1110,6 +1110,13 @@ impl Window { self.layout_rpc.hit_test().node_address } + pub fn scroll_area_query(&self, node: TrustedNodeAddress) -> Rect<i32> { + self.reflow(ReflowGoal::ForScriptQuery, + ReflowQueryType::NodeScrollGeometryQuery(node), + ReflowReason::Query); + self.layout_rpc.node_scroll_area().client_rect + } + pub fn resolved_style_query(&self, element: TrustedNodeAddress, pseudo: Option<PseudoElement>, @@ -1463,6 +1470,7 @@ fn debug_reflow_events(id: PipelineId, goal: &ReflowGoal, query_type: &ReflowQue ReflowQueryType::ContentBoxesQuery(_n) => "\tContentBoxesQuery", ReflowQueryType::HitTestQuery(_n, _o) => "\tHitTestQuery", ReflowQueryType::NodeGeometryQuery(_n) => "\tNodeGeometryQuery", + ReflowQueryType::NodeScrollGeometryQuery(_n) => "\tNodeScrollGeometryQuery", ReflowQueryType::ResolvedStyleQuery(_, _, _) => "\tResolvedStyleQuery", ReflowQueryType::OffsetParentQuery(_n) => "\tOffsetParentQuery", ReflowQueryType::MarginStyleQuery(_n) => "\tMarginStyleQuery", |