mediawiki-extensions-Visual.../modules/ve
Catrope 9372ca60ad Kill getOffsetFromNode() with fire
The way it operated was evil. It did a depth-first search from the root,
finding the node using reference equality. For documents with deep
structures, this could take a long time. Inez did some profiling and
found it was called tens of millions of times on a complex document.

Kill getOffsetFromNode() and move its functionality to getOffset().
The logic has been completely rewritten: getOffset() now traverses
up from the node rather than down from the root, and pretty much does
the reverse of what getNodeFromOffset() does. This should be much more
efficient even without offset caching in the node objects (which we may
still implement later).

Change-Id: I125f9fa423c40db6472e2c4a7c94214218ba3bc7
2013-05-09 17:26:22 -07:00
..
actions Configurable insertion annotations 2013-05-06 22:57:35 +00:00
ce Kill getOffsetFromNode() with fire 2013-05-09 17:26:22 -07:00
dm Kill getOffsetFromNode() with fire 2013-05-09 17:26:22 -07:00
init Mo' vectors (mo' problems) 2013-05-09 11:22:32 +01:00
styles Toolbar style fixes 2013-03-15 12:48:49 -07:00
test Kill getOffsetFromNode() with fire 2013-05-09 17:26:22 -07:00
ui Mo' vectors (mo' problems) 2013-05-09 11:22:32 +01:00
ve.Action.js Bump copyright notice year range to -2013 over -2012 2013-02-19 15:37:34 -08:00
ve.ActionFactory.js Bump copyright notice year range to -2013 over -2012 2013-02-19 15:37:34 -08:00
ve.BranchNode.js Kill getOffsetFromNode() with fire 2013-05-09 17:26:22 -07:00
ve.CommandRegistry.js Bump copyright notice year range to -2013 over -2012 2013-02-19 15:37:34 -08:00
ve.debug.js Bump copyright notice year range to -2013 over -2012 2013-02-19 15:37:34 -08:00
ve.Document.js EventEmitter API cleanup 2013-05-02 15:05:59 -07:00
ve.EventEmitter.js EventEmitter API cleanup 2013-05-02 15:05:59 -07:00
ve.Factory.js Remove more periods 2013-03-20 22:55:50 +00:00
ve.js Convert DOM elements to stringifiable objects for reporting 2013-05-08 14:42:43 +01:00
ve.LeafNode.js Bump copyright notice year range to -2013 over -2012 2013-02-19 15:37:34 -08:00
ve.NamedClassFactory.js Rename ve.NodeFactory to ve.NamedClassFactory 2013-04-09 12:05:05 -07:00
ve.Node.js Move common Node/Annotation/MetaItem code into ve.dm.Model 2013-04-09 12:05:05 -07:00
ve.Range.js Clickable inline images 2013-04-08 17:58:46 -07:00
ve.Registry.js EventEmitter API cleanup 2013-05-02 15:05:59 -07:00
ve.Surface.js EventEmitter API cleanup 2013-05-02 15:05:59 -07:00
ve.Trigger.js Bump copyright notice year range to -2013 over -2012 2013-02-19 15:37:34 -08:00
ve.TriggerRegistry.js Code style fixes 2013-05-06 12:36:52 +01:00