- Implemented scroll snapping at the end of a middle-mouse-button scroll.
- As this scrolling occurs within chrome Javascript, chrome-only DOM methods
had to be added: window.MozScrollSnap and element.MozScrollSnap
- Bug 1137937 tracks implementation of a replacement for these chome-only DOM methods,
to be replaced with a web accessible API.
--HG--
extra : rebase_source : f511296dbdbfd97e3da391d2a0b67fd3f6edca6b
This causes quadratic behavior in forgetSkippable when there are many timeouts.
To avoid this, we mark the CC generation of the last time we ran CanSkip on the window,
and don't do it again if it hasn't changed.
- Added new WebIDL dictionary, ScrollToOptions. This dictionary extends
ScrollOptions by adding "left" and "top", specifying the scroll offset.
This will be later extended with more members to allow scroll offsets to be
specified with logical axes.
- Implemented Window.Scroll, Window.ScrollTo, Window.ScrollBy, Element.Scroll,
Element.ScrollTo, and Element.ScrollBy functions that accept ScrollToOptions
as a single parameter.
- Removed ScrollOptions dictionary parameter from existing Window.Scroll,
Window.ScrollTo, and Window.ScrollBy functions as these have been replaced
with functions accepting a single parameter, ScrollToOptions.
- Added new WebIDL dictionary, ScrollIntoViewOptions. This dictionary
extends ScrollOptions by adding "block", specifying whether the element
start or end will be scrolled into view.
- Replaced Element.ScrollIntoView(bool,ScrollOptions) with
Element.ScrollIntoView(ScrollIntoViewOptions) to match updated
CSSOM-View scroll-behavior specification.
Part 2 of this bug adds nsGlobalWindow as an observer for the app-offline
notification. There are however a few corner cases we haven't handled.
For example: If the browser is offline, and an app is made offline,
there should be no offline event dispatched.
Also, WorkerPrivate should ignore offline events that cause no change
in its offline state.
- WebIDL updated so that x and y parameters of window.scroll, window.scrollTo,
and window.ScrollBy are changed from "double" to "unrestricted double".
- Implemented mozilla::ToZeroIfNonfinite
- Updated nsGlobalWindow::Scroll, ScrollTo, and ScrollBy methods so that they
replace non-finite numbers with 0.
- Updated ScrollTo method in nsGlobalWindow to accept a
mozilla::dom::ScrollOptions parameter to select between the instant
and smooth MSD motion.
- Updated WebIDL binding boilerplate scrolling functions in nsGlobalWindow
to pass the correct value of mozilla::dom::ScrollBehavior to the
implementation and functions, activating smooth scrolling.
- These functions will need to be updated again to support the scroll-behavior
CSS property in Bug 1010538.
--HG--
extra : rebase_source : 7c9ce94d09fed5c4aea63442d683876c0a9a2e50
- Extended the Element and Window webidl interfaces as described in the
CSSOM-View smooth-scrolling specification.
- The Element.scrollTop and Element.scrollLeft changes have been omitted
until either WebIDL is extended to allow properties to have union datatypes
that contain dictionaries or the CSSOM-View smooth-scroll specification
is upddated. This will not prevent the other interface changes from being
useful.
- Implemented wrapper functions for the nsGlobalWindow to connect to the new
WebIDL bindings. The ScrollOptions parameters are ignored in this patch,
and used in Part 3 of this patch series.
--HG--
extra : rebase_source : db617cb63780e039ad69e4ed100c13042c676949
The current convention is that this returns null when invoked on an inner, which
callers may or may not handle correctly. But when we start using GetEntryGlobal,
we'll end up with a lot of inners where we used to get outers, so we should get
strict about this now.
- Updated ScrollTo method in nsGlobalWindow to accept a
mozilla::dom::ScrollOptions parameter to select between the instant
and smooth MSD motion.
- Updated WebIDL binding boilerplate scrolling functions in nsGlobalWindow
to pass the correct value of mozilla::dom::ScrollBehavior to the
implementation and functions, activating smooth scrolling.
- These functions will need to be updated again to support the scroll-behavior
CSS property in Bug 1010538.
- Extended the Element and Window webidl interfaces as described in the
CSSOM-View smooth-scrolling specification.
- The Element.scrollTop and Element.scrollLeft changes have been omitted
until either WebIDL is extended to allow properties to have union datatypes
that contain dictionaries or the CSSOM-View smooth-scroll specification
is upddated. This will not prevent the other interface changes from being
useful.
- Implemented wrapper functions for the nsGlobalWindow to connect to the new
WebIDL bindings. The ScrollOptions parameters are ignored in this patch,
and used in Part 3 of this patch series.