Go to file
Roan Kattouw ea3fccccaa Reduce complexity around onbeforeunload handler
We used to attempt to not break Firefox's bfcache, but this
didn't really work very well, and it's not clear that avoiding
bfcache breakage is even a good idea. It's more sensible and
consistent to deliberately break bfcache while VE is active.
On top of that, the Firefox people believe that our trick
shouldn't even have worked to begin with:
https://bugzilla.mozilla.org/show_bug.cgi?id=1102664

Because the onbeforeunload handler is removed when VE
is deactivated, bfcache still works if you first click
Read, then navigate away.

Also clean up the management of the unload handler, using
addEventListener() and removing the return value fallback
code that is needed for beforeunload but not unload.
For beforeunload this is harder to clean up because
the addEventListener()-based API for returning a value
isn't consistent across browsers.

Change-Id: Ie4fe9ea3a59a54ba462733aa5e42bfc0ed5b15eb
2015-03-03 16:36:22 +01:00
.docs Update VE core submodule to master (2e1a0bb) 2015-02-27 18:21:13 -05:00
bin Provide a script to automatically list recent commits for pre-deployment review 2014-06-12 12:29:18 -07:00
build/tasks Use submodule for VisualEditor core 2013-12-20 09:18:41 +00:00
lib Update VE core submodule to master (7bcf314) 2015-02-27 19:53:07 -05:00
modules Reduce complexity around onbeforeunload handler 2015-03-03 16:36:22 +01:00
.csslintrc Transform the search widget to show image details 2015-01-16 13:22:54 +00:00
.gitignore Implement Grunt support (grunt jshint,csslint,qunit,watch) 2013-06-05 11:10:23 +00:00
.gitmodules Use submodule for VisualEditor core 2013-12-20 09:18:41 +00:00
.gitreview Set defaultrebase=0 2012-06-20 16:27:40 -07:00
.jscsrc Switch 'disallowQuotedKeysInObjects' jscs rule on and fix up 2014-08-22 13:50:48 -07:00
.jshintignore Move libraries to the lib/ directory 2013-12-19 23:02:52 +01:00
.jshintrc test: Move mw into the global list of globals for VE-MW 2014-07-19 17:42:45 +00:00
.rubocop.yml [BrowserTest] RuboCop should not complain about number of lines in a method 2014-11-21 16:57:27 +00:00
.rubocop_todo.yml [BrowserTest] Remove outdated offenses from .rubocop_todo.yml 2015-02-20 13:39:18 +02:00
ApiVisualEditor.php Don't claim all links exist when ParserCache misses 2015-03-02 21:14:38 +01:00
ApiVisualEditorEdit.php Remove the sanity check 2015-02-17 17:14:34 -08:00
AUTHORS.txt AUTHORS.txt: Credit libraries as well as direct contributors 2014-11-13 16:45:03 +00:00
betafeatures-icon-VisualEditor-ltr.svg Run node-svgo to crush all SVGs whilst retaining readibility 2014-07-01 16:58:05 -07:00
betafeatures-icon-VisualEditor-rtl.svg Run node-svgo to crush all SVGs whilst retaining readibility 2014-07-01 16:58:05 -07:00
CONTRIBUTING.md Fix dead links in README.md and CONTRIBUTING.md 2014-03-10 18:26:30 +01:00
extension.json Promote the Language tool Beta Feature to always-on status 2015-03-01 17:15:48 -08:00
Gemfile [BrowserTest] Remove upload.rb - it's fully replaced with the gem 2015-02-23 11:27:55 +00:00
Gemfile.lock [BrowserTest] Update Gemfile.lock 2015-02-25 00:16:40 +00:00
Gruntfile.js build: Remove stray '*' before '/**' in csslint file pattern 2014-10-11 03:21:21 +02:00
LICENSE.txt build: Bump copyright notices to 2015 2015-01-12 20:34:19 -08:00
package.json build: Bump devDependencies to latest 2015-02-02 14:30:39 -08:00
README.md README: Add devDependencies badge 2014-09-16 13:39:31 -07:00
VisualEditor.hooks.php Promote the Language tool Beta Feature to always-on status 2015-03-01 17:15:48 -08:00
VisualEditor.php Promote the Language tool Beta Feature to always-on status 2015-03-01 17:15:48 -08:00
VisualEditorDataModule.php VisualEditorDataModule depends on ext.visualEditor.mediaWiki 2015-02-24 23:10:27 -05:00
VisualEditorViewPageTargetInitModule.php build: Bump copyright notices to 2015 2015-01-12 20:34:19 -08:00

devDependency Status

VisualEditor

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 VisualEditor and Parsoid pages on mediawiki.

Developing and installing

For information on installing VisualEditor on a local wiki, please see https://www.mediawiki.org/wiki/Extension:VisualEditor

For information about running tests and contributing code to VisualEditor, see CONTRIBUTING.md. Patch submissions are reviewed and managed with Gerrit. There is also API documentation available for the VisualEditor.