Bug 1465866: removes methods from ScrollBoxObject and deletes unneccessary spacing r?enndeakin+6102 r?bz
MozReview-Commit-ID: GrwTPJYai6O
--- a/dom/webidl/ScrollBoxObject.webidl
+++ b/dom/webidl/ScrollBoxObject.webidl
@@ -18,53 +18,28 @@ interface ScrollBoxObject : BoxObject {
/**
* Scroll the given amount of device pixels to the right and down.
* Values will be clamped to make the resuling position legal.
*/
[Throws]
void scrollBy(long dx, long dy);
[Throws]
- void scrollByLine(long dlines);
- [Throws]
void scrollByIndex(long dindexes);
[Throws]
- void scrollToLine(long line);
- [Throws]
void scrollToElement(Element child);
- [Throws]
- void scrollToIndex(long index);
/**
* Get the current scroll position in css pixels.
* @see scrollTo for the definition of x and y.
*/
[Pure, Throws]
readonly attribute long positionX;
[Pure, Throws]
readonly attribute long positionY;
[Pure, Throws]
readonly attribute long scrolledWidth;
[Pure, Throws]
readonly attribute long scrolledHeight;
- /**
- * DEPRECATED: Please use positionX and positionY
- *
- * Get the current scroll position in css pixels.
- * @see scrollTo for the definition of x and y.
- */
- [Throws]
- void getPosition(object x, object y);
-
- /**
- * DEPRECATED: Please use scrolledWidth and scrolledHeight
- */
- [Throws]
- void getScrolledSize(object width, object height);
-
[Throws]
void ensureElementIsVisible(Element child);
- [Throws]
- void ensureIndexIsVisible(long index);
- [Throws]
- void ensureLineIsVisible(long line);
};
--- a/layout/xul/ScrollBoxObject.cpp
+++ b/layout/xul/ScrollBoxObject.cpp
@@ -54,28 +54,16 @@ void ScrollBoxObject::ScrollBy(int32_t d
if (aRv.Failed()) {
return;
}
ScrollTo(pt.x + dx, pt.y + dy, aRv);
}
-void ScrollBoxObject::ScrollByLine(int32_t dlines, ErrorResult& aRv)
-{
- nsIScrollableFrame* sf = GetScrollFrame();
- if (!sf) {
- aRv.Throw(NS_ERROR_FAILURE);
- return;
- }
-
- sf->ScrollBy(nsIntPoint(0, dlines), nsIScrollableFrame::LINES,
- nsIScrollableFrame::SMOOTH);
-}
-
// XUL <scrollbox> elements have a single box child element.
// Get a pointer to that box.
// Note that now that the <scrollbox> is just a regular box
// with 'overflow:hidden', the boxobject's frame is an nsXULScrollFrame,
// the <scrollbox>'s box frame is the scrollframe's "scrolled frame", and
// the <scrollbox>'s child box is a child of that.
static nsIFrame* GetScrolledBox(BoxObject* aScrollBox) {
nsIFrame* frame = aScrollBox->GetFrame(false);
@@ -207,30 +195,16 @@ void ScrollBoxObject::ScrollByIndex(int3
sf->ScrollTo(pt, nsIScrollableFrame::INSTANT, &range);
} else {
// Use a destination range that ensures the top edge will be visible.
nsRect range(cp.x, rect.y - csspixel, 0, csspixel);
sf->ScrollTo(nsPoint(cp.x, rect.y), nsIScrollableFrame::INSTANT, &range);
}
}
-void ScrollBoxObject::ScrollToLine(int32_t line, ErrorResult& aRv)
-{
- nsIScrollableFrame* sf = GetScrollFrame();
- if (!sf) {
- aRv.Throw(NS_ERROR_FAILURE);
- return;
- }
-
- nscoord y = sf->GetLineScrollAmount().height * line;
- nsRect range(0, y - nsPresContext::CSSPixelsToAppUnits(1),
- 0, nsPresContext::CSSPixelsToAppUnits(1));
- sf->ScrollTo(nsPoint(0, y), nsIScrollableFrame::INSTANT, &range);
-}
-
void ScrollBoxObject::ScrollToElement(Element& child, ErrorResult& aRv)
{
nsCOMPtr<nsIPresShell> shell = GetPresShell(false);
if (!shell) {
aRv.Throw(NS_ERROR_UNEXPECTED);
return;
}
@@ -240,21 +214,16 @@ void ScrollBoxObject::ScrollToElement(El
nsIPresShell::SCROLL_ALWAYS),
nsIPresShell::ScrollAxis(
nsIPresShell::SCROLL_LEFT,
nsIPresShell::SCROLL_ALWAYS),
nsIPresShell::SCROLL_FIRST_ANCESTOR_ONLY |
nsIPresShell::SCROLL_OVERFLOW_HIDDEN);
}
-void ScrollBoxObject::ScrollToIndex(int32_t index, ErrorResult& aRv)
-{
- aRv.Throw(NS_ERROR_NOT_IMPLEMENTED);
-}
-
int32_t ScrollBoxObject::GetPositionX(ErrorResult& aRv)
{
CSSIntPoint pt;
GetPosition(pt, aRv);
return pt.x;
}
int32_t ScrollBoxObject::GetPositionY(ErrorResult& aRv)
@@ -299,86 +268,33 @@ void ScrollBoxObject::GetScrolledSize(ns
return;
}
aRect = scrolledBox->GetRect();
aRect.width = nsPresContext::AppUnitsToIntCSSPixels(aRect.width);
aRect.height = nsPresContext::AppUnitsToIntCSSPixels(aRect.height);
}
-void ScrollBoxObject::GetPosition(JSContext* cx,
- JS::Handle<JSObject*> x,
- JS::Handle<JSObject*> y,
- ErrorResult& aRv)
-{
- CSSIntPoint pt;
- GetPosition(pt, aRv);
- JS::Rooted<JS::Value> v(cx);
- if (!ToJSValue(cx, pt.x, &v) ||
- !JS_SetProperty(cx, x, "value", v)) {
- aRv.Throw(NS_ERROR_XPC_CANT_SET_OUT_VAL);
- return;
- }
- if (!ToJSValue(cx, pt.y, &v) ||
- !JS_SetProperty(cx, y, "value", v)) {
- aRv.Throw(NS_ERROR_XPC_CANT_SET_OUT_VAL);
- return;
- }
-}
-
-void ScrollBoxObject::GetScrolledSize(JSContext* cx,
- JS::Handle<JSObject*> width,
- JS::Handle<JSObject*> height,
- ErrorResult& aRv)
-{
- nsRect rect;
- GetScrolledSize(rect, aRv);
- JS::Rooted<JS::Value> v(cx);
- if (!ToJSValue(cx, rect.width, &v) ||
- !JS_SetProperty(cx, width, "value", v)) {
- aRv.Throw(NS_ERROR_XPC_CANT_SET_OUT_VAL);
- return;
- }
- if (!ToJSValue(cx, rect.height, &v) ||
- !JS_SetProperty(cx, height, "value", v)) {
- aRv.Throw(NS_ERROR_XPC_CANT_SET_OUT_VAL);
- return;
- }
-}
-
void ScrollBoxObject::EnsureElementIsVisible(Element& child, ErrorResult& aRv)
{
nsCOMPtr<nsIPresShell> shell = GetPresShell(false);
if (!shell) {
aRv.Throw(NS_ERROR_UNEXPECTED);
return;
}
shell->ScrollContentIntoView(&child,
nsIPresShell::ScrollAxis(),
nsIPresShell::ScrollAxis(),
nsIPresShell::SCROLL_FIRST_ANCESTOR_ONLY |
nsIPresShell::SCROLL_OVERFLOW_HIDDEN);
}
-
-void ScrollBoxObject::EnsureIndexIsVisible(int32_t index, ErrorResult& aRv)
-{
- aRv.Throw(NS_ERROR_NOT_IMPLEMENTED);
-}
-
-void ScrollBoxObject::EnsureLineIsVisible(int32_t line, ErrorResult& aRv)
-{
- aRv.Throw(NS_ERROR_NOT_IMPLEMENTED);
-}
-
} // namespace dom
} // namespace mozilla
-// Creation Routine ///////////////////////////////////////////////////////////////////////
-
using namespace mozilla::dom;
nsresult
NS_NewScrollBoxObject(nsIBoxObject** aResult)
{
- NS_ADDREF(*aResult = new ScrollBoxObject());
- return NS_OK;
+ NS_ADDREF(*aResult = new ScrollBoxObject());
+ return NS_OK;
}
--- a/layout/xul/ScrollBoxObject.h
+++ b/layout/xul/ScrollBoxObject.h
@@ -22,39 +22,24 @@ public:
ScrollBoxObject();
virtual JSObject* WrapObject(JSContext* aCx, JS::Handle<JSObject*> aGivenProto) override;
virtual nsIScrollableFrame* GetScrollFrame();
void ScrollTo(int32_t x, int32_t y, ErrorResult& aRv);
void ScrollBy(int32_t dx, int32_t dy, ErrorResult& aRv);
- void ScrollByLine(int32_t dlines, ErrorResult& aRv);
void ScrollByIndex(int32_t dindexes, ErrorResult& aRv);
- void ScrollToLine(int32_t line, ErrorResult& aRv);
void ScrollToElement(Element& child, ErrorResult& aRv);
- void ScrollToIndex(int32_t index, ErrorResult& aRv);
int32_t GetPositionX(ErrorResult& aRv);
int32_t GetPositionY(ErrorResult& aRv);
int32_t GetScrolledWidth(ErrorResult& aRv);
int32_t GetScrolledHeight(ErrorResult& aRv);
void EnsureElementIsVisible(Element& child, ErrorResult& aRv);
- void EnsureIndexIsVisible(int32_t index, ErrorResult& aRv);
- void EnsureLineIsVisible(int32_t line, ErrorResult& aRv);
- // Deprecated APIs from old IDL
- void GetPosition(JSContext* cx,
- JS::Handle<JSObject*> x,
- JS::Handle<JSObject*> y,
- ErrorResult& aRv);
-
- void GetScrolledSize(JSContext* cx,
- JS::Handle<JSObject*> width,
- JS::Handle<JSObject*> height,
- ErrorResult& aRv);
protected:
void GetScrolledSize(nsRect& aRect, ErrorResult& aRv);
void GetPosition(CSSIntPoint& aPos, ErrorResult& aRv);
private:
~ScrollBoxObject();
};