Go to file
Roan Kattouw 514039b2ba Clean up incorrect use of regular expressions in CategoryInputWidget
getLookupMenuItemsFromData() constructed a regex from user input
without escaping. I don't *think* there are any injection
vulnerabilities here but at the very least it triggers exceptions
when the input is, say, a backslash. Instead, use .lastIndexOf() which
allows us to efficiently check whether a string starts with a certain
prefix.

getLookupCacheItemFromData() was stripping out the Category: prefix
using a regex that hardcoded Category: (so failed to detect localized
prefixes) and used global replacement, which meant that strings with
multiple occurrences of 'Category:' were handled incorrectly. Instead,
use mw.Title to strip the prefix. Also move away from .map() because we
may need to drop a result if it doesn't pass mw.Title validation.

this.categoryPrefix still has a few legitimate uses left, so keep it
around but set it to the localized namespace prefix rather than Category:

Change-Id: I6547f9df2e94fe81f6aefb9286e547425137344b
2013-06-11 12:25:41 -07:00
.docs oojs: Integrate with OOJS v1.0.0 2013-06-06 17:29:55 +02:00
demos Merge "Fix conversion of byte to grapheme offsets/lengths" 2013-06-11 16:46:13 +00:00
maintenance Match non-BMP characters in wordbreak regexes 2013-06-10 23:16:23 +01:00
modules Clean up incorrect use of regular expressions in CategoryInputWidget 2013-06-11 12:25:41 -07:00
.csslintrc Add .csslintrc file and fix remaining warnings 2013-06-05 11:07:00 +00:00
.gitignore Implement Grunt support (grunt jshint,csslint,qunit,watch) 2013-06-05 11:10:23 +00:00
.gitreview
.jshintignore Implement Grunt support (grunt jshint,csslint,qunit,watch) 2013-06-05 11:10:23 +00:00
.jshintrc oojs: Integrate with OOJS v1.0.0 2013-06-06 17:29:55 +02:00
ApiVisualEditor.php Disable the 'cache' query parameter too 2013-06-10 15:41:49 -07:00
AUTHORS.txt Add Matma Rex to AUTHORS.txt 2013-04-26 16:13:58 -07:00
CODING.md Document and clean up events in all the things 2013-03-20 09:58:27 -07:00
Gruntfile.js Implement Grunt support (grunt jshint,csslint,qunit,watch) 2013-06-05 11:10:23 +00:00
LICENSE.txt Bump copyright year range to 2013 in the licence file 2013-03-18 09:55:57 -07:00
package.json Implement Grunt support (grunt jshint,csslint,qunit,watch) 2013-06-05 11:10:23 +00:00
README.txt Remove trailing whitespace everywhere 2013-05-25 15:04:11 +00:00
VisualEditor.hooks.php mw: Remove 'Report problem' feature 2013-06-08 01:11:27 +02:00
VisualEditor.i18n.php Localisation updates from http://translatewiki.net. 2013-06-10 07:32:31 +00:00
VisualEditor.php Merge "Match non-BMP characters in wordbreak regexes" 2013-06-10 22:19:15 +00:00
VisualEditorMessagesModule.php Merge "Implement new browser compatibility checks" 2013-06-05 12:32:56 +00:00

VisualEditor provides a visual editor for wiki pages. It is written in
JavaScript and runs in a web browser.

It uses the Parsoid parser to convert wikitext documents to annotated HTML
which the VisualEditor is able to load, modify and emit back to Parsoid at
which point it is converted back into wikitext.

For more information about these projects, check out the wiki:

	* http://www.mediawiki.org/wiki/VisualEditor
	* http://www.mediawiki.org/wiki/Parsoid