mediawiki-extensions-Visual.../modules/ve/ce
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
..
annotations Great Annotation Refactor of 2013 2013-04-08 18:10:16 -07:00
nodes ve.ce.ProtectedNode 2013-05-07 00:08:48 +00:00
styles Fixing shields 2013-05-08 12:29:25 -07:00
ve.ce.Annotation.js Add ve.ce.View as a common base class for ce.Node and ce.Annotation 2013-04-09 12:05:05 -07:00
ve.ce.AnnotationFactory.js Rename ve.NodeFactory to ve.NamedClassFactory 2013-04-09 12:05:05 -07:00
ve.ce.BranchNode.js ve.ce.ProtectedNode 2013-05-07 00:08:48 +00:00
ve.ce.ContentBranchNode.js Move completeHistory from dm.Surface to dm.Document 2013-05-09 14:54:25 -07:00
ve.ce.Document.js Kill getOffsetFromNode() with fire 2013-05-09 17:26:22 -07:00
ve.ce.DomRange.js DomRange makes more sense as a name for this class (cause it is not rangy specific). 2013-03-05 12:18:59 -08:00
ve.ce.FocusableNode.js ve.ce.FocusableNode: Fix documentation 2013-05-07 21:51:38 +02:00
ve.ce.js ve.ce.ProtectedNode 2013-05-07 00:08:48 +00:00
ve.ce.LeafNode.js Store data in LinearData class with an index-value store for objects 2013-03-30 10:06:34 +00:00
ve.ce.Node.js Kill getOffsetFromNode() with fire 2013-05-09 17:26:22 -07:00
ve.ce.NodeFactory.js Rename ve.NodeFactory to ve.NamedClassFactory 2013-04-09 12:05:05 -07:00
ve.ce.ProtectedNode.js Fixing shields 2013-05-08 12:29:25 -07:00
ve.ce.RelocatableNode.js ve.ce.ProtectedNode 2013-05-07 00:08:48 +00:00
ve.ce.ResizableNode.js EventEmitter API cleanup 2013-05-02 15:05:59 -07:00
ve.ce.Surface.js Merge "ve.ce.ProtectedNode" 2013-05-07 01:33:43 +00:00
ve.ce.SurfaceObserver.js ve.ce.ProtectedNode 2013-05-07 00:08:48 +00:00
ve.ce.View.js Also render attributes of the form html/i-j/attrName in CE 2013-05-08 18:10:46 +00:00