mediawiki-extensions-Visual.../modules/ve/ui
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
..
actions Make ve.Factory require static name property 2013-10-03 14:52:19 -07:00
elements The amazing mystery of scrollTop and onscroll 2013-10-07 13:25:02 -07:00
inspectors 'Config' -> 'Configuration' in all comments 2013-09-25 11:23:16 +01:00
layouts Refactor ve.ui.PagedDialog 2013-10-04 12:09:15 -07:00
styles Merge "Refactor ve.ui.PagedDialog" 2013-10-04 20:25:43 +00:00
toolgroups 'Config' -> 'Configuration' in all comments 2013-09-25 11:23:16 +01:00
tools Make toolbars, toolgroups and tools toolFactory independent 2013-10-03 21:49:36 +00:00
widgets Merge "'Config' -> 'Configuration' in all comments" 2013-09-26 19:02:30 +00:00
ve.ui.Action.js
ve.ui.ActionFactory.js
ve.ui.CommandRegistry.js Add keyboard shortcuts for formatting tools 2013-09-03 17:17:03 -07:00
ve.ui.Context.js Merge "'Config' -> 'Configuration' in all comments" 2013-09-26 19:02:30 +00:00
ve.ui.Dialog.js 'Config' -> 'Configuration' in all comments 2013-09-25 11:23:16 +01:00
ve.ui.DialogFactory.js Make ve.Factory require static name property 2013-10-03 14:52:19 -07:00
ve.ui.Frame.js 'Config' -> 'Configuration' in all comments 2013-09-25 11:23:16 +01:00
ve.ui.Inspector.js 'Config' -> 'Configuration' in all comments 2013-09-25 11:23:16 +01:00
ve.ui.InspectorFactory.js Make ve.Factory require static name property 2013-10-03 14:52:19 -07:00
ve.ui.js ve.ui.ViewRegistry annihilation 2013-06-26 16:52:10 -07:00
ve.ui.Layout.js 'Config' -> 'Configuration' in all comments 2013-09-25 11:23:16 +01:00
ve.ui.Surface.js 'Config' -> 'Configuration' in all comments 2013-09-25 11:23:16 +01:00
ve.ui.SurfaceToolbar.js Make toolbars, toolgroups and tools toolFactory independent 2013-10-03 21:49:36 +00:00
ve.ui.TargetToolbar.js 'Config' -> 'Configuration' in all comments 2013-09-25 11:23:16 +01:00
ve.ui.Tool.js 'Config' -> 'Configuration' in all comments 2013-09-25 11:23:16 +01:00
ve.ui.Toolbar.js Make toolbars, toolgroups and tools toolFactory independent 2013-10-03 21:49:36 +00:00
ve.ui.ToolFactory.js Make ve.Factory require static name property 2013-10-03 14:52:19 -07:00
ve.ui.ToolGroup.js Make toolbars, toolgroups and tools toolFactory independent 2013-10-03 21:49:36 +00:00
ve.ui.Trigger.js Add the special 'clear' (12) button to ve.ui.Trigger 2013-07-29 16:41:28 -07:00
ve.ui.TriggerRegistry.js Add keyboard shortcuts for formatting tools 2013-09-03 17:17:03 -07:00
ve.ui.Widget.js 'Config' -> 'Configuration' in all comments 2013-09-25 11:23:16 +01:00
ve.ui.Window.js 'Config' -> 'Configuration' in all comments 2013-09-25 11:23:16 +01:00
ve.ui.WindowSet.js 'Config' -> 'Configuration' in all comments 2013-09-25 11:23:16 +01:00