mediawiki-extensions-Visual.../modules/ve/dm
Roan Kattouw 74b8807df5 Resolve rendered URLs according to the provided <base>
This is done by using the computed property value rather than the
literal attribute value when rendering href and src attributes.
Helpfully, this provides perfect URL resolution natively in the browser,
which means the document's <base> is respected and all that good stuff.

For GeneratedContentNodes, we also need to find all DOM elements inside
the rendered DOM that have href or src attributes and resolve those.
This is done in the new getRenderedDomElements() function, which the
existing cleanup steps (remove <link>/<meta>/<style>, clone for
correct document) were moved into.

In order to make sure that the computed values are always computed
correctly, we need to make sure that in cases where HTML strings
in data-mw are parsed, they're parsed in the context of the correct
document so the correct <base> is applied.

We still need to solve this problem for models that actually store and
edit an href or src as an attribute. I'll post more about that on
bug 48915.

Bug: 48915
Change-Id: Iaccb9e3fc05cd151a0f5e632c8d3bd3568735309
2013-10-28 15:16:05 +00:00
..
annotations Remove ve.{inheritClass,mixinClass} and use OO instead 2013-10-18 18:58:08 +02:00
lineardata Remove ve.{inheritClass,mixinClass} and use OO instead 2013-10-18 18:58:08 +02:00
metaitems Remove ve.{inheritClass,mixinClass} and use OO instead 2013-10-18 18:58:08 +02:00
nodes doc: Adding missing @static to a static dm.GeneratedContentNode method 2013-10-23 22:08:47 +02:00
ve.dm.Annotation.js Remove ve.{inheritClass,mixinClass} and use OO instead 2013-10-18 18:58:08 +02:00
ve.dm.AnnotationFactory.js Remove ve.Factory and ve.Registry and use oojs instead 2013-10-22 19:15:18 +00:00
ve.dm.AnnotationSet.js Remove simpleArray utilities from ve.js and use oojs instead 2013-10-23 03:26:53 +02:00
ve.dm.BranchNode.js Rename @emits to @fires so we're forward compatible with JSDuck 5 2013-10-22 19:11:16 +00:00
ve.dm.Converter.js Resolve rendered URLs according to the provided <base> 2013-10-28 15:16:05 +00:00
ve.dm.DataString.js Remove ve.{inheritClass,mixinClass} and use OO instead 2013-10-18 18:58:08 +02:00
ve.dm.Document.js Rename @emits to @fires so we're forward compatible with JSDuck 5 2013-10-22 19:11:16 +00:00
ve.dm.DocumentSynchronizer.js Remove ve.getHash and use getHash from oojs instead 2013-10-22 19:14:23 +00:00
ve.dm.IndexValueStore.js Remove ve.getHash and use getHash from oojs instead 2013-10-22 19:14:23 +00:00
ve.dm.InternalList.js Resolve rendered URLs according to the provided <base> 2013-10-28 15:16:05 +00:00
ve.dm.js Bump copyright notice year range to -2013 over -2012 2013-02-19 15:37:34 -08:00
ve.dm.LeafNode.js Remove ve.{inheritClass,mixinClass} and use OO instead 2013-10-18 18:58:08 +02:00
ve.dm.LinearData.js Use FlatLinearData for storing converter results 2013-10-06 20:27:32 +01:00
ve.dm.MetaItem.js Use OO.EventEmitter instead of ve.EventEmitter 2013-10-22 16:57:33 +00:00
ve.dm.MetaItemFactory.js Remove ve.Factory and ve.Registry and use oojs instead 2013-10-22 19:15:18 +00:00
ve.dm.MetaList.js Rename @emits to @fires so we're forward compatible with JSDuck 5 2013-10-22 19:11:16 +00:00
ve.dm.Model.js Remove ve.getHash and use getHash from oojs instead 2013-10-22 19:14:23 +00:00
ve.dm.ModelRegistry.js Remove simpleArray utilities from ve.js and use oojs instead 2013-10-23 03:26:53 +02:00
ve.dm.Node.js Rename @emits to @fires so we're forward compatible with JSDuck 5 2013-10-22 19:11:16 +00:00
ve.dm.NodeFactory.js Remove ve.Factory and ve.Registry and use oojs instead 2013-10-22 19:15:18 +00:00
ve.dm.Surface.js Remove SurfaceObserver locking (unused) 2013-10-25 18:29:49 +01:00
ve.dm.SurfaceFragment.js .change( null, foo ) -> .setSelection( foo ) 2013-10-25 18:29:49 +01:00
ve.dm.Transaction.js Get rid of 'reversed' flag on transactions 2013-10-02 19:37:08 -07:00
ve.dm.TransactionProcessor.js Get rid of 'reversed' flag on transactions 2013-10-02 19:37:08 -07:00