Commit graph

6723 commits

Author SHA1 Message Date
jenkins-bot dc3e192179 Merge "Make edit notices popup wider (320 -> 450)" 2018-03-26 21:31:07 +00:00
jenkins-bot 58f9cf7050 Merge "Autosave section title when adding new section in source mode" 2018-03-26 21:19:26 +00:00
jenkins-bot 5f8d287e12 Merge "Autosave recovery prompt" 2018-03-26 20:55:18 +00:00
jenkins-bot 44720da389 Merge "*Dialog: Drop verbose option, ignored since v0.20.0" 2018-03-26 16:18:49 +00:00
jenkins-bot 5325424988 Merge "Match audio & video elements in gallery DOM" 2018-03-26 16:18:46 +00:00
jenkins-bot ce425c1d56 Merge "[BREAKING CHANGE] Use upstream tryTeardown instead of close in MobileArticleTarget" 2018-03-26 16:12:35 +00:00
jenkins-bot 132d3fbaac Merge "Move some deactivation code from DesktopArticle to ArticleTarget" 2018-03-26 16:10:49 +00:00
James D. Forrester 9e01553f0b *Dialog: Drop verbose option, ignored since v0.20.0
Change-Id: If0bc7946b67aaae97886e8dbd956e9338b0e0b40
2018-03-26 08:55:03 -07:00
Ed Sanders 95fc150a4f Remove unused static overrides from dialog
Change-Id: I31f0310baa5c438b17f16749368102d8cede22db
2018-03-26 15:49:04 +01:00
Ed Sanders 28d8d2923e [BREAKING CHANGE] Use upstream tryTeardown instead of close in MobileArticleTarget
Change-Id: I33bcc98bc75ab049568de47faceb3f3390df5901
2018-03-26 15:32:55 +01:00
Ed Sanders 307e6c2922 Move some deactivation code from DesktopArticle to ArticleTarget
Also rename tryDeactive to tryTeardown.

Change-Id: Ie89d59a62826bcfe3d30ad04f89d3c4211cc34f4
2018-03-26 15:32:55 +01:00
Ed Sanders f89856f0ba Match audio & video elements in gallery DOM
Bug: T190631
Change-Id: Ic09927728b449dda43cf115fa9612ebd7a2bf23f
2018-03-25 22:04:57 +01:00
jenkins-bot 966e46ac80 Merge "Fix the image sizes in ve.ui.MWInternalLinkContextItem" 2018-03-23 05:36:51 +00:00
Ed Sanders f7b0118de0 Fix layout of media info fields
Bug: T190468
Change-Id: Ic81781318a9003064e7d8f283901d70a5bae6ebc
2018-03-22 22:15:52 +00:00
jenkins-bot 511dfc41ca Merge "Make save commands only executable when article is saveable" 2018-03-22 17:03:37 +00:00
Ed Sanders 8a974f25e6 Fix the image sizes in ve.ui.MWInternalLinkContextItem
Remove the image size styles from the class
.ve-ui-mwInternalLinkContextItem-hasImage too

Bug: T97631
Follow up: I84edeec38ecfb90f5d53
Change-Id: I39937bf4ba12f7047545b187c54a1c5fae157e4a
2018-03-22 17:03:19 +00:00
Ed Sanders 3a56d42901 Make save commands only executable when article is saveable
Change-Id: Ia22fbae45201254867bf6e8920aff944ba9276b9
2018-03-22 10:44:30 -05:00
Ed Sanders bfb59e9c8a Follow-Up I84edeec38: Use font-size: 1em instead of unset for invisible templates
Leaving it unset falls back to 'inherit' which is too large.

Change-Id: I0dd90b247b51070bbe10aad4941a9dc4a7ac60c1
2018-03-22 13:29:49 +00:00
David Lynch 75af29b57d DiffPage: Remember chosen diff mode
Use a new preference: visualeditor-diffmode-historical.

Bug: T189896
Change-Id: I0575cc0a86dc0683758d24c0f597834e38cf1095
2018-03-22 01:41:14 -05:00
jenkins-bot bfd4a5870f Merge "Use single-line editor for image captions" 2018-03-22 01:32:09 +00:00
Ed Sanders a58b529104 Autosave recovery prompt
Prompts the user before recovering if the document
has been edited since last load.

Bug: T190077
Change-Id: Ibc0e1d1342510fbca57ad599c1816918c84e5487
2018-03-21 16:23:35 -07:00
jenkins-bot 663b9f9a35 Merge "Remove special font-size treatment following-up UI unified in 14px base" 2018-03-21 21:07:16 +00:00
jenkins-bot e03f3e2c73 Merge "Update icons for new 20px grid" 2018-03-21 20:59:23 +00:00
jenkins-bot 5aa1bb8537 Merge "MWTransclusionNode: describe parameter changes for Visual Diffs" 2018-03-21 20:03:21 +00:00
James D. Forrester ece430258b Update VE core submodule to master (dc98cb7ec)
New changes:
617708fe1 Update rel attribute checks to be aware of multiple rel values
c22428f81 ve.ce.LinearSelection: Don't throw exceptions only to catch on the next line
406db2ce3 Localisation updates from https://translatewiki.net.
33f94faf7 tests: Update ve.dm.Converter#getModelFromDom cases for new metadata behavior
d85bf0d68 Use documentFragments when DOM splicing
110519f1c Update documentation now describeChange can return jQuery
ff7fa5fa0 Change http://www.mediawiki.org to https://www.mediawiki.org
09faa4a3d Fix error with tabs per this:
a329edf67 Localisation updates from https://translatewiki.net.
da864cc5e demos: Separate out and fix mobile-dist
380cc90c5 VisualDiffs: Unit test for timeout behaviour
601173c02 Clarify the "Log" button label on the debug bar
c52a2e07e demos: Fix auto-save by only storing doc state if not recovered
1b8d2c457 Auto-save: Save and restore last known selection
9e279e77e Fix deprecated icon name 'alignCentre' > 'alignCenter'

Local changes:
tests: Update ve.dm.Converter#getModelFromDom cases for new metadata behavior

Bug: T189687
Bug: T189939
Depends-On: I2059d8ce9140b733ee92436de395d735ab06b9df
Change-Id: I3c210112c84e2d2bd8226de3dad195bf17afb4c2
2018-03-20 16:38:54 -07:00
jenkins-bot cf9ddabe23 Merge "Disable visual diffs on source mode section edits" 2018-03-20 23:02:33 +00:00
Ed Sanders 8bfb270168 Use single-line editor for image captions
Depends-On: I2be081c766fab41b152d03b43e7e936e3f636166
Change-Id: Ifcdc34826ad81e96c22fd68ceb637107cde24d4a
2018-03-20 22:51:27 +00:00
jenkins-bot 2c96d24c76 Merge "Avoid jQuery.parseHTML" 2018-03-20 21:44:37 +00:00
jenkins-bot 0ed47a025e Merge "Only use pre-computed measurements for position loading bar" 2018-03-20 21:44:36 +00:00
Volker E d44bb0bc1b Remove special font-size treatment following-up UI unified in 14px base
Removing `0.8em` VE special base `font-size` for UI as we're unifying
OOUI interfaces to `14px` equals to `0.875em` at user agent default size.

Bug: T97631
Depends-on: I693d168d2ccf2babbcfe8952af3e1c262aa97773
Change-Id: I84edeec38ecfb90f5d53199f3b26fc3f83ab0611
2018-03-20 20:03:19 +00:00
Bartosz Dziewoński d80099dad1 Update icons for new 20px grid
Set viewBox to "2 2 20 20" to trim 2px off each side of our
existing 24px icons, therefore aligning them to the new 20px
grid. All of them had been drawn with large margins, so none
of the graphic is lost.

Bug: T177432
Bug: T190151
Change-Id: I23a6daa5dc2d4a9afc50f275da5df370d2319277
2018-03-20 20:03:11 +00:00
jenkins-bot 9d004c4d35 Merge "Use OOUI 'markup' icon instead of local 'alienextension'" 2018-03-20 19:50:55 +00:00
Ed Sanders 0f56af016d Use ellipsis on toolbar save/publish button
Bug: T189803
Depends-On: Ic29717a660de5e80ee2a37f583b2a61c11fa87c4
Change-Id: Idaf80ea7e6ae9ffa165a8638af886bf6ab21a7f0
2018-03-20 19:46:36 +00:00
jenkins-bot cea546b502 Merge "MediaContext: Link filename to file page" 2018-03-20 18:41:09 +00:00
jenkins-bot bb34d650c0 Merge "Improve media context item to show Image/Video/Audio instead of 'Media'" 2018-03-20 18:38:53 +00:00
Ed Sanders 10792e179f MediaContext: Link filename to file page
Change-Id: Ice3fdd40cd1f7b8ba2841ac326babc7f24a2635e
2018-03-20 17:45:50 +00:00
Ed Sanders c245dd9ca0 Improve media context item to show Image/Video/Audio instead of 'Media'
Change-Id: Ie3b7ec62483e725d3ce073095a2a958c1db930d5
2018-03-20 17:45:48 +00:00
Ed Sanders 78ba8bbe3c Use OOUI 'markup' icon instead of local 'alienextension'
Change-Id: Id15596ab0013cb2078480bdb4dde25ef8e7ae50b
2018-03-20 17:27:54 +00:00
jenkins-bot c20a610750 Merge "Factor out isSaveable method from updateToolbarSaveButtonState" 2018-03-20 17:26:39 +00:00
jenkins-bot ff21c17c37 Merge "Remove unnecessary attachToolbarSaveButton override" 2018-03-20 17:25:11 +00:00
Bartosz Dziewoński c99b4a0ad5 ve.ui.Icons: Add missing global "invert" variant
Bug: T190166
Change-Id: I28cc22d49881a25973b31e5e112130fb21cf4a37
2018-03-20 16:36:18 +01:00
David Lynch a228991181 MWTransclusionNode: describe parameter changes for Visual Diffs
Currently limited to single-template transclusions.

Bug: T188389
Depends-On: Id03d6a9866b56c00e11a030ed60b3c6fb7ead3d1
Change-Id: I332b5f5aa789fdc00510e9f03ea96e4058a28961
2018-03-20 10:35:03 -05:00
jenkins-bot 39a8c9e14b Merge "Restrict width of diff feedback button mobile" 2018-03-20 02:09:11 +00:00
jenkins-bot e23dd5fb6d Merge "Make gallery dialog work with native gallery implementation" 2018-03-19 23:39:00 +00:00
jenkins-bot 5b82bb180d Merge "Fix title preview when not overridden" 2018-03-19 23:24:21 +00:00
Thalia 12cc56400b Make gallery dialog work with native gallery implementation
Updates the model and re-renders the gallery.

Bug: T150621
Bug: T149602
Bug: T149596
Change-Id: I1e93c3af02eeeff1fcdaa5549cccc61ea755ee04
2018-03-19 23:55:17 +01:00
Ed Sanders 5e1c024d33 Parse title in show preview using hack
Really Parsoid should do this for us.

Bug: T189540
Change-Id: Ie3b5d458e7e6611565e5852f351d715a48be521a
2018-03-19 21:58:33 +00:00
Ed Sanders 81f3c2df38 Fix title preview when not overridden
Change-Id: I555b057d8f20704c0676646afd03c78ad3353f23
2018-03-19 21:56:54 +00:00
jenkins-bot 48028e84b9 Merge "Allow ve.ui.MWCategoryInputWidget to use different API" 2018-03-19 21:29:58 +00:00
jenkins-bot 98c9a395ac Merge "Show page title in preview" 2018-03-19 17:09:53 +00:00
petarpetkovic fe8b510232 Allow ve.ui.MWCategoryInputWidget to use different API
* Provide config option to specify which API
ve.ui.MWCategoryInputWidget will use.
* To be used in Iec79e687eff8c63434054282650c97cc882f348d

Change-Id: Ib8869d4facf8b3210b309200d944fad4508d7eee
2018-03-19 16:50:27 +01:00
Ed Sanders b80075a5e4 Avoid jQuery.parseHTML
Change-Id: Iaf5cbe27b8883d6e4c468a3b4dae11438d264894
2018-03-16 15:43:03 +00:00
Ed Sanders a1dffa2dd7 Only use pre-computed measurements for position loading bar
Change-Id: I5fc17a432de8030a6154c4e961ac10c73f391a79
2018-03-16 15:39:21 +00:00
Bartosz Dziewoński 13d77ba557 Remember 'checkboxesMessages' when storing document state
Bug: T188796
Change-Id: I4785fe2fb7df774735c1bd48c222540a0286dd44
2018-03-16 01:14:29 +01:00
jenkins-bot 1d227935d9 Merge "Autosave: only try to remove autosave on teardown if the surface exists" 2018-03-14 19:17:30 +00:00
jenkins-bot 79f27a5447 Merge "Clear VE autosave whenever WikiEditor is loaded" 2018-03-14 18:25:48 +00:00
jenkins-bot 3c861d7ed1 Merge "Clear auto-save when switching to fallback wikitext editor" 2018-03-14 17:55:44 +00:00
David Lynch 9762b096c8 Autosave: only try to remove autosave on teardown if the surface exists
It's possible for some load failure states to cause this teardown at a point
without a surface. I observed it in MobileFrontend, when restbase can't be
contacted.

Change-Id: I13489640759c73dad5730d0bbadbfb2a38cb8e53
2018-03-14 11:53:10 -05:00
Ed Sanders d0eafd6b8d Restrict width of diff feedback button mobile
Change-Id: Ia4ceb73efb76d7714102619fce9cd87cf34216f9
2018-03-14 14:32:37 +00:00
jenkins-bot e4a8c0b61b Merge "Attach deactivate code to namespace tab ('Main'/'Article')" 2018-03-14 09:19:16 +00:00
Ed Sanders c6653b6a2d Show page title in preview
Bug: T189540
Change-Id: Idc203f7fcafcf944108938168b492e90091e3255
2018-03-13 10:15:16 +00:00
jenkins-bot 540cb864ca Merge "ve.ui.MWGalleryDialog: Dedupe code for saving properties of each image" 2018-03-12 12:28:10 +00:00
Ed Sanders e0419f8388 Autosave section title when adding new section in source mode
Change-Id: Idcbe2f12e3eb0bb85e2c986885bd8084b16dbe5b
2018-03-12 12:25:12 +00:00
Ed Sanders 4fc2b32b17 Disable visual diffs on source mode section edits
Bug: T183938
Change-Id: I0d03c47e9b4c30760b7d3bd7bf90d91e79eb8569
2018-03-10 22:54:54 +00:00
Ed Sanders e78379a395 Attach deactivate code to namespace tab ('Main'/'Article')
Bug: T189380
Change-Id: I9f05722b9a1c740f9f982d9c5690d48046f19fdd
2018-03-10 19:07:11 +00:00
Ed Sanders c3c3c60f1f Clear VE autosave whenever WikiEditor is loaded
Bug: T189381
Change-Id: I21a76dc32327d6c6e72a793d9b579cb7b6a5e32e
2018-03-10 18:34:17 +00:00
Ed Sanders ec6d9b235a Clear auto-save when switching to fallback wikitext editor
Bug: T189381
Change-Id: Id89fa2a673ad8aef3826c0ef862770bf522bbdcf
2018-03-10 18:04:44 +00:00
jenkins-bot 2ae3f5f1c2 Merge "ve.ce.MWBlockImageNode: Allow normal CE rendering to handle the caption" 2018-03-10 17:28:34 +00:00
Bartosz Dziewoński 3c676013f8 ve.ui.MWGalleryDialog: Dedupe code for saving properties of each image
Currently this only handles the caption, but there will be more.

Change-Id: Ia8a25de89375d0ba873f4891b053c7aceab15534
2018-03-10 17:16:16 +00:00
Bartosz Dziewoński 26e7728272 ve.ce.MWBlockImageNode: Allow normal CE rendering to handle the caption
Overriding ve.ce.BranchNode#onSplice seems pretty scary, some bug
could cause two captions to be inserted and it wouldn't even be
visible in the editor.

Instead, allow normal splice handling to happen when the caption is
added/removed, and only override the position where it is inserted
(to account for the image node this.$a).

The caption node is already removed from DM/CE if the image type is
changed to one that doesn't have captions, and even if that failed it
is also hidden in CSS, so we don't need to handle this.

Change-Id: I54f52b288118d692708311512dd674cc85d5d9e3
2018-03-10 17:16:16 +00:00
Ed Sanders 9678cdc7c8 Factor out isSaveable method from updateToolbarSaveButtonState
Change-Id: Ic1922ed26bae26a76e8149d48f3fb27fa9ba4330
2018-03-10 16:20:30 +00:00
Ed Sanders 8b208c80d5 Remove unnecessary attachToolbarSaveButton override
It's identical to the code inherited form ArticleTarget.

Change-Id: I7fe7a48b0614f2ac2665ece042bb95a6f77303ad
2018-03-10 16:20:30 +00:00
jenkins-bot 00eb598352 Merge "Update rel attribute checks to be aware of multiple rel values" 2018-03-09 21:44:53 +00:00
jenkins-bot 04e5f6f208 Merge "LinkCache: styleParsoidElements find mw:WikiLink with ~=" 2018-03-09 21:44:52 +00:00
David Lynch b6c6d10d1e ce.MWTransclusionNode: increase invisible selector specificity
5f6664e2 in VE core changed the specificity for some of the rules this
expected to override.

Bug: T189267
Change-Id: I510e151cc431c321d1d45fde9030d56f059d84ab
2018-03-08 19:27:52 -06:00
David Lynch 4e10d5b975 Update rel attribute checks to be aware of multiple rel values
Various checks didn't think a rel attribute could contain multiple values.
Mostly they don't, but to play it safe let's adjust the checks.

Change-Id: I29823b7c8c65ef6b2ff41ce9a801840000972e9c
Depends-On: I33a456351ab025d0c81cfb1a1577d5a2ae9df51a
2018-03-08 14:34:56 -06:00
jenkins-bot 8e79d85583 Merge "Blacklist Web of Trust junk from being added to pages" 2018-03-08 00:33:48 +00:00
David Lynch f8c5608caf LinkCache: styleParsoidElements find mw:WikiLink with ~=
`noopener` being added to the rel caused issues.

Bug: T189175
Change-Id: I33a456351ab025d0c81cfb1a1577d5a2ae9df51a
2018-03-08 00:14:16 +00:00
Bartosz Dziewoński b05ac142c6 Blacklist Web of Trust junk from being added to pages
Bug: T189148
Change-Id: Icc4b2d0ddf5104e26a3f563816f6f971d71e2531
2018-03-07 22:12:43 +01:00
Ed Sanders 045f3b7640 Follow-up I5357a909: Fix logic for autosave from edited state
Bug: T189071
Change-Id: I5439a73ffcf26795f58625720b1f1667ee3965cc
2018-03-07 18:43:28 +00:00
Jforrester 16437646fe Merge "Update VE core submodule to master (ca771b8bc)" 2018-03-06 13:14:21 +00:00
James D. Forrester d144599cea Update VE core submodule to master (ca771b8bc)
New changes:
7551f6c66 [BREAKING CHANGE] Rename class ve.dm.IndexValueStore->ve.dm.HashValueStore

Local changes:
Follow-through rename of IndexValueStore->HashValueStore

Bug: T188900
Change-Id: If60d0c637fe92f0e7afe916c064fafb17980d063
2018-03-06 12:55:30 +00:00
jenkins-bot eb125877e2 Merge "Revert "For empty / whitespace-only headings, output <p> instead of <h#>"" 2018-03-06 12:22:31 +00:00
Ed Sanders a274bdb8f7 Revert "For empty / whitespace-only headings, output <p> instead of <h#>"
Parsoid now handles empty headings for us in
scrub_wikitext mode (which we use).

This reverts commit 884f301aa0.

Bug: T187913
Change-Id: I8690bbced64be76622929f78f9c9e0d8f85d4be8
2018-03-05 23:27:52 +00:00
David Lynch 09237b71ef mwExample: add test case for cross-document numberedlink paste
Bug: T188429
Change-Id: I722f30f07abd65dba93e9ba297b6933ef8ca79c2
2018-03-05 13:35:25 -06:00
David Lynch 795b428477 MWNumberedExternalLinkNode: set an explicit type
This lets copy-paste between documents retain the numbered status rather than
falling back on pasting "<a>[3]</a>".

Update the part of LinkCache which selects on mw:ExtLink, so it will handle
possible multiple values in the link rel.

Bug: T188429
Change-Id: Ia5e4c9fa45e94da9cbfcd2a42d017d0fda1c511f
2018-03-05 11:59:41 -06:00
Ed Sanders 4c759e2587 autosave: Handle switched document with no transactions
Always store immediately if fromEditedState is true. Also
now that we only store if there is state to recover, remove
the check for transactions before deciding to show the notification.

Change-Id: I5357a9098b91e303f5c71881ea03a080d2969fff
2018-03-04 23:40:24 +00:00
Ed Sanders 007bb6fa09 Refactor diffpage init
Avoid re-rendering the diff if it hasn't changed.

Change-Id: Icbc8eb58625cf7c5485d0045e26993a170016309
2018-03-04 14:45:33 +00:00
Ed Sanders 43ea4c2b51 Fix infinite recursion in positionDiffElement
updateSize eventually calls setDimensions, which calls
positionDiffElement, so protect against infinite recursion.

Change-Id: I07992f337394712000e6e12c637c6e1442869722
2018-03-03 18:47:08 +00:00
Ed Sanders d5a61eb95d Make edit notices popup wider (320 -> 450)
Bug: T184379
Change-Id: Id2df8f8d162db3389206666fa07ea4cc0be8cdec
2018-03-02 13:29:54 +00:00
jenkins-bot ad6ded970f Merge "ve.ce.MWBlockImageNode: Fix handling of borders" 2018-03-02 13:15:50 +00:00
Ed Sanders c8d0f62095 fetchSpecialCharList: Set directionality
Specifically, set arabic(extended) and hebrew to 'rtl'.

Logically depends on I14abd3e0c0d23f79aa01d96c216eea913024b4c8
to set the dir attribute in UI.

Bug: T56310
Change-Id: I1c7e28d3d2f20ca84115be6d49650cd9a81d78dd
2018-03-01 23:22:45 +00:00
jenkins-bot e7d7d5bab1 Merge "autosave: Don't store initial document state until first change" 2018-03-01 18:47:39 +00:00
jenkins-bot fbbda2a480 Merge "ve.ce.MWBlockImageNode: Remove unnecessary #setupSlugs override" 2018-03-01 18:39:48 +00:00
Ed Sanders 11ac2736a1 autosave: Don't store initial document state until first change
1. It wastes valuable time during setup.
2. If a user reloads the page without making changes we
   should give them the latest html from the server to
   minimise the chance of an edit conflict.

Change-Id: I9a1f8cfd65ef2552fe2c3d6d2bbf975851b52003
2018-03-01 18:25:10 +00:00
Bartosz Dziewoński d239b6ee6a ve.ce.MWBlockImageNode: Fix handling of borders
After change 89aecd54ba (2014),
there is no 'border' value for the 'type' attribute, instead
there is a 'borderImage' attribute only present when 'type'
is 'none' or 'frameless'.

Change-Id: Id87ba09b647f5f69b1c9350209e66acdea2c9d69
2018-03-01 01:08:30 +01:00
Bartosz Dziewoński 5b7c93f0d5 ve.ce.MWBlockImageNode: Remove unnecessary #setupSlugs override
MWBlockImageNode already can't have any slugs:
* It can't have inline slugs, because it can't directly contain
  content (`this.canHaveChildrenNotContent()` is true)
* It can't have block slugs, because it can't contain paragraphs
  (`this.isAllowedChildNodeType( 'paragraph' )` is false).

(The only thing it can contain is a mwImageCaption.)

Change-Id: Ice6505da2356f004ef048ed0b1a9e03d08af02d1
2018-03-01 01:08:30 +01:00
jenkins-bot 6155cd4434 Merge "Remove autoGenerated hack" 2018-02-28 18:41:29 +00:00
jenkins-bot 9840316ee9 Merge "Centralize Parsoid resource name parsing logic" 2018-02-28 15:09:20 +00:00
Ed Sanders 90b6a1b5cf Clarify autosave comment
Change-Id: I0bdaf989886be8537ea45237ceea88a5cca11fc1
2018-02-28 14:36:58 +00:00
Ed Sanders 19d9e9eb98 Tag TODO comments with bug number
Change-Id: I965e8d4bed4fdfa24738ca5cce0ae3f51e7f2b40
2018-02-28 14:36:42 +00:00
Bartosz Dziewoński 98a1bb09c0 Centralize Parsoid resource name parsing logic
Let's keep the ugly regexp and the comments about why we do this in a
single place.

This is mostly without behavior changes, with three exceptions:
* ve.dm.MWImageModel#attachScalable now passes a title with spaces
  instead of underscores to the Scalable (this doesn't matter because
  it's normalized to use spaces later anyway).
* ve.dm.MWImageNode#getFilename now returns a title with spaces
  instead of underscores. This is used in some API queries and when
  rendering thumbnails for missing files, and this format is actually
  more correct for both of these.
* ve.dm.MWTemplateModel now URI-decodes the template title. This
  actually fixes a bug where trying to edit a template transclusion
  whose title contains a '?' would throw an exception about invalid
  title.

Also, clarify that the return value of ve.dm.MWImageModel#getFilename
and ve.dm.MWImageNode#getFilename is different :(

Change-Id: I8e09015cea82308017ed925ec755b7231518126e
2018-02-28 03:01:05 +01:00
jenkins-bot 8727ecd181 Merge "Do not use deprecated jquery.byteLength" 2018-02-27 22:10:23 +00:00
jenkins-bot b5ceb1b956 Merge "ve.ui.MWSaveDialog: Allow limiting comment length by characters rather than bytes" 2018-02-27 22:06:01 +00:00
Bartosz Dziewoński 974ea82c50 Do not use deprecated jquery.byteLength
Change-Id: If3f921d60563bd614c269d1d26b745161f8cfc7b
2018-02-27 22:35:29 +01:00
Bartosz Dziewo??ski dbfe6c0b5a ve.ui.MWSaveDialog: Allow limiting comment length by characters rather than bytes
Bug: T185948
Change-Id: I882d69beb1cd442868c8d73988f5b3a2bbb084bc
2018-02-27 22:35:08 +01:00
jenkins-bot 12323a022e Merge "autosave: Use upstream methods in ve.dm.Surface" 2018-02-27 21:03:52 +00:00
jenkins-bot b3adaa5fc1 Merge "Show notification when document is recovered (or fails)" 2018-02-27 21:03:51 +00:00
Ed Sanders c670ce76ee autosave: Use upstream methods in ve.dm.Surface
Change-Id: I150b21d7767153d8457b5da658bb8b51b5464aa9
Depends-On: I859b57aef9d591597956f3d942dd2cf1b0aecee0
2018-02-27 20:54:59 +00:00
Ed Sanders a46b30a161 Show notification when document is recovered (or fails)
Change-Id: Id2f6651ba7743c05043bbbe64cd9cb7bd762d74b
2018-02-27 20:54:18 +00:00
jenkins-bot c44390e6f8 Merge "Use session storage to auto-save" 2018-02-27 20:20:31 +00:00
jenkins-bot 92470ae024 Merge "Always set sourceMode=true on dm.MWWikitextSurface" 2018-02-27 16:49:09 +00:00
Ed Sanders 76caef6b4b Use session storage to auto-save
Ensure we start with the same HTML (i.e. if an edit has
been made since the crash-recovery):
* Whenever an article target is activated, stash the initial
  document html, other parsoid response data, and the request
  parameters (pageName, mode, section) in session storage.
* Whenever an article is fetched through the target loader,
  recover from session storage if the request parameters match.

Store transactions:
* On document transaction (debounced) append the latest
  changes to session storage.
* If a document state is recovered from session storage,
  attempt to re-apply the stored transactions.

Clear transactions:
* Whenever the target is torn down (i.e. save, deliberately
  closing the editor to go back to read mode)

Other:
* If writing to session storage fails once, disable future
  attempts for that session (assume storage quota exceeded)
* Disable tempWikitextEditor when recovering. We don't have
  the transaction code loaded yet to perform the recovery.

Bug: T57370
Depends-On: I3832243fc347a99641fcb7e39a887a153c9a3b22
Depends-On: I448fb566fe9f7f5b5a76e88b70ca000e3d35b415
Change-Id: Id9d877f903cf4796a52f90991c030417a9f8786f
2018-02-27 12:19:06 +00:00
Ed Sanders 366219e953 Always set sourceMode=true on dm.MWWikitextSurface
Change-Id: Id46d5ef9c8a585784b8fbd55418d012fff96823f
2018-02-27 12:19:06 +00:00
Ed Sanders 31f7015260 Whitelist style tags from Parsoid, e.g. TemplateStyles
Bug: T188143
Change-Id: I7a30d8a8c40de8b786d59c8bf0ebcb77f2baeb2a
2018-02-26 16:52:01 +00:00
jenkins-bot 72756d5a26 Merge "MWImageNode: getHashObject -> getHashObjectForRendering" 2018-02-24 13:42:15 +00:00
Ed Sanders d17121d1f3 MWImageNode: getHashObject -> getHashObjectForRendering
The latter was introduced for this very purpose: defining
which attributes affect the rendering (in this case the
thumbnail URL). getHashObject should be reserved for making
full semantic comparisons.

Bonus: Don't distinguish between block/inline images
for URL caching purposes.

Change-Id: I6e6d2547a0d110f07c4d18b8179c168d8c251059
2018-02-24 12:44:53 +00:00
David Lynch abe3d0a4a5 DiffPage.init: Enforce a valid diff mode
Bug: T173400
Change-Id: I48b97e10fc6c6e2ca84563b58dd0bb8f42fa251f
2018-02-22 11:48:37 -06:00
jenkins-bot 3d93d195c7 Merge "Drop IE10 support" 2018-02-22 00:55:50 +00:00
Ed Sanders 05a504887d Drop IE10 support
Change-Id: Ib1cb8fb32c499ba0bdc87ec55e1e2e95d2eb39ec
Depends-On: I68c882e64fba95d5e1bf41f64658fcef7524dcf5
2018-02-22 00:47:38 +00:00
Jforrester 2e87e03a29 Merge "ve.ce.MWGalleryNode: Ensure we always have a focusable element" 2018-02-22 00:33:23 +00:00
jenkins-bot c5cc11079b Merge "ve.ui.MWGalleryDialog: Handle galleries with 0 items" 2018-02-22 00:31:30 +00:00
Bartosz Dziewoński 180eb91f3f Increase selector specificity for .ve-ce-focusableNode-invisibleIcon
Otherwise our width/height rules are overridden by OOUI styles.

Change-Id: I2bbf81231615e6fcfd95573f5f590b5101e66bdf
2018-02-21 22:30:45 +01:00
Bartosz Dziewoński a5e2f60d7e ve.ce.MWGalleryNode: Ensure we always have a focusable element
For galleries with 0 items, this would previously return an empty
jQuery collection, which caused funny rendering issues later.

Bug: T75230
Change-Id: Ia68e4f1b74b5ec494fa3d86f0b792f69eadb02fb
2018-02-21 22:22:49 +01:00
Bartosz Dziewoński 3d422bac2a ve.ui.MWGalleryDialog: Handle galleries with 0 items
We still don't allow inserting such galleries, but we can handle them
in existing content.

Bug: T75230
Change-Id: I5d7350f00871ac295b0ebc00a633b44570347d85
2018-02-21 22:11:41 +01:00
jenkins-bot dd94837192 Merge "MWTemplateTitleInputWidget: recover gracefully if TemplateData not present" 2018-02-21 18:14:12 +00:00
David Lynch bd64b58071 MWTemplateTitleInputWidget: recover gracefully if TemplateData not present
Bug: T187917
Change-Id: Ica0c853e1a7bc908651260df115d59d1939a7939
2018-02-21 11:53:56 -06:00
jenkins-bot 8d3e702976 Merge "Disable tempWikitextEditor for section=new on talk pages" 2018-02-21 01:29:58 +00:00
Derk-Jan Hartman 249c52b6a4 Hide historical diff controls when UA doesn't support JS
Bug: T187780
Change-Id: If29974323ef21016edbbb66870914a6dc37e7bbb
2018-02-20 16:54:31 +00:00
jenkins-bot 8f33fc6225 Merge "Add clearfix to diff page's visual diff element" 2018-02-20 16:52:39 +00:00
jenkins-bot d040645244 Merge "Avoid jQuery.parseHTML" 2018-02-20 16:50:06 +00:00
Ed Sanders 7fe496d8ef Avoid hiding generated #toc
Bug: T187636
Change-Id: I713479616feddb01c48c9bb6dda2f9c4aaf182e0
2018-02-20 16:18:27 +00:00
Ed Sanders fcf6ea9e67 Add clearfix to diff page's visual diff element
Bug: T187687
Change-Id: I4de925964fde7b0fffc6540ba821f9a8162cffe7
2018-02-20 15:04:25 +00:00
Ed Sanders ee5b80aeee Avoid jQuery.parseHTML
Bug: T187713
Change-Id: Ic156d6fb670fa2f79cf3c1d5fe0c6272b53b6440
2018-02-19 15:41:20 +00:00
Ed Sanders f2e7361460 Disable tempWikitextEditor for section=new on talk pages
The temp editor doesn't know about the title input
widget yet, so disable for now.

Bug: T185633
Change-Id: I3e44dcc30ee8372080c7cd8c5fc27eb167e24fc6
2018-02-16 18:32:41 +00:00
Ed Sanders 33858c6818 MWSaveDialog: Another check to see if visual diff is still visible
Bug: T187282
Change-Id: Ia29a335bf6b1bad0eeb55b54094475c7fcc18dfe
2018-02-16 15:21:12 +00:00
James D. Forrester dd3dddb98c Follow-up 0a7a845a4: Missed one
Change-Id: I252cb6678df9df503e07b635384a713f052a8abe
2018-02-14 14:25:07 -08:00
jenkins-bot 0c05b46bff Merge "Remove IE9 workaround" 2018-02-13 17:37:29 +00:00
Ed Sanders e0b7fbe6f8 NWE preview: Avoid skin style clash
Bug: T187075
Change-Id: I6ac6eebca3bd89ce19fb64f6e95809c4d595bc8b
2018-02-13 16:22:56 +00:00
Ed Sanders 119e9ef0f6 Remove IE9 workaround
Change-Id: Ifcb1690934ece7d373c764591e00740d6f1238ee
2018-02-13 10:45:16 +00:00
James D. Forrester b6c18b2d49 Don't try to insertMetas at 0,0, just at 0 now (lest we crash)
Bug: T187112
Change-Id: I56e39276637ea018c1ec742d833d115ee881a5d5
2018-02-12 19:32:23 +00:00
Fomafix 8079d081d0 Remove /* global confirm, alert */
The browser functions alert() and confirm() are not used.

Change-Id: I1b069937fe1548298d55a3e6616e189b72c3e8fa
2018-02-12 10:49:11 +01:00
jenkins-bot 3d0d5667bc Merge "ve.ui.MWWikitextSurface: Implement textSelection 'replaceSelection', 'encapsulateSelection'" 2018-02-08 23:58:24 +00:00
jenkins-bot b2400138a5 Merge "ve.ui.MWWikitextSurface: Make 'textSelection' API chainable methods really chainable" 2018-02-08 19:44:36 +00:00
Bartosz Dziewoński 5ce321bc60 ve.ui.MWWikitextSurface: Implement textSelection 'replaceSelection', 'encapsulateSelection'
Bug: T185917
Depends-On: I39bbbce20336a1286a07bf8032acdfb8a7e0cdb6
Depends-On: I05086ddce2ddd857ff88eba75cfdb6bf877bd924
Change-Id: I1e7ed33275d0a97f4b0b3c9756bbef2f3f3ad73c
2018-02-08 19:50:17 +01:00
Bartosz Dziewoński 5f36aac24c ve.ui.MWWikitextSurface: Make 'textSelection' API chainable methods really chainable
Change-Id: I1292021a4a8dee70cfa203a040f176996e4a13ff
2018-02-08 19:48:33 +01:00
Ed Sanders b14480f49b Assume wpTextbox1 has an API registered already
Bug: T186743
Change-Id: I19b085dfbf6229854c3d70807ffe83685ca811fe
2018-02-07 20:12:51 +00:00
Ed Sanders cefa0ebf7b Add trailing linebreak to NWE's temporary wikitext editor
Bug: T185632
Change-Id: I8225b08484e535668e8b0bd33eb3b8b09b80ff35
2018-02-02 11:10:18 +00:00
jenkins-bot 7dd6aea2d6 Merge "NWE: Use internal paste in compatible browsers" 2018-01-30 17:41:05 +00:00
jenkins-bot e613c8edc4 Merge "Load modules for preview" 2018-01-30 17:40:45 +00:00
jenkins-bot 8e1ec692d8 Merge "textSelection: Implement getCaretPosition" 2018-01-30 16:48:00 +00:00
jenkins-bot 5e2e0013ae Merge "Implement simple methods from $.textSelection API" 2018-01-30 16:47:19 +00:00
Ed Sanders 9e16e1cbd4 textSelection: Implement getCaretPosition
Bug: T185992
Depends-On: Id60f4b8aa177564f5252508ce6cff2424eb03fc8
Change-Id: I1a1a953dfbb299a15ba9d4d3e624e6779e72d11c
2018-01-30 10:54:02 +00:00
Ed Sanders aeb4f2f2b7 Implement simple methods from $.textSelection API
This should make it easier for some gadgets to work
with NWE.

Bug: T185992
Change-Id: Ic60440f345b8226fb5acaeb966e25eb003ad7866
2018-01-30 10:53:49 +00:00
Volker E e64ede5b49 Remove unnecessary and low-contrast opacity
Change-Id: I4853a77679687d23059c118914df42a1d3c2785c
2018-01-29 23:51:08 -08:00
Ed Sanders 9770c80615 Load modules for preview
Bug: T147702
Change-Id: I94f6bdf122d4e2c9fba3103f36c438980ce8228d
2018-01-29 22:35:00 +00:00
James D. Forrester 4ce103abb9 Update VE core submodule to master (c5fddd508)
New changes:
21a5d55b8 [BREAKING CHANGE] Store metadata as block nodes in the main data list
2f9868aae Localisation updates from https://translatewiki.net.
7a224cf4b Remove <style> tags from pasteTarget ASAP
fb4e894b6 Workaround missing child selector in OOUI for menuLayout
fa4f35281 rebaser: Fix sequencing of server operations
931ee29f6 SurfaceSynchronizer: Also translate selections that are not mentioned in the change
d232b8f04 Disable undo/usurp within SurfaceSynchronizer
d1b7fc597 ve.dm.Change: Truncate stores as well as transactions on conflict
7606f684d rebaser: Only apply artificial delay to submitChange events
9473e8b42 Toolbars: Replace $.width with clientWidth/offsetWidth
abb8f2075 ve.ui.DesktopContext: Remove unused CSS
050414205 ve.ui.DesktopContext: Remove old unnecessary CSS
7b8cbb830 Failing test case for losing annotations
5447d33e4 CommentNode: Protect against call after teardown
bf98ca2b6 Rebaser: Use better hack for disabling history commands
90c07f46c Rebaser: uninitialize fully
2a59016e4 Move updatingName recursion guard out of debounce

Bug: T56299
Bug: T185532
Bug: T185544
Bug: T185599
Bug: T185716
Bug: T185747
Change-Id: I45251811e3fbb3323a25ca5cf364e4cb94aa1d01
2018-01-29 08:43:08 -08:00
jenkins-bot d7d026425c Merge "Make visual diffs the default in visual mode" 2018-01-27 00:21:24 +00:00
Ed Sanders 35311ad66d NWE: Use internal paste in compatible browsers
Bug: T185730
Change-Id: I9410707e6e491fe1cbe0b367fccb94a29a1b3145
2018-01-25 17:40:26 -08:00
jenkins-bot 97fbd5619c Merge "Public API for the tempWikitextEditor" 2018-01-24 00:53:11 +00:00
jenkins-bot a77eea97b3 Merge "Sync tempWikitextEditor just before building target, not on every change" 2018-01-24 00:50:41 +00:00
jenkins-bot 14e557e936 Merge "Use jQuery 3 .catch( fn ) instead of .then( null, fn )" 2018-01-24 00:06:11 +00:00
Ed Sanders 8afe6c5c6d Public API for the tempWikitextEditor
Allows users to know when the widget has been constructed,
and access it (e.g. to set an initial selection)

Bug: T185279
Change-Id: I3678996bcf644cc889dd168ac3ce48b5c3633ec1
2018-01-23 15:30:51 -08:00
Bartosz Dziewoński a0e2afef8e Use jQuery 3 .catch( fn ) instead of .then( null, fn )
Change-Id: I676eec0acf25690c2b2dd0b9a414be5fee887395
2018-01-23 15:25:15 -08:00
Ed Sanders d294006d7b Sync tempWikitextEditor just before building target, not on every change
Also ensure tempWikitextEditor is always torn down, even if
target setup fails.

Change-Id: Idc30a9dc00491b8c85353d73cb9ff70afea1d51c
2018-01-23 15:13:10 -08:00
jenkins-bot f52ee56a02 Merge "Toolbars: Replace $.height with clientHeight/offsetHeight" 2018-01-23 23:01:37 +00:00
Ed Sanders 154f49e964 Toolbars: Replace $.height with clientHeight/offsetHeight
Bug: T185599
Change-Id: I43fbce8f221553e9ae03f8385f39a19de01e8eb7
2018-01-23 12:32:16 -08:00
jenkins-bot 53cd2346dc Merge "MWWikitextStringTransferHandler: Perform Parsoid cleanup on result" 2018-01-22 23:43:18 +00:00
David Lynch d97b734352 MWWikitextStringTransferHandler: Perform Parsoid cleanup on result
Parsoid markup delivered as a result of a paste was being handled differently.

Bug: T183173
Change-Id: Ic563d2c5cd1f663f35860892b369fb7ba34b9c55
2018-01-22 14:43:19 -08:00
Ed Sanders 3077bbe51c Remove Firefox support comment
This line isn't solely for supporting FF52, that is the order
in which it is called (move after attach, not before),
but that matches all our other widgets, so not sure
it needs commenting.

Change-Id: I6f3cc5687f1e4b995dff700d0765d14de1927d51
2018-01-22 11:27:46 -08:00
jenkins-bot 97b04fbea5 Merge "NWE: Don't attempt to set selection on unattached textarea" 2018-01-22 19:22:11 +00:00
Ed Sanders f2568c8d7d NWE: Don't attempt to set selection on unattached textarea
Prevents an exception being thrown in Firefox <= 52.

Bug: T185304
Change-Id: Ic9a43e3cf12d4cc566cebb328f8e807e464af634
2018-01-22 18:58:26 +00:00
David Chan c7b76329ad Use ve.dm.MetaList without explicitly requiring metadata index
For future compatibility with Ib5174b0dcba1c24f44d889e08140bee31a064011 .

Change-Id: I15f252ce5d36bc0c38c5f5035e5176bf5e6d96e5
2018-01-21 18:33:28 -08:00
David Lynch a52dc16244 Update TitleInput's getTitle to getMWTitle
cb92c72c63274b332dc81edf473b1b3979ab4bdf in MW core changed this.

Bug: T185231
Change-Id: I9084a11bd40e46bddbcd1922ff549703bc90f60f
2018-01-18 11:39:23 -06:00
jenkins-bot d5bf4d41de Merge "Remember preferred diff viewer" 2018-01-18 15:37:35 +00:00
jenkins-bot 31e7006610 Merge "getSelectedItem() -> findSelectedItem()" 2018-01-17 17:29:36 +00:00
Ed Sanders a1e2cb237c Resize link context item after getting description
Descriptions can run to more than two lines.

Bug: T183650
Change-Id: I3d0a5787cab19abc4851340b08fe4a109e7aec31
2018-01-17 16:06:28 +00:00
Ed Sanders 0169701257 getSelectedItem() -> findSelectedItem()
Change-Id: Idf90335d06800b690063c7b2a781e822f0ee7ba9
2018-01-17 13:39:13 +00:00
Ed Sanders e70fe7c1a1 Make visual diffs the default in visual mode
Bug: T178248
Change-Id: I9fe22862d4415df034a0054f934c9ebd1d731a5d
2018-01-17 13:31:07 +00:00
Ed Sanders 7661081ab9 Remember preferred diff viewer
Separate the preference by surface mode, so you can
use a different preference for NWE.

Bug: T178691
Change-Id: Ib8494a4562ce766a7c8ef7ec1447d06f5d0f17c5
2018-01-17 13:31:07 +00:00
jenkins-bot 140ec5f2ab Merge "NWE: Show temporary wikitext input widget while loading" 2018-01-16 18:13:47 +00:00
Ed Sanders b1ea5d618a Don't pass wikitext to requestPageData if unmodified
Bug: T184875
Change-Id: I41a72a9c7546fafc834bf837e507d9359872ff11
2018-01-14 16:16:47 +00:00
Arlo Breault 25e3662c00 Remove autoGenerated hack
Reverts some of 471e40e

Depends-On: I2b5c7ff552b3322be74f79a81936c41d58fecabc
Change-Id: Ibfcd4ced6c58c1cd0d362af3bdb43ce4e6879941
2018-01-12 11:52:42 -05:00
jenkins-bot 2091b8634a Merge "Use section fragment after-save even if the query is empty" 2018-01-10 21:41:59 +00:00
jenkins-bot 2ea64bdd27 Merge "Change save dialog accesskey to be entirely off the trigger" 2018-01-10 21:30:51 +00:00
Ed Sanders 886faf2adc NWE: Show temporary wikitext input widget while loading
Bug: T184614
Change-Id: I2e4964cb6329660957815dcb9a74d2ad24d5256b
2018-01-10 21:34:53 +01:00
jenkins-bot 9768750cd3 Merge "Use findItemFromData instead getItemFromData" 2018-01-10 19:54:30 +00:00
David Lynch 64944c119a Use mw.storage instead of localStorage
mw.storage catches errors, so we won't crash horribly when the user has
localStorage disabled / full.

Bug: T181822
Change-Id: I212994eb535b9a8fb5f6c09deaa10b16c3d7f10e
2018-01-10 11:44:24 -06:00
David Lynch a89c79dc79 Change save dialog accesskey to be entirely off the trigger
Accesskeys in this situation are unreliable cross-browser. Firefox won't
trigger the accesskey inside the dialog. We can manually simulate it, via the
existing trigger.

Bug: T121183
Change-Id: Ib919d8b9fcd9324a517037bcc6ef93a26d1488b9
2018-01-08 11:52:06 -06:00
Ed Sanders c41fd90a15 MWImageModel: Check selectedNode exists before asking for property
Bug: T180521
Change-Id: I1c10929abd6f5c4afa03a65904bc76fc82f8fcbb
2018-01-08 15:31:13 +00:00
David Lynch 874ba30ce8 Use section fragment after-save even if the query is empty
Bug: T181075
Change-Id: If2d1107982d3f947330c750c635ee221ab71610f
2018-01-05 11:55:38 -06:00
Bartosz Dziewoński 23158de319 Fix context menu for mobile TargetWidgets
Depends on Ica66325a8267d14f25fbc537b956573d1d3cc336 in VE core.

Bug: T157084
Change-Id: I9d9839d7e96eb1ef254e11554acfb955750a2915
2018-01-04 16:53:40 +00:00
jenkins-bot 683ac88fcc Merge "doc: Bump copyright year" 2018-01-03 19:20:07 +00:00
James D. Forrester 0a7a845a42 doc: Bump copyright year
Change-Id: I0b299c840ede1a1b8552cecfc70c5760ab036181
2018-01-03 17:45:07 +00:00
jenkins-bot fad1466d84 Merge "Fix editfont size in source mode" 2018-01-03 01:12:25 +00:00
jenkins-bot 75d4300ba6 Merge "ve.ui.MWSettingsPage: Fix doc comment" 2018-01-02 20:11:33 +00:00
Ed Sanders 459ce75cb2 Fix editfont size in source mode
Bug: T182320
Change-Id: I777a1a80cb9887bc473aecb5d7b25fd6454a3d60
2018-01-02 19:20:18 +00:00
Bartosz Dziewoński 4987c07793 Move things that are not modules out of modules/ directory
* Move SpecialCollabPad.php to /.
* Move screenshots for BetaFeatures to images/.
* Move localisation messages to i18n/.

Change-Id: I874ae135a3ac58118c3dea105136c8c8b6fb41bc
2018-01-02 11:05:23 +01:00
Bartosz Dziewoński 5f7e60e938 Remove unused files loading-ltr.gif, loading-rtl.gif
No longer in use since 6d8fbd8221.

Change-Id: If0392c49985fdd5b07c336e17eb5360e0a71770a
2018-01-02 10:47:32 +01:00
Translation updater bot 93b4371954 Localisation updates from https://translatewiki.net.
Change-Id: I304a6848db09772c9603b19a1dbc386f80f0d109
2018-01-01 09:21:05 +01:00