mediawiki-extensions-Visual.../modules/ve
Trevor Parscal 9303648406 The amazing mystery of scrollTop and onscroll
What I learned today:
* Window doesn't have a scrollTop property, body does (that's why animate
  doesn't work on window)
* jQuery.scrollTop() doesn't work on body (in firefox) but works on
  window everywhere
* jQuery.scrollTop() uses scroll offset, not the scrollTop property
* Body doesn't have an onscroll event, window does

What I really learned today:
* Browsers are very poorly designed

Objective:
* Make clippable elements properly resize in Firefox when scrolled

Diagnosis:
* Scroll events were not being emitted from the scrollable container
  after the merge of Ifec0dae598f7fd99270588bd8ca77777a07e9669 because
  such events are not emitted from body tags, only scrollable divs and
  windows
* jQuery.scrollTop was giving incorrect values when called on the body
  instead of the window, so also due to the aforementioned change, the
  clipping was being calculated incorrectly

Treatment:
* Add $clippableScroller property, which is either a scrollable div or
  the window (could this have side-effects if someone did something
  ridiculous like made the body absolutely positioned and overflow:auto?
  Yes, but I have no other option and that's a strange edge case don't
  you think?)
* Use $clippableScroller for listening to scroll events and getting the
  scrollTop value from jQuery

Bug: 55343
Change-Id: I819aba60b200059886b347115fda437b3dc9cb7a
2013-10-07 13:25:02 -07:00
..
ce Followup 571d6cac: when the selection changes, undo highlights 2013-10-03 15:50:51 -07:00
dm Merge "Get rid of 'reversed' flag on transactions" 2013-10-04 06:18:06 +00:00
init Merge "Add abstract method for getMediaSources." 2013-09-24 19:47:43 +00:00
test Merge "Get rid of 'reversed' flag on transactions" 2013-10-04 06:18:06 +00:00
ui The amazing mystery of scrollTop and onscroll 2013-10-07 13:25:02 -07:00
ve.BranchNode.js
ve.debug.js
ve.Document.js
ve.Element.js ve.Element: Fallback to body, window is not scrollable 2013-10-03 23:06:47 +02:00
ve.EventEmitter.js
ve.EventSequencer.js Fix function naming conventions, comments and whitespace 2013-09-17 19:37:08 +01:00
ve.Factory.js Make ve.Factory require static name property 2013-10-03 14:52:19 -07:00
ve.js Use element.textContent in ve.getDomElementSummary 2013-10-02 15:47:34 +01:00
ve.LeafNode.js
ve.Node.js
ve.Range.js doc: Fix incorrect syntax 2013-09-06 20:29:18 +00:00
ve.Registry.js Make tools generic and add fancy tool groups 2013-09-03 11:27:39 -07:00
ve.track.js