Commit graph

1421 commits

Author SHA1 Message Date
jenkins-bot ad7c364725 Merge "Better handling of read-only mode" 2016-03-10 21:22:34 +00:00
Alex Monk 0a6f6e1bbd Fix logging of event_action.saveFailure.message for responseUnknown
Change-Id: Ic8d3066d8f6ccf8bc4a1001fd4d406b313915e82
2016-03-10 21:03:25 +00:00
Alex Monk d2a9aefba7 Better handling of read-only mode
* Don't just fail to load, action=visualeditor itself should not write to the DB
  (we have action=visualeditoredit for that)
* Send notice to the client in the usual way
* Handle read only errors on save, log as unknown

This won't let you review changes because that uses visualeditoredit

Bug: T129501
Change-Id: Id78c06b031423e47a7ddf94ec615b6d6975309d3
2016-03-10 21:02:52 +00:00
Alex Monk 4462f2539a Suppress welcome dialog this time if we're showing the SET pref dialog
Bug: T129200
Change-Id: Iaa6d80df930cfcbd243efd31437cb8707da35c06
2016-03-10 17:54:15 +00:00
Timo Tijhof cf1d7c0dab mw.DesktopArticleTarget: Fix "Uncaught: Cannot read done of undefined"
Regression from 863a2c2974.

Sometimes when clicking "Switch to source mode" in the toolbar this
error is thrown and the interface freezes because setEditorPreference()
only returns a promise if the value is different.

> Uncaught TypeError: Cannot read property 'done' of undefined
> - ve.init.mw.DesktopArticleTarget.switchToWikitextEditor

Change-Id: Ie59f06a8ed9af9c4fb8199b013c06992d0c4f700
2016-03-08 23:13:11 +00:00
jenkins-bot 8d7baccd5f Merge "DesktopArticleTarget: Add Edge and MSIE to whitelist" 2016-03-07 23:28:58 +00:00
jenkins-bot 39f3cfa4a7 Merge "Keep summary and checkbox selections when swtiching WTE->VE" 2016-03-07 23:17:08 +00:00
jenkins-bot 075f569e51 Merge "Update ArticleTarget for new API token handling" 2016-03-07 23:14:32 +00:00
jenkins-bot 6ed2d23b13 Merge "Don't give the user the option to discard changes when changing editor" 2016-03-07 23:14:29 +00:00
jenkins-bot 15f8efed70 Merge "DesktopArticleTarget.init#getLastEditor: Check values for validity" 2016-03-07 23:14:26 +00:00
James D. Forrester 79d1f92b42 DesktopArticleTarget: Add Edge and MSIE to whitelist
Bug: T128447
Change-Id: Ia7afe4ddd5abd4fd1de85ba2d2df1fefa6735d79
2016-03-07 14:58:10 -08:00
James D. Forrester d8eb68d7b6 Don't give the user the option to discard changes when changing editor
Bug: T128585
Change-Id: I02f31e46ae7b2dc7505ed55fc56cd00f538a90e3
2016-03-07 13:39:32 -08:00
James D. Forrester b0407d840d Follow-up I65d96627: Remember the user's preference in WikiEditor too
Oh dear.

Bug: T129130
Change-Id: I12481ded12f99ab1ba59dbd403c1eed038235fd9
2016-03-07 13:03:35 -08:00
jenkins-bot 789979f223 Merge "Try to fix handling of empty document on WTE->VE switch" 2016-03-07 19:48:22 +00:00
James D. Forrester 302aeefd85 DesktopArticleTarget.init#getLastEditor: Check values for validity
Change-Id: I23e0884a97b3689dd42c3df11a6311cd0601c348
2016-03-07 11:27:23 -08:00
Ricordisamoa 993015e03b Update ArticleTarget for new API token handling
action=query&prop=info was being used because it can be combined
with action=query&meta=userinfo, while action=tokens cannot.

However, since MediaWiki 1.24 the 'intoken' parameter of
action=query&prop=info is deprecated, while the preferred way of
retrieving tokens is action=query&meta=tokens which not only can
be combined with action=query&meta=userinfo but also spares the
need of dealing with page ids.

Change-Id: I5ded3c303ede20514eeb2840715fe240b3b2c7e1
2016-03-05 14:44:07 +01:00
jenkins-bot ea11c33e6d Merge "Handle API errors when refetching the edit token" 2016-03-05 02:16:32 +00:00
Roan Kattouw 6322be2e07 Handle API errors when refetching the edit token
This can happen when the user gets logged out on a private wiki.
We get a badtoken error, so we try to refetch the token, which
itself returns an error. Token refetches didn't have error handling
at all and got the save dialog stuck in the pending state.

We can't offer the user to proceed with a different identity here,
because we encountered an error while trying to figure out what their
current identity is. The best we can do is encourage them to
log back in in a different tab.

Bug: T128934
Change-Id: I17d4452f688ec22631dbd12af223731635004d66
2016-03-04 18:06:33 -08:00
jenkins-bot 074885d7cf Merge "Follow-up 2c24efae: fix typo in event name for unknown save errors" 2016-03-05 02:01:57 +00:00
Roan Kattouw 84d534997e Follow-up 2c24efae: fix typo in event name for unknown save errors
This probably means we stopped logging unknown save errors
back in August.

Change-Id: I4a5bac244a469e73643e8a7d978d9212dd838fb0
2016-03-04 17:31:40 -08:00
Alex Monk dde45949a3 Try to fix handling of empty document on WTE->VE switch
Bug: T128635
Change-Id: Iff83e1d71e7186b8da875aa507f9e19e8d9c23ce
2016-03-04 02:05:41 +00:00
Ed Sanders 67c207a6f5 Use abstract target widget creation
Change-Id: Ic7e43e80f4f48df99842cee702963d54205e5055
Depends-On: I6a667a641540b347052ea0c645af4e1e59cf333a
2016-03-03 11:49:44 -08:00
Alex Monk 4ed6fd4010 Change Accept header a bit
Per post-merge commit on I77af4b58 by Subbu

Bug: T128233
Change-Id: I30c4c1ad5b68e5b8a006d7a6c7bcbaac7e2eb164
2016-03-02 15:37:37 +00:00
Alex Monk 21334a0fa8 Keep summary and checkbox selections when swtiching WTE->VE
Bug: T128529
Change-Id: I8a7deac1c4d9390c1db7d78c3e0a11d927ef127b
2016-03-02 11:55:50 +00:00
Ed Sanders d94d98ebfe ArticleTarget: Update documentation
'onReady' no longer exists

Change-Id: I6fbcf619ba471f69380a64ba02994bd6ef0ca246
2016-03-01 22:03:07 +00:00
jenkins-bot a0caedc6d9 Merge "API: Send Accept: header to RESTbase" 2016-03-01 03:24:45 +00:00
Alex Monk 2f135e9590 API: Send Accept: header to RESTbase
Bug: T128233
Change-Id: I77af4b58e5469a898063a3f838802e4f5769514b
2016-03-01 01:14:02 +00:00
Alex Monk d46c5e9f91 Fix WTE->VE switching in prefer-wt SET mode
Bug: T128402
Change-Id: I56af672f2334214f048a4bbfe2f9fab891832792
2016-02-29 23:46:11 +00:00
David Lynch 7486f74c6f MWMediaDialog: Only cache relevant information
Trim the cached image data from the media dialog down so that it only caches
the same information that would have been fetched for a non-uploaded image.
Consistency!

Bug: T126081
Change-Id: I0f057c111b66f29c6360e27f97256384f5320b75
2016-02-29 10:16:34 -06:00
jenkins-bot e39d8a744b Merge "Show welcome dialog on mobile too" 2016-02-29 03:02:03 +00:00
James D. Forrester ab4d3e956b Update VE core submodule to master (0371bbe)
New changes:
0371bbe [BREAKING CHANGE] Refine VisualEditorSupportCheck call and document pattern

Local changes: Use new VisualEditorSupportCheck pattern

Change-Id: I7dc0c360b54a93397180b18d88d72532e439da5c
2016-02-26 12:26:56 -08:00
Alex Monk ced27f348f Show welcome dialog on mobile too
Bug: T112599
Change-Id: Ie04aab468c80dabc84e1386e7529138e1101450e
2016-02-25 22:03:00 +00:00
jenkins-bot 7bef4c9a20 Merge "Warn for empty summary when edit section used" 2016-02-25 18:56:57 +00:00
Ed Sanders 229a088f34 Make surface measurable while activating
If the surface is display:none then $.width always
returns 0, which breaks features like FocusableNode's
invisible icon.

Bug: T127319
Change-Id: Ib157ffaeb56fca2bdc26868d830c4bf8feafa2a8
2016-02-23 17:05:09 +00:00
wctaiwan 5da37932a2 Warn for empty summary when edit section used
Warn the user about an empty edit summary when the "edit section"
link is used to trigger VE.

Re-does Ic7b456ca a different way.

Bug: T114857
Change-Id: I319c9c5bed47140a81eb409d490c9f82b89a49fe
2016-02-23 00:34:12 +00:00
Ed Sanders 083182debd Make platform language functions actually work
Previously arguments were not getting passed through.

Change-Id: I19fbd6f8a7f32163a85dda01fa46ac56a8c78cf8
2016-02-22 00:05:05 +00:00
Ed Sanders 15a47665c8 Meta dialog: Use window action to open windows
Because abstraction.

Change-Id: I9811db4380c6cf37a73a76b97c8439f94723c5a6
2016-02-19 17:37:42 +00:00
James D. Forrester cebaacb546 Update VE core submodule to master (cdfd84e)
New changes:
c02ea46 Clarify documentation of directionality methods
43c9b6f Move initialisation browser support checking from downstream
c89be66 Localisation updates from https://translatewiki.net.
5fb7907 Follow-up c89be66: Fix build for added language 'nan'
fc74fab dm.ElementLinearData.compareElements: Add a few missed test cases

Local changes:
Use initialisation browser support checking from upstream

Depends-On: I27a8e7b4376647f01cee648de987dc3ca6a060d5
Change-Id: I3fc79422ee5e487cf5fae3929fe492f21cd2840a
2016-02-17 20:04:16 -08:00
Alex Monk 83d8a7d9bb Don't remove .ve-activated after successfully activating
hideLoading always gets called after activating, not just failing

Follows-up: I13058ae1

Bug: T127184
Change-Id: I47d1892feacbfcf832aa32f689f173601b76c4ba
2016-02-17 15:36:18 +00:00
Alex Monk 9a1c0762cb Try to switch into the wikitext editor automatically if there is an error loading VE on action=edit
Bug: T125998
Change-Id: I2982f6e5f26086a1175b9fc8c3039a2143a44659
2016-02-13 02:56:01 +00:00
Alex Monk 1c1d018bc7 Unbreak VE
Follow-up to I13058ae1

Change-Id: Icb30f87746bea3911379fca9766877a36e8b5975
2016-02-13 00:58:42 +00:00
jenkins-bot bcae181cec Merge "Try to make MW->VE switching failures break less things" 2016-02-12 17:29:29 +00:00
Alex Monk 4a288a5866 Try to make MW->VE switching failures break less things
* Try to hide loading bar on failure
* Don't set wgAction back to 'view' if we're dropping the user back to the
  wikitext editor

Bug: T125580
Change-Id: I13058ae131a1dda3b172e78d9b143d70831c47f1
2016-02-11 02:39:06 +00:00
jenkins-bot 4a751524c4 Merge "Edit mode switch: Show popup next to VE switch button" 2016-02-10 01:51:57 +00:00
Ed Sanders 80124c88a6 Edit mode switch: Show popup next to VE switch button
Only show if the user came from VE.

Change-Id: Ic362ba534d135fca5516c8ba401f6b2a22886ff1
2016-02-10 01:36:32 +00:00
Alex Monk 863a2c2974 Don't try to tell the server to set preferences to their current values
It's rather pointless.

Change-Id: I8065af1d61108ce843c0afd2eaa0f1f9b85b6998
2016-02-10 01:04:47 +00:00
jenkins-bot d5f6c220d3 Merge "Follow-up I7e1edcf05c: Remove MonoBook z-index hack" 2016-02-09 14:28:16 +00:00
James D. Forrester a1db489d95 ve.init.mw.trackSubscriber: Sample at 6.25%
Bug: T125598
Change-Id: I1915a6456ba5dfc10e4a52df24cee2e68b27e526
2016-02-08 13:22:33 -08:00
James D. Forrester e6e492efc6 build: Bump various devDeps to latest and make pass
* grunt-contrib-jshint: 0.11.3 -> 0.12.0
  This version of the linter cleans up a number of options. 'es5' is now assumed to be
  true by default, and replaced as 'esversion'; 'latedef' is extended to also cover
  functions' defintions, disabled for us for now; 'futurehostile' is introduced to aid
  future-incompatible names for ES6+ support.

  I adjusted ve.init.mw.DesktopArticleTarget.init.js based on this, as this file is
  meant to be loaded by all JS-capable clients to determine if it is (amongst other
  things) capable of ES5, so now we assert ES3 compatibility via jshint.

* grunt-jscs: 2.5.0 -> 2.7.0
  Minor version bump that doesn't affect us.

* grunt-jsonlint: 1.0.6 -> 1.0.7
  Trivial version bump that doesn't affect us.

Change-Id: Ieb7b6748b0cecf275cfc284fc66617189372461f
2016-02-07 19:41:21 -08:00
jenkins-bot 2b01e43777 Merge "DesktopTarget: Move generic VE desktop styles into a separate module" 2016-02-08 01:59:56 +00:00
Ed Sanders 739f924e98 Follow-up I7e1edcf05c: Remove MonoBook z-index hack
The cited reasons were that the the logo and search bar
have a z-index of 3, but that doesn't matter as they are
nested in other elements with z-indexes.

Change-Id: I7ff279efe7c01ba1ffb1fa0d460d59a493ccc47a
2016-02-07 17:40:50 -08:00
Ed Sanders c51cef07b9 DesktopTarget: Move generic VE desktop styles into a separate module
Here they can be re-used by other VE desktop targets,e.g. Flow.

Change-Id: I18431ff73fc1c6ab5639a579e85b0f0cc48cb9ce
2016-02-07 17:39:57 -08:00
jenkins-bot 16c498fa97 Merge "DesktopArticleTarget#editSource: Use actionFactory to create a window with the surface" 2016-02-07 10:30:06 +00:00
Ed Sanders efd41fbc74 Remove global overlay hack now fixed in Vector
Change-Id: Ic5cfb7ae4d244799be56e12b4b0a44b6ddd00303
Depends-On: I5ebb4e59e3714dfaa3d755ecf6285009efe7b62a
2016-02-07 03:26:02 +00:00
Ed Sanders 9bf010c33c DesktopArticleTarget: Cleanup styles
* Use more specific ve-init-mw-desktopArticleTarget class
* Add comments and reorder in places

Change-Id: Ic9291d3e50304fe3a0efa7ace1ce93c7fba91d98
2016-02-06 19:26:06 -08:00
Alex Monk 138fafbbb9 DesktopArticleTarget#editSource: Use actionFactory to create a window with the surface
So the normal logic is used to close other windows etc.

Bug: T125479
Change-Id: Iee9ef7484de745f3adced28cdbcc87a0c2b597f5
2016-02-06 02:02:39 +00:00
James D. Forrester 1e0486a679 Remove all Extension:Cite code, now moved there
Depends-on: I39936ed83d5a60471a0a75da753f498e80aef234
Depends-on: Ifd853bf9f901065798bd0063aeaa786a3761aa71
Depends-on: I32c93c5118eafe5f071252290c58d3de8dacc81a
Change-Id: Iba0f25b3ebe4e5e63377da57afb760d6980f9907
2016-02-05 21:36:56 +00:00
Alex Monk 9808d04bfe Check xhr.responseText is set before trying to send it to $.byteLength
Bug: T125399
Change-Id: I09881fe8b6db7d95e32732129d043c4a13fa7a9a
2016-02-02 18:52:56 +00:00
Ed Sanders 74358498da Update VE core submodule to master (70ff8cc)
New changes:
242ab45 DesktopContext: Float the context when it goes beyond the viewport
405c44d Rename TableContext to TableLineContext
6c564be Sort messages alphabetically
70ff8cc Introduce table and table cell context

Change-Id: I4357162bc192c90f99ca0aec12eb67bf848e5504
2016-02-01 10:51:26 -08:00
Alex Monk 8cc034b9af Run VE->WTE modification checks regardless of how the user got into VE
I think this fixes a bug similar to the one described in the bug below.

Bug: T124708
Change-Id: I61558227315bec36b71dac281b8da311a3d6bb1a
2016-01-30 03:06:46 +00:00
Ed Sanders 0ed45dbf61 MWTable: use new sanitization method
This prevents tables from getting sanitized even on
VE to VE copy. Also by calling ClassAttributeNode sanitize
extra CSS classes are removed.

Bug: T97462
Bug: T125220
Depends-On: Ia3ce386b2a03bc227818b10423bca72c736c0656
Change-Id: Ifd91e00b40665b446bbdcdf8859d2bb641bc0e67
2016-01-29 10:29:19 -08:00
jenkins-bot f78dd8ad72 Merge "MWWelcomeDialog: Let the user switch editors" 2016-01-27 00:20:10 +00:00
James D. Forrester d8769edd01 MWWelcomeDialog: Let the user switch editors
Change-Id: If88942d866278f3012dae7972d464a3d2a6a4f82
2016-01-27 00:14:07 +00:00
James D. Forrester 2c76dc5b50 MWEditingTabDialog: Use 'small' size
Change-Id: Icb30d4fbea21653cf2fb6c782a4314be97a3e0a2
2016-01-26 14:51:55 -08:00
jenkins-bot 75b0a8de63 Merge "Don't try to load VE over the top of the wikitext editor we just switched to" 2016-01-26 17:01:24 +00:00
Alex Monk 589437a772 Don't try to load VE over the top of the wikitext editor we just switched to
(if we discarded changes)

Bug: T124316
Change-Id: Ic5e6ee8f4b6e75c3ae877021bcb29733b881e6d2
2016-01-26 16:49:50 +00:00
Alex Monk d7183d7e64 Check user permissions for viewsource before loading VE on-load on action=edit/submit etc.
Clicking 'View source' should probably not cause VE to load

Bug: T124650
Change-Id: I236de38b0f90f1aaa5d04b57cb7759e5951baf2b
2016-01-26 16:47:26 +00:00
Alex Monk bfa15c44a5 Check user preferences before loading VE on-load on action=edit/submit etc.
Bug: T124743
Change-Id: I2e8a19014464a2b7fb76de08676e7cb808e06956
2016-01-26 02:48:27 +00:00
jenkins-bot d29524c8b3 Merge "When loading VE from action=edit/submit, replace the title shown" 2016-01-22 20:43:02 +00:00
Alex Monk 38180b5d4d When loading VE from action=edit/submit, replace the title shown
Bug: T117643
Change-Id: Ice21389d02ea10adc668c5b0a64ba2b0b9cf5744
2016-01-22 20:27:01 +00:00
jenkins-bot ee70cc5c44 Merge "Single Edit Tab: simplify logic; make 'prefer-wt' just disabled" 2016-01-18 21:28:26 +00:00
James D. Forrester aa08d34318 Single Edit Tab: simplify logic; make 'prefer-wt' just disabled
Change-Id: I090375933656f29636c355c4d2ce358dd7f7f074
2016-01-18 11:23:59 -08:00
James D. Forrester 68ea08cd5e Drop support for adding prefix/appendix labels to edit tabs/links
Depends-On: I264599a1c4f60b37a46d49c808cf271ba0a8f882
Change-Id: Icebc378f5c00aac57ad361f8ba85da93b8178650
2016-01-18 03:06:33 +00:00
James D. Forrester ada58df361 build: Bump file copyright notices for 2016
Change-Id: I3c618c196e504a80ca297a4132a17f1977a24fb7
2016-01-03 14:57:25 -08:00
James D. Forrester 4a781a3a16 EditingTabDialog: Shorten the copy to make snappier, drop 'Edit' tab name
Change-Id: Idd5f373d9fef364318efddcc98ea2de5e91860a8
2016-01-03 13:44:54 -08:00
Alex Monk 85bb085418 DesktopArticleTarget: Preserve oldid when switching from WTE into VE
Change-Id: I8682a2a2b90ae2e42f1a8e01e16d0f9f3d66a2d5
2016-01-03 10:59:21 -08:00
jenkins-bot 26e3c0ad1d Merge "Preserve oldid when switching from VE into WTE" 2016-01-03 06:35:58 +00:00
jenkins-bot 3231220774 Merge "SET: Don't try to do any client-side section link magic if we're not supposed to." 2015-12-23 23:18:57 +00:00
Alex Monk 76cb69ecec SET: Don't try to do any client-side section link magic if we're not supposed to.
Ugh.

Bug: T121599
Change-Id: I47a93d5dbedc5ae989a2973fb793ac99edfb139a
2015-12-23 22:10:20 +00:00
Ed Sanders 2afd7c903d DesktopArticleTarget: Improve teardown sequence
* Ensure activating classes are removed by rejecting activatedDeferred
  as soon as teardown starts.
* Try to teardown surfaces is surfaces exist, not just if the target is active.
* Remove noop teardownDebugBar. The debugbar lives inside the surface now.
* Ensure progress bar is always reset, even if target setup is aborted.

Bug: T99139
Change-Id: I16a071c0d4bc8bbc6af2e03e63ee0ffc18d55c75
2015-12-23 12:13:50 +00:00
Alex Monk c10236cc58 Preserve oldid when switching from VE into WTE
Bug: T120898
Change-Id: I51774fd7ca5be7373d8aec55cb420a874bc7d531
2015-12-18 00:47:03 +00:00
jenkins-bot 607878e2ba Merge "MWTarget: Only add ve-init-mw-target-surface to the main target surface" 2015-12-16 20:06:33 +00:00
Ed Sanders a689caa762 MWTarget: Only add ve-init-mw-target-surface to the main target surface
Avoid adding it to TargetWidget surfaces.

Bug: T121450
Change-Id: I7c43b07c5bade3a778ad423e39b25616e03aa888
2015-12-16 14:36:06 +00:00
Alex Monk c99a5b627e DesktopArticleTarget: Change tab text on server side when possible
Usually. Unless you load VE, because then you might be loading on
`action=edit` in remember-last mode and therefore the tab text needs to
be updated from "Edit source" to "Edit". Or "Create source" to "Create".
Or the equivalent with 'local description' in the case of pages from
foreign file repos, etc.

Bug: T120970
Change-Id: I8f07be6c8e415b40ad134ee82d0bda1d63cc4f96
2015-12-15 10:49:45 -08:00
Alex Monk 76a12f2f9b Try to actually resolve visualeditor-editor preference setting when switching editors
Seems we need to make sure this returns before navigating to the target page.
This reverts commit 40807a0743.

Bug: T121122
Change-Id: I4edf03bc0d57b03897d9f1802eabd8f0dd9962b9
2015-12-15 17:35:22 +00:00
jenkins-bot b08c8bd682 Merge "Fix up "Simplify some SET logic"" 2015-12-15 02:56:45 +00:00
Alex Monk 39af893c75 Fix up "Simplify some SET logic"
By 'simplifying', I broke stuff.

This reverts commit b7227f96fe.

Change-Id: I46fdcf336f556680fa72df0893447b6850cc4b1d
2015-12-15 02:50:15 +00:00
jenkins-bot d3d851f394 Merge "Simplify some SET logic" 2015-12-14 21:17:15 +00:00
Alex Monk b7227f96fe Simplify some SET logic
Change-Id: Ie89260607f0253dd7d749af7426702985a0340f4
2015-12-14 21:11:15 +00:00
jenkins-bot 33cbf199f1 Merge "Revert "DesktopArticleTarget: Don't abort in SET mode if veswitched is set"" 2015-12-14 20:53:28 +00:00
Jforrester 40807a0743 Revert "DesktopArticleTarget: Don't abort in SET mode if veswitched is set"
This reverts commit 5b083a7272.

Change-Id: Ieac905b80ea219075b4de498d645f22c3e86c5ca
2015-12-14 20:46:08 +00:00
jenkins-bot d750417545 Merge "Take pageCanLoadVE into account when figuring out whether VE will load in-page or not" 2015-12-14 17:14:41 +00:00
jenkins-bot 04d8089db6 Merge "Fix setEditorPreference call" 2015-12-14 17:08:42 +00:00
Alex Monk 774034b553 Take pageCanLoadVE into account when figuring out whether VE will load in-page or not
Bug: T121342
Change-Id: I84ade6e2ab062597fbfd859a90a864c7607547da
2015-12-14 16:58:26 +00:00
Alex Monk a3148a1559 Fix setEditorPreference call
Added brokenly in I82e39752

Bug: T121343
Change-Id: Ie7b228e94458b17d6ec7c23be264144dec9563be
2015-12-14 16:49:28 +00:00
James D. Forrester 5b083a7272 DesktopArticleTarget: Don't abort in SET mode if veswitched is set
Bug: T121122
Change-Id: I6dca85361be0c1c1c0d39b12b167af813706ae0b
2015-12-11 18:15:25 -08:00
James D. Forrester 2368171fb7 DesktopArticleTarget: Consolidate editor preference setting code
Change-Id: I82e3975233eee0473b513d0931a2d6770fc0f86d
2015-12-11 17:12:28 -08:00
Alex Monk 0774bdf924 Try to clean up the WT->VE prompt opened -> closing -> closed data callbacks
To use
	.then( function ( opened ) { return opened; } )
	.then( function ( closing ) { return closing; } )
	.then( function ( data ) {
etc. instead of nesting them in .done functions

Change-Id: Ic8cee9639b90cb378ce0b7e58dc04eab0ff4cbc7
2015-12-11 23:43:13 +00:00
Alex Monk 155d0240a4 Remember switching into VE from WT when discarding changes
Bug: T120966
Change-Id: I9a7b87cb2561416b72f53afa5140e9d2a4330cfe
2015-12-11 23:35:59 +00:00
Alex Monk 9e5a01aa6b Check that we really want VE before loading it for section edits
Bug: T121189
Change-Id: I34371bf78d34e9d362e9cf5c64bdd108478969b9
2015-12-11 23:19:07 +00:00
jenkins-bot e24e2ed7cf Merge "[BREAKING CHANGE] Create ve.init.mw.Target base class" 2015-12-11 18:16:22 +00:00
Ed Sanders fbb05fb8ed Use upstreamed actionGroups functionality
Depends on I272175dff3 in ve core.

Change-Id: I94cef0f3d8c1b903780890934c2c4963cbe05989
2015-12-11 16:43:48 +00:00
Ed Sanders 21d5856000 [BREAKING CHANGE] Create ve.init.mw.Target base class
Move over logic which isn't specific to the article
implementation of VE (e.g. nothing related to loading/saving).

Refactors setupSurface to use an abstract tracking method (which
does nothing by default), and moves surface CSS classes to #createSurface.

Breaking change:
* Rename onSurfaceReady to surfaceReady. We shouldn't need to listen
  to our own events.
* Rename onReady to documentReady. onReady is not a listener.

Bug: T97166
Change-Id: I7242b1bb5501b7755a18a13d13e166c30cac9cdd
2015-12-11 16:41:47 +00:00
Ed Sanders 672c91f41b DesktopArticleTarget: Fix signature of editNotices
Also ensure it is always an array.

Change-Id: I8498463d3131817b90fa91404289c839110bdeaa
2015-12-11 16:41:47 +00:00
Alex Monk 98a456b189 Single edit tab: Fall back to the wikitext editor when certain parameters show up
We can't handle these yet. There's also 'preview' but I think we probably
qualify as supporting that.

Bug: T121126
Change-Id: I4602992a77f460b9bfcbad0eac1bdd79d67df04d
2015-12-10 23:13:25 +00:00
Ed Sanders 29f33a57d5 Rename mw.Target to mw.ArticleTarget
This makes way for a base mw.Target class which is
not specific to articles (e.g. Flow boards).

Bug: T97166
Change-Id: If72650bdf87aa9f195b004da0a4d815f1a8063a3
2015-12-10 16:26:20 +00:00
Alex Monk 128901866a Don't check editor preferences etc. if user wants veaction=edit
Bug: T120978
Change-Id: I39e28c80440260959b7f1c25b82a057c21de43be
2015-12-09 23:04:02 +00:00
jenkins-bot 212300af1f Merge "Avoid useless jQuery.click shortcut" 2015-12-09 22:18:12 +00:00
Ed Sanders e7ccc77000 Edit mode switching: Tell VE if the wikitext was modified
Currently we assume that any document state from WE is modified
but that is not necessarily the case.

Change-Id: I085825152528ae5a5e973e8b44f68cb07ee92416
2015-12-09 17:44:43 +00:00
Ed Sanders e9250d87fd Avoid useless jQuery.click shortcut
Why have one event API when you can have ten...

Change-Id: I645cbeb4e486aba9e734ba47d2e7c3958a694f19
2015-12-09 17:34:00 +00:00
jenkins-bot a9894809f6 Merge "DesktopArticleTarget: Handle section edit link clicks in single edit tab mode" 2015-12-09 17:16:12 +00:00
Alex Monk b877e16723 DesktopArticleTarget: Handle section edit link clicks in single edit tab mode
Bug: T58337
Change-Id: Ic4c19cdfc3cfcf33604d0c4e7780b45967cdf57d
2015-12-09 09:08:46 -08:00
Ed Sanders ae26eefb05 Fix typos
Add some common ones to typos.json

Change-Id: I3830be4949ab6a5fd998d6937ed83e9f18091c2b
2015-12-09 16:47:13 +00:00
Alex Monk 748db015b0 Single edit tab and section links
In addition to the couple of TODOs inline, we should do the following in
follow-up commits:
* Prevent FOUC due to changing things only on the client
* Make section link behaviour sensible

Bug: T58337
Change-Id: I65d966270491ffe017cb11a0daa915628fadf65c
2015-12-08 17:47:16 +00:00
jenkins-bot 5649256ceb Merge "Re-fix in-page loading" 2015-11-23 17:00:13 +00:00
jenkins-bot 4616696e0d Merge "Prevent switching from unedited section directly into VE" 2015-11-23 17:00:08 +00:00
Alex Monk a0462d69d4 Re-fix in-page loading
Probably broken by Ie808bcaa
Partially reverts Icad04dac, hopefully without any regressions

Change-Id: I4589bde7eac58b54027a6b9dbe6ecddf79780599
2015-11-20 01:57:24 +00:00
Alex Monk 67a51aee9b Prevent switching from unedited section directly into VE
Bug: T117713
Change-Id: Iee9ae2bbe4757cb07e9aa2bd5f41a46c0ebb391a
2015-11-20 00:10:38 +00:00
Ed Sanders 19034b0416 Edit mode switching: Auto-close jQuery.UI dialogs before switching
Bug: T118282
Change-Id: I7960e4f71dd8b710f2ec2430f2946679af07012b
2015-11-17 17:26:01 -08:00
Ed Sanders d1da56a6cb Make dependencies of jquery.uls.data more specific
Change-Id: I135defffc71d8aa61dc74bb871da96737a3eeb0c
2015-11-17 15:34:23 -08:00
Alex Monk 889358f24c Ensure we always catch the wikiEditor-toolbar-doneInitialSections event
Don't wait for module loading. Before, this was only actually working half the
time.

Change-Id: I7fb284a800927672642c59231a322982b613f16b
2015-11-17 02:23:25 +00:00
Bartosz Dziewoński 9be5c85db4 Provide a tool to insert a signature in namespaces that need it
VisualEditor is usually not enabled in talk namespaces... but
sometimes it is. And when users see the button to edit with VE,
they're going to click it and expect to be able to sign their posts.

This tool is only loaded on talk pages and pages in additional
namespaces defined in $wgExtraSignatureNamespaces.

Code adapted with small tweaks from my own gadget
<https://meta.wikimedia.org/wiki/User:Matma_Rex/visualeditor-signature.js?oldid=13461327>,
which is already available under the MIT license.

Changes include:
* The tool is now always visible if the wiki allows signatures in any
  VE namespaces, but disabled when not allowed in the current namespace.
* Register '~~~~' sequence to insert the signature.
* Code style tweaks for stricter lint checks in this repository.
* Documentation corrections.

Swedish translation provided by André Costa (already credited
as a translator as Lokal_Profil).

Depends on changes in VisualEditor core:
* I89fe53890ab59d12260ea6b41de802c38c24e8b9
* I14cd7efac521687ea38580341ae08ddc522edeeb

Bug: T53154
Change-Id: I6be5fb2118cf3eef5098d4c5320228aa81411ccb
2015-11-16 18:06:32 +01:00
Ed Sanders 86a1d1bfa3 Edit mode switching: Separate styles
Ensures that these styles are loaded *after* OOUI by making
them dependent on it, unlike DesktopArticleTarget.init
which isn't.

Change-Id: Ia1fff16432d20fb56707c5e21c6a930d2478e311
2015-11-11 18:50:55 +00:00
jenkins-bot c815c3242d Merge "Edit mode switching: Only show WE toolbar button once module is loaded" 2015-11-11 02:21:04 +00:00
jenkins-bot 1f2905c39f Merge "DesktopTarget: Fix opacity of #siteSub and #contentSub" 2015-11-10 23:39:03 +00:00
Ed Sanders cfe3d9b561 Edit mode switching: Only show WE toolbar button once module is loaded
No point showing the icon if we don't have the functionality to
make it do anything. Also this reduces the number of RL requests
made as we never fetch OOUI separately.

Change-Id: Iac9aa6f34c485223e73981b3377c7d0cfd31dae9
2015-11-10 10:43:33 -08:00
Alex Monk 6213c23db1 Fix updating of display title upon save
Bug: T117643
Change-Id: Ibd3d4f056a2d175e52b60b6e3a4c0ece04f26f50
2015-11-10 13:50:00 +00:00
Bartosz Dziewoński 7d69e86265 ve.init.mw.DesktopArticleTarget.init: Make switching to VE for new pages work
Work around RESTBase problem that causes errors if we try to switch to
VE when the wikitext is empty. This would prevent non-power-users from
opening VE entirely.

This only solves the issue for new empty pages, and not when the user
intentionally empties the edit box. In that case, though, they get a
dialog where they can choose to "keep" or "discard" changes, and
discarding lets you open the editor.

Bug: T118152
Change-Id: Ie808bcaa9826deacac392dd6cbc90a9446602b79
2015-11-09 18:55:21 +01:00
Alex Monk 1e4889bbc7 Unset 'action' query parameter from veEditUri, which should always point to VE
Bug: T117780
Change-Id: I1377145bbbe05611ee75ae27922cf7a2cc5895e7
2015-11-08 20:32:28 +00:00
Alex Monk 3e23d3b96d Only load switching module (depending on OOUI etc.) on edit pages
This wasn't as bad as T112401 (that was blocking render), but we
still shouldn't be loading the module on page views.

Bug: T118088
Change-Id: If86701ed7ff4e8d6defb1c682aa9a38c211be0fa
2015-11-07 19:08:29 +00:00
jenkins-bot 69bce26579 Merge "Drop any beforeunload handlers when loading from existing wikitext" 2015-11-07 16:09:50 +00:00
Alex Monk 6247a2f430 WikiEditor integration: Fix dependencies for switch button
Change-Id: Ic8fb607e8c467e89c0b9af0a9baab84e59b19ba8
2015-11-07 04:15:14 +00:00
Alex Monk 2910cd2384 Drop any beforeunload handlers when loading from existing wikitext
Bug: T117769
Change-Id: I823737b17e5af8ed15bc2b62db61a31886e8d418
2015-11-07 03:57:19 +00:00
Alex Monk 87931fb3f2 WikiEditor integration: Only add VE switch button if VE is available
Bug: T117968
Change-Id: Ibfe73b7170083bc9ee0a0322768999c8650da4e7
2015-11-06 18:23:44 +00:00
Bartosz Dziewoński 4a1a9bbf82 ve.init.mw.Target: Update TitleBlacklist error code
The error code has changed after T115258 and is now consistently
'titleblacklist-forbidden' for all TitleBlacklist errors.

The API now also provides information about the exact error message to
display (error.message) and the TitleBlacklist rule that matched
(error.line), but we probably don't have that message client-side, so
we're not trying to display it. Maybe when we can load it (T40280).

Bug: T116198
Change-Id: I32fccc7d0b2b66c739d59db05c568a56d9f07eec
2015-11-05 04:07:38 +01:00
jenkins-bot dd897a3e67 Merge "Don't allow keeping changes when switching from wikitext *section* editing" 2015-11-04 16:34:54 +00:00
Alex Monk 9c7a058b09 Don't allow keeping changes when switching from wikitext *section* editing
Bug: T117713
Change-Id: I16f17fa2aa4c9a1b74d8cde072c611e2685f5448
2015-11-04 16:19:36 +00:00
jenkins-bot d24844af2e Merge "Unbreak 404 handling code" 2015-11-04 16:06:09 +00:00
Alex Monk dbf79f15fd Unbreak 404 handling code
Broken in I2a529434

Bug: T117697
Change-Id: Ic34ef81afdde0851f4935971a808f22cdd5cde89
2015-11-04 15:31:19 +00:00
jenkins-bot 4dacc683f5 Merge "Target init: Add edit mode switch icons to VE and WE toolbars" 2015-11-04 14:14:49 +00:00
Ed Sanders b05d9fcb0e Target init: Add edit mode switch icons to VE and WE toolbars
VE already has a a switch icon in the options menu, so bring that
up to the main toolbar.

Append an OOUI button to the WikiEditor toolbar if present, and bind
to the same functon as the edit tab.

Bug: T49779
Change-Id: Ic1e83ea7b13c4fef68024bf05ffc244060666103
2015-11-04 14:07:41 +00:00
Alex Monk bc6fe7dc77 Set wgAction when messing with the action URL parameter
Also get rid of an unused variable.

Bug: T117596
Change-Id: I8479fa930397cff48c3a103f3a2c99e89190dc4a
2015-11-04 01:41:46 +00:00
Alex Monk eb63b57d32 Fix check for loading from modified action=edit
Bug: T117596
Change-Id: Icad04dac7dc94927cff9b93b175d4a6c4dddee5a
2015-11-03 16:19:26 -08:00
Alex Monk b550323b53 Use mw.loader.using instead of weird hacks to load OOjs UI on action=edit
Change-Id: If03dab6130aed7662b04000b809884a514bb2762
2015-11-03 23:55:17 +00:00
Alex Monk 07c6c17e5c Unbreak loading of VE in the read page
Change-Id: Ic3e4e65296fa63b3a7d5114366f2859f4ce3f21d
2015-11-03 18:16:47 +00:00
Alex Monk f71a5a5bca Dialog for switching between wikitext and visual editing
Change-Id: I7046ffbe318d046b4baee11f4148ab77fc2af7fd
2015-11-03 01:36:29 +00:00
jenkins-bot a0a0f0e2c0 Merge "Allow switching from wikitext to VE" 2015-11-02 23:18:33 +00:00
Alex Monk 85b745666f Allow switching from wikitext to VE
Just by pressing the VE tab for now

Requires a relatively new version of restbase

Bug: T49779
Change-Id: I2a5294345f5e0f469c1dd1bdd29dbce211571a4e
2015-11-02 20:55:19 +00:00
Ed Sanders b222696675 DesktopTarget: Fix opacity of #siteSub and #contentSub
siteSub and contentSub are both children of bodyContent so
no need to give them opacity directly.

Bonus: Make them user-select:none to avoid confusion as they
are in the edit area.

Bug: T116755
Change-Id: Iea4c35abc1eedb892e02c54b61e40726fa2b096e
2015-10-27 14:41:45 +00:00
Krinkle 59f55fbb9b Revert "DesktopArticleTarget.init: Tolerate missing wgRelevantPageName"
Shouldn't be needed once T116693 is fixed.

This reverts commit 39bb635a60.

Change-Id: I545a9eba85f15dcae00c5f117939960acf4113d2
2015-10-27 01:07:47 +00:00
Roan Kattouw 39bb635a60 DesktopArticleTarget.init: Tolerate missing wgRelevantPageName
For some reason this happens on some zhwiki pages.

Bug: T116693
Change-Id: I2880b8e7f2ed933928b155dd8727012f79854e1d
2015-10-26 16:31:44 -07:00
Timo Tijhof 51369ab9ab mw.TargetLoader: Avoid private mw.loader#moduleRegistry property
Follows-up 28f3a02e56.

* Use mw.loader#getState() instead of private 'moduleRegistry'.
  This property is not a supported API and may change at any time.

* Use plain push() instead of splice(). The order of modules
  is insignificant as dependencies are enforced by module registry
  only. Besides, the order is additionally normalised both
  client-side and server-side by ResourceLoader.

Change-Id: Id9291c97c3bfc01c4cf203aa7b15629fb8412f5b
2015-10-24 22:26:14 +01:00
jenkins-bot 724aeb9b33 Merge "Add theme-specific drop shadows to target loading bar" 2015-10-22 23:06:58 +00:00
jenkins-bot a67c62a754 Merge "Create separate skinStyles for target loading bar" 2015-10-22 23:06:56 +00:00
Ed Sanders c9fc5fb171 Add theme-specific drop shadows to target loading bar
As a modal popup it should have a drop shadow

Change-Id: I5b4a07c268c30124ed7ba6cc5391005595abeb7b
2015-10-22 16:02:25 +01:00
Ed Sanders 9749ff5187 Create separate skinStyles for target loading bar
Change-Id: I74eff697711641a7c111564ddb9e493ad358b8d4
2015-10-22 16:01:44 +01:00
Ed Sanders 28f3a02e56 References: Don't load ext.visualEditor.mwreference if Cite is not installed
Ultimately we should move all the code for this module to the cite
extension.

Bug: T41621
Change-Id: Ia2fcc9513ae806aaa173770337f176d5dbf59709
2015-10-22 11:36:17 +01:00
jenkins-bot 81a89952ef Merge "Educational popups and highlights for links+citations" 2015-10-14 21:52:50 +00:00
jenkins-bot 45468b992a Merge "ve.init.mw.Target: Remove jqueryMsg hacks in #saveErrorNewUser" 2015-10-06 21:09:58 +00:00
Bartosz Dziewoński c684e2c682 ve.init.mw.Target: Remove jqueryMsg hacks in #saveErrorNewUser
The bug in jqueryMsg that required this is now fixed.

Bug: T87219
Change-Id: Ib7ef7e6a0451539099c12ae32d02b50c269c7529
2015-10-06 19:04:10 +02:00
Alex Monk 9d6fbc894e Educational popups and highlights for links+citations
Bug: T108620
Change-Id: I42b0e06f50aca5cb783d88f79a080461e745ceee
2015-10-06 14:33:57 +01:00
jenkins-bot aaaded172b Merge "Toolbar config: Prevent 'Table' from moving after menu expand" 2015-10-05 15:14:47 +00:00
Ed Sanders 1eb0ef2011 Consistently use spaces inside brackets in CSS
Change-Id: Ie63a50cb16cb89dac7060857220485d7d23f2fe3
2015-10-04 18:33:43 +01:00
Ed Sanders 7337eb1d7e Toolbar config: Prevent 'Table' from moving after menu expand
Change-Id: I9f472668e0cf8f3014c681f6f2430e685bf50534
2015-10-04 13:28:55 +01:00
Alex Monk a46b7a819e Hack to stop logging edit events for non-desktop targets
Mobile target, for example, has events logged in the MobileFrontend extension instead
(which covers both the wikitext editor there and the VE integration)

Bug: T110272
Bug: T109525
Change-Id: I521f1825dc9c0a135db54cd005cda723908f14bc
2015-10-01 23:48:10 +00:00
jenkins-bot e14c8e11cf Merge "Change a bunch of parsoid references to acknowledge that RESTBase is sometimes in the middle" 2015-10-01 16:14:29 +00:00
jenkins-bot ce8107ec0b Merge "Autodisable preference" 2015-09-28 23:46:59 +00:00
Alex Monk 97e70ba3cc Autodisable preference
We want to flip the default of visualeditor-enable to true, but don't
necessarily want to turn it on for users who already have contributions but who
haven't already enabled it. Therefore we're considering adding such users to
this autodisable preference which they can self-remove (by explicitly enabling
VE) or we can target later, separate from betatempdisable users.

Bug: T112352
Change-Id: I1ce5e6c92055e30fdc82bc912a767e913b190ef6
2015-09-29 00:30:27 +01:00
jenkins-bot 2e4a70e082 Merge "Add scroll padding equal to the document height for iOS" 2015-09-26 16:39:26 +00:00
Ed Sanders 6769860adb Add scroll padding equal to the document height for iOS
Allows users to edit the end of the document in iOS without
the keyboard obscuring the content.

Change-Id: I72f1de97e61a0c0d8acac2e58b36b3ece58fca89
2015-09-26 17:06:37 +01:00
Alex Monk 3386f66770 Save dialog: Make review/resolve actions work in mobile
Depends on Ic92378b7

Bug: T111894
Change-Id: I5ca5f803642dd12db4e9fb213dc6478701661528
2015-09-26 00:08:31 +01:00
Bartosz Dziewoński 89b118daaf ve.init.mw.LinkCache: Update comment about Disambiguator extension
Disambiguator extension adds the .mw-disambig CSS class to internal
disambiguation links since 8cc16d021410f49fa12a2f35c97cdac51adf4380.

Change-Id: If32bcb8867a874ee4127593f58619d059fe691b0
2015-09-24 19:20:12 +02:00
Ed Sanders 42d04b6f47 DesktopArticleTarget: Fix page title (first H1) font size in Vector
Change-Id: I87409ad5da3819732d13943a64b2ca22f65f9418
2015-09-22 17:12:23 +00:00
Ed Sanders ade9bfda4b Skin specific fixes for external link cartouches
Change-Id: I84edb509e7ecaae00befbfdeeee7a75373564536
2015-09-20 23:35:23 +01:00
Ed Sanders 8c66e5df75 Load mwgallery on mobile as well
It's just as usable as the alien extension inspector which
is currently shown, and has better messages.

Change-Id: Ifbce9df4aff77cf76a8445158987be716ba45302
2015-09-19 18:14:52 +01:00
eranroz 051066ead6 Server-side replace Edit=>Edit Source on talk NS
If VE is enabled for consistency edit section links become edit source in all NS.
This patch fixes it to be done on the backend for namespaces where VE is not enabled
(instead of user side) to avoid noticeable flickers on page load.

Bug: T112366
Change-Id: Iba090bfc1b2ff4886fb0cf2b37db7870b6be792d
2015-09-16 00:39:13 +03:00
James D. Forrester e5e1810f02 MWWelcomeDialog: Alter to be welcoming, use a nice image
Drop beta-ness as users don't care and it confuses them. Leaving the preference
alone for now.

Bug: T99963
Bug: T112354
Change-Id: I0e039dec54d528fce24226e76b931b593dd13a9e
2015-09-14 18:29:07 -07:00
Alex Monk 82b62896e1 Change a bunch of parsoid references to acknowledge that RESTBase is sometimes in the middle
Bug: T112339
Change-Id: I0eac521a89fc399de168408ef55c9143c0db742a
2015-09-14 21:18:01 +01:00
Alex Monk 23691dc861 If init fails once, don't completely break when the user retries
The loading progress would not be reset upon failure, causing issues
when you tried to start loading again.

Bug: T96437
Change-Id: I7ec4be82304c101fa1bd634f60bc6b0047e2d53d
2015-09-14 21:13:45 +01:00
jenkins-bot 3b82179c06 Merge "Initialize actions toolbars" 2015-09-07 19:35:17 +00:00
Roan Kattouw 36dc5147bb Initialize actions toolbars
Right now .initialize() doesn't do anything other than enable
the window resize handler for toggling the "narrow" styling,
but as a matter of principle we should call .initialize()
on toolbars after attaching them.

Change-Id: I419c943d1d20af2105b84b8f5fbccc7070af601b
2015-09-07 11:30:30 -07:00
James D. Forrester 486bc7e6e3 mw.trackSubscriber: Log platform as phone vs. desktop
Change-Id: I71c25f28098c72ed779117da9c243dc3a87e611d
2015-09-05 21:29:03 +00:00
Alex Monk 6d94d060ac Bump Schema:Edit to revision 13457736
* Remove page.length
* Add action.abort.type = switchnochange

Needs to be deployed at the same time as Ib99700ac

Bug: T111420
Change-Id: I7ee245157d4de6c220d7cdf54cd1dd69ff836f15
2015-09-04 00:51:05 +00:00
Ed Sanders e4c351e362 Implement getUserConfig and setUserConfig in MW
Depends on I5704a0e3e0 in core.

Change-Id: I0d6c9317a91dc02566d8877bd1aefae581213cbb
2015-09-01 01:03:38 +00:00
Timo Tijhof 4e3d3acf65 mw.DesktopArticleTarget.init: Don't make non-VE edit tab collapsible
Collapsible relates to the Vector menu behaviour where an item
is moved into the dropdown menu if the window is narrow.

This should only apply to the secondary tab when there are two tabs.

If there is only one tab (non-VE, e.g. in a non-VE namespace) then
this tab should not be collapsible.

Server-side code handled this correctly, but client-side was
adding the class unconditionally.

Change-Id: Iecd195e92f43fe9f11b3938a1a24caed7b331e5f
2015-08-25 05:50:24 +02:00
Alex Monk 01f7207947 Don't retry request in tryWithPreparedCacheKey unless the error was badcachekey
Bug: T109787
Change-Id: I66cd40fadcdfd59bbea05240d0c9917342c6f5a2
2015-08-21 02:01:56 +01:00
James D. Forrester 00d3226be1 build: Enable jscs jsDoc rule 'checkParamNames' and make pass
Change-Id: Ifcd3f67524c32148ff3591263d6374b31ee57d3b
2015-08-19 11:33:59 -07:00
James D. Forrester 85f91f394e build: Enable jscs jsDoc rule 'requireNewlineAfterDescription' and make pass
Change-Id: I7c0fabc93834d19198caea8f5dd1834e9e473d0a
2015-08-19 11:21:01 -07:00
James D. Forrester 945242a55a build: Enable jscs jsDoc rule 'checkAnnotations' and make pass
Change-Id: I76abb1eb1f3e1a2e8a4c03f577a080f4889b3a6d
2015-08-19 11:09:34 -07:00
James D. Forrester 19df1d4c8a build: Enable jscs rule 'requireVarDeclFirst' and make pass
Change-Id: Ia2f765d12bde001c329c2ff4c080a36b71de9803
2015-08-19 11:05:01 -07:00
James D. Forrester f5c6f61163 build: Enable jscs rule 'requireSpacesInsideBrackets' and make pass
Change-Id: I846d36c15e1b1f810d2ef7fd422f8412790bcb0f
2015-08-19 10:33:02 -07:00
Ed Sanders c0d2546617 Add down indicator to advanced menu in mobile
It is a dropdown list so give it the down indicator we use elsewhere.

Change-Id: I8976f2bc5edd1e221ca155da02660703318480ac
2015-08-19 13:05:14 +01:00
Ed Sanders 87daf4773d Fix typos in function names
Change-Id: Id8a9bcd1b4409bc8132ac6007b75274074f5f477
2015-08-18 13:54:51 +01:00
jenkins-bot 0ca9a5a21b Merge "ve.init.mw.Target#saveErrorCaptcha: Focus CAPTCHA input on display" 2015-08-17 19:32:16 +00:00
Ed Sanders 91b7ede4e3 ve.init.mw.Target#saveErrorCaptcha: Focus CAPTCHA input on display
Change-Id: I491d0585380a36e87412d2c36a1d9e5b6111ccac
2015-08-17 19:20:05 +00:00
jenkins-bot 14dde31998 Merge "Convert save checkboxes to OOUI widgets" 2015-08-17 17:53:16 +00:00
Ed Sanders 960ecf8103 Convert save checkboxes to OOUI widgets
Anything with type=checkbox is coverted, and its label is found,
either by for=id or by finding a wrapping label.

All other inputs are stored in $otherFields for form building.

Bug: T86617
Bug: T70572
Change-Id: I94376fef18d02d2058bb548c11ae17f3dec7268c
2015-08-17 18:37:06 +01:00
Ed Sanders 5a25f0113a Increase PageImages limit to number of pages requested
Bug: T109332
Change-Id: Ic571767a17d942f411a5198ffabf51881a985cb8
2015-08-17 17:40:02 +01:00
Ed Sanders 783521ede7 Clear old captchas after building save options
Bug: T109113
Change-Id: Ib60b5c903c85106c92237d7ce47fa0c01e645a1d
2015-08-17 14:09:56 +01:00
Ed Sanders 7114463cc5 MobileArticleTarget: Restructure the toolbar
* Rename the actions toolbar the 'pageToolbar', and place the save button in
  its actions section.
* Inject the title amongst the pageToolbar tools, so we can have tools either
  side of it.
* Don't use the hamburger icon, as this has a (different) expected behaviour
  in MF. Replace it with a back button, and move the edit switch action over
  to the right in an 'advanced' group.

The toolbar is back to being laid out like the source editing toolbar in MF.

Change-Id: I4e00a8cdf603968ee32872323c88e587c1e1a487
2015-08-15 14:33:10 -07:00
C. Scott Ananian 3658b63cb5 Make URL schemes case-insensitive
Bug: T109013
Change-Id: I5e85fbf95ed3dfba79bf3185e170799a4983ed57
2015-08-14 17:53:58 +00:00
James D. Forrester 1d6085b801 Update VE core submodule to master (e61ebf2)
New changes:
61d20a1 Hide on-screen keyboard when selecting nodes on all mobile platforms
e5aff79 Localisation updates from https://translatewiki.net.
a99a897 Update OOjs UI to v0.12.3
3c01a14 Make DM nodes sensibly hashable
a611eb9 Make ve.dm.example.postprocessAnnotations fluent
496c895 Update ve.dm.ElementLinearData#hasContent documentation
fcaa035 Support RegExp sequences; trigger sequence matcher after newline
edda1d4 Add a mechanism to wait until ve.init.platform has been created
e174155 Autolink URLs when typing
ac9248f Allow drag and drop of links (and subsequent autolinking)
c88fad6 Localisation updates from https://translatewiki.net.

Local changes:
* Define `ve.init.platform.getUnanchoredExternalLinkUrlProtocolsRegexp`.
* Make `ve.ui.MWLinkAction` extend `ve.ui.LinkAction`.
* Override `ve.ui.LinkAction.getLinkAnnotation` so auto-links use the proper
  `ve.ui.MWExternalLinkAnnotation` type.

Change-Id: I934f76158512e2e89b614ed92fef6481f70728e7
2015-08-12 14:31:06 -07:00
Alex Monk 45a2beeaff Don't reset edit summary every time we open the save dialog
We were setting the edit summary box to the contents of the 'summary' parameter
every time the save dialog opened, but actually we only want to pay attention
to that the first time the save dialog opens.

Bug: T108329
Change-Id: Ic7b456ca8d7dd7cef8bc27629e3655ce9b97e755
2015-08-11 20:39:31 +01:00
Ori Livneh 11045843bd Silence deprecation and invalid param warnings in API responses
Loading [[en:Sweden]] in VisualEditor requires making 24 API requests for
pageimages / pageprops info, all of which contain the following unnecessary
bloat:

  {"warnings":{"main":{"*":"Unrecognized parameter: 'gpslimit'"},
  "query":{"*":"Formatting of continuation data has changed. To
  receive raw query-continue data, use the 'rawcontinue' parameter.
  To silence this warning, pass an empty string for 'continue' in the
  initial query."}}

That's 276 bytes * 24 requests = 6,624 bytes we could shave without losing
anything at all.

Change-Id: I0e88ebdc47c4d304b71c3c34fde24f82f5abadfc
2015-08-10 20:55:26 -07:00
Ed Sanders 596151acbe MobileArticleTarget: Centre toolbar tools
Popup tool requires special attention to make it work
and keep the tool list left aligned.

Bug: T92027
Change-Id: I77a0dcbba382dce1669a30d48471b0c501c3d851
2015-08-10 21:03:56 +00:00
Ed Sanders 92fc30db48 Update VE core submodule to master (da9d929)
New changes:
2464397 Move toolbar floating code up to the target
11bdc21 Separate SA target into Mobile and Desktop
7ab3389 AlignableContextItem: Fix styling in mobile
758619f CONTRIBUTING.md: Update file paths and build instructions

Local changes to mw.Target to handle toolbar floating.

Change-Id: I0751817e3a6668b120134bfcb6c611b121a46501
2015-08-10 12:33:14 -07:00
Ed Sanders f9fbd52962 MobileArticleTarget: Add webkit touch scrolling to panels
Also use named classes for hiding toolbars, and move the
MobileFrontend overlay z-index hack out to that repo.

Depends on Ia46e6b4d7a in MobileFrontend.

Change-Id: I0e1f527446fd10fde5dd3107e6467fd2c8f621b2
2015-08-10 15:45:26 +00:00
Ed Sanders 37c651001e Switch to using surface model focus/blur events
Depends on Ibcda9a79 in core.

Change-Id: Ieb2f99d7d1d24c24a0f00cf7c33e23b8206bf753
2015-08-07 10:52:24 -07:00
jenkins-bot 79a95bc30a Merge "MobileArticleTarget: Use platform's iOS detection, not MobileFrontend's" 2015-08-07 15:39:58 +00:00
Ed Sanders 0d8914c48d MobileArticleTarget: Use platform's iOS detection, not MobileFrontend's
Change-Id: Ic206d54aee712e6309e34a0414d28c27363dfbc3
2015-08-07 15:37:05 +00:00
Ed Sanders e018dc4519 MobileArticleTarget: Remove incorrect border from toolbar
Change-Id: I9fcb7251afd0e3aa1601c31a684b15bf880b1152
2015-08-07 15:34:28 +00:00
Ed Sanders ac9f1a0919 MobileArticleTarget: Give toolbar split focused/unfocused modes
Split the toolbar into two modes depending on if the surface is focused:
* When unfocused, show a hamburger containing back and source switch
* When focused, show editing tools, and a check button to unfocus

For the editing toolbar, space the tools out using table-cell layout
and hide labels below 480px.

Depends on I06813e3ff in core (surface blur method).

Bug: T93325
Change-Id: Ibf09cb29019d7a71e1e144b326710b1f6506cd0c
2015-08-06 15:43:36 -07:00
jenkins-bot daa099f09e Merge "MobileArticleTarget: Fix over-sized debug bar" 2015-08-06 22:10:12 +00:00
Ed Sanders b93a521163 MobileArticleTarget: Fix over-sized debug bar
Change-Id: I3e92474d7a46a4da420c1ba7a766bf0e17144e47
2015-08-06 21:59:56 +00:00
jenkins-bot 0c49c03c10 Merge "[BREAKING CHANGE] Use save dialog in mobile" 2015-08-06 21:57:56 +00:00
Ed Sanders 707628cfb1 [BREAKING CHANGE] Use save dialog in mobile
Bug: T96186
Change-Id: I4319e23da2d1bfd0cbba9719dbc9642a233bdf67
2015-08-06 21:52:14 +00:00
jenkins-bot c61661c20a Merge "DesktopArticleTarget.init: Don't overwrite mw.libs.ve" 2015-08-05 21:58:07 +00:00
Roan Kattouw ef2d23c36a DesktopArticleTarget.init: Don't overwrite mw.libs.ve
Extend it instead, if it already exists.

Bug: T107979
Change-Id: I70bce7c82dce8199cfe36f810629c5d22b583f0a
2015-08-05 14:48:38 -07:00
Frédéric Bolduc 0ce3baf66d mw.Target: Add jsconfigvars and modules to the save mechanism
* On save, VE will now fetch and append modules and jsconfigvars to the save
  event, which respectively contains necessary JS config module data and the
  list of required modules to be added on the page.
* The jsconfigvars are now properly added to mw.config on edit save.
* If any new modules are now required by the page after an edit, they will be
  loaded by ResourceLoader through mw.loader.load.

Change-Id: Ib3990078a22ad9e46debf3ce174e7cf27b86d944
2015-08-04 19:00:09 -07:00
Ed Sanders 2c24efae29 [BREAKING CHANGE] Target*: Replace target events with methods
When you bind to your own events you're probably using the wrong
design pattern.

The events are kept (without arguments) for the purpose of tracking.

Change-Id: I6983319f9e0ca179e609afb00c821e3eab2161c9
2015-08-04 11:49:54 -07:00
Ed Sanders 529248f831 Target*: Remove 'on' from methods which aren't event handlers
Allows us to rename onSaveEvent back to onSave.

Before this change,
* ve.init.mw.Target.prototype.save ->
* ve.init.mw.Target.prototype.onSave, emit save event ->
* ve.init.mw.DesktopArticleTarget.prototype.onSaveEvent (or MF equivalent)

With this change,
* ve.init.mw.Target.prototype.save ->
* ve.init.mw.Target.prototype.saveSuccess, emit save event ->
* ve.init.mw.DesktopArticleTarget.prototype.onSave (or MF equivalent)

Change-Id: I016262b38a941c93c0978391491baa6d5a32fe28
2015-08-04 17:47:05 +00:00
James D. Forrester 86212df814 Follow-up fd2ef3e: Keep passing data.isRedirect in #onSave
Also fix ve.init.mw.DesktopArticleTarget#onSave to #onSaveEvent to avoid clash.

Change-Id: I5efb1884f9626e5da72b226cc8ca596bb6db4a40
2015-08-03 18:41:58 -07:00
James D. Forrester d6541e1e8d Follow-up fd2ef3e: Call prototype., not ve.init.mw.Target#onSerialize
Change-Id: I9fd86b91c8b7fa3c09758b492332c56d10c39a95
2015-08-03 22:42:51 +00:00
Ed Sanders 92cc1d1b53 Use super constructors in ArticleTargets
Change-Id: I58041de7421232dabe4541d438dd7cc66e3c8d92
2015-08-03 00:35:01 +00:00
Ed Sanders adcfb56761 ve.init.mw.Target#save: Bind this#onSave, not #onSave
Change-Id: I62fbb6f31c0ddd17a1179fb4c2d8f13e44e9c9bb
2015-08-03 00:30:06 +00:00
jenkins-bot a15c54f4db Merge "MWSaveDialog: Make a FragmentDialog now that's available" 2015-08-01 22:44:18 +00:00
jenkins-bot b46bd69c49 Merge "Move toolbarSaveButton init to base class" 2015-08-01 22:43:25 +00:00
Ed Sanders dc71b4849b MWSaveDialog: Make a FragmentDialog now that's available
* Make save a FragmentDialog and open with WindowActions so
  the selection is restored automatically.
* Pass in some information in setup data.

Change-Id: I254b71f252adce064b9c2d2bf2cb6c8d0018e31f
2015-08-01 22:41:17 +00:00
Ed Sanders fd2ef3e4cd MW target: Make 'static' methods either static or be instance methods
MW target has 'static' methods, some of which aren't attached
to the static property, the rest of which should be instance methods.

Rename success/fail functions to remove 'on' as that is reserved for
actual event listeners.

Change-Id: I63e68dbe1923906208b180abfc4a9a280b4d098e
2015-08-01 22:38:49 +00:00
Ed Sanders e9b7f4c029 Move toolbarSaveButton init to base class
Change-Id: I145c4029f9e1a6e46591134a7756dada1251551b
2015-07-31 12:03:14 +01:00
jenkins-bot 1bd8ecf61d Merge "Bring in code from MobileFrontend" 2015-07-30 17:25:14 +00:00
Ed Sanders d2c15e9eb5 Bring in code from MobileFrontend
* Use local edit source tool, and emit event to MF
* Bring in toolbar styles, bonus: remove old desktop style hacks

Bug: T96186
Change-Id: I89351e409aa4e9d626edd7151ae05bdcd58f1cee
2015-07-30 17:13:00 +00:00
Ed Sanders 915a82d2da Remove empty DesktopArticleTarget-shared.css
DesktopArticleTarget.css serves the same purpose and is non-empty.

Change-Id: Ieb2c41cdd774fac09537597b0bf9315aa446020c
2015-07-30 17:58:54 +01:00
Ed Sanders cf191f5fa8 Update VE core submodule to master (8feab4e)
New changes:
11953f7 Localisation updates from https://translatewiki.net.
0dbafb0 Update OOjs UI to v0.12.2
cbd0982 Replace placeholder color with opacity
087365c Support other types of 'empty' document placeholders
7692890 Make scrollIntoView a VE utility function
5a1a159 Localisation updates from https://translatewiki.net.
8edf71e [BREAKING CHANGE] Kill ve.indexOf and thus @until
bb02b02 build: Bump various devDependencies to latest
cb5b2cd Fix scrollIntoView util binding
8feab4e [BREAKING CHANGE] Use config object for Target constructors

Local changes:
* Use config object for Target constructors

Bonus:
* Add CSS classes to MW targets
* Use 'super' calls

Change-Id: Ieb4e4eb3663aab2706c0f3ecc8b82e00555df1d5
2015-07-30 08:28:48 -07:00
Ed Sanders 9921759456 Fix target rename merge conflict in CSS
Change-Id: I4ca015696d51c59a4c533127458bf5453d092bad
2015-07-30 09:47:55 +01:00
Ed Sanders 08a9551c84 MobileArticleTarget: Collapse text style buttons
B/I doesn't fit with link & cite on a iPhone 6

Change-Id: Ib23b2f8540425ee5d8265f369aea250e900a0c5f
2015-07-30 00:25:52 +00:00
jenkins-bot 9f20acfc9a Merge "[BREAKING CHANGE] Bring in some code from MobileFrontend" 2015-07-29 23:47:07 +00:00
Ed Sanders 3593184f42 [BREAKING CHANGE] Bring in some code from MobileFrontend
* Bring in back button & save button from MobileFrontend
  so they are properly styled OOUI widgets
* Accordingly, move toolbar save button code up into base
  MW target.

Bug: T96186
Change-Id: Ic89dd4efb831fc3b09980da16524276f6568619d
2015-07-29 16:16:39 -07:00
Ed Sanders 03449dca80 DesktopArticleTarget-*.css: Placeholder CSS fixes for skins
Change-Id: I8c7f98cc083c0811cd847a8b3874a586487658ca
2015-07-29 12:02:09 -07:00
Ed Sanders bb57348a9e DesktopArticleTarget#activate: Rename pageTarget to target
Change-Id: Iae71a050058afb2c1111a99ede5b969afbf5aca6
2015-07-29 17:58:33 +00:00
Ed Sanders fecdc29a38 Replace ve-init-mw-desktopArticleTarget-* with ve-init-mw-target-*
Except in cases where it is only applied to desktop articles.

Change-Id: I40a9dabcd8454138f94affde809afee9c93732a4
2015-07-29 18:26:36 +01:00
Ed Sanders b5de6fa575 [BREAKING CHANGE] Rename (View|Mobile)PageTarget to (Desktop|Mobile)ArticleTarget
Change-Id: I6a8fa76dc4d70cc04722e30e3fea6a6112d56b40
2015-07-29 18:26:36 +01:00
jenkins-bot 85ca7d3e94 Merge "Close the wikitext switch confirmation dialog if serialisation errors" 2015-07-29 00:41:26 +00:00
Roan Kattouw 6d22fd1aa7 Follow-up 8250c8ad54: unbreak ApiResponseCache
.set() should not overwrite existing deferreds; instead,
it should resolve the existing deferred if it's pending.
This is necessary because .set() is used by processResult().
Without this, passing .get() a title that no information
is known for results in a promise that is never resolved,
because the associated deferred is overwritten as soon
as the API response arrives.

Still make .set() a no-op if data has already been set,
by checking if the deferred is pending. For .resolve() this
doesn't matter, but for modifying this.cacheValues it does.

Bug: T107212
Change-Id: I70e8c5450f23062db214ccc5c585624d41de6509
2015-07-28 15:10:21 -07:00
Florianschmidtwelzow 4981a8253d Allow skin developers to set an offset for toolbar floating
Usage:
In a skin, that needs this offset, e.g. because it has a fixed header, it should add
this config var somewhere before the hook BeforeOutputPage is called:

$wgVisualEditorSkinToolbarScrollOffset['vector'] = 60;
(if 60px is the offset to use)

Depends on: I2e10c12df8277c84d948e48c6a132c03d6324693

Bug: T95528
Change-Id: Iaa86c2f68afa6403fcc4f5b7c655704512beead4
2015-07-28 11:18:07 -07:00
Alex Monk f76b57f1e6 Close the wikitext switch confirmation dialog if serialisation errors
Bug: T103632
Change-Id: Id9aede04ff4f8919770e578fac24ad4a1178b9a6
2015-07-25 14:32:17 +01:00
Ed Sanders 8250c8ad54 Separate 'isMissing' micro cache from full link data cache
Bug: T106819
Change-Id: I72f52d63968aa1ac842b2aa503150cf114f9d711
2015-07-24 16:17:35 +01:00
Alex Monk 82fb5f609a Parse SpamBlacklist error on the server-side
The client won't be able to deal with templates etc.

Bug: T99830
Change-Id: I78611a3f061b1afd73de052aa9ddff48dc368f2d
2015-07-23 18:49:42 +00:00
James D. Forrester 57f8fc5368 build: Drop last jscs over-ride and make pass
Change-Id: I4ff60af79cfc6e09e284d51f9b7ac2afa900f0f5
2015-07-22 15:13:09 -07:00
Ed Sanders 8e0394da5c Support command whitelist feature
Depends on I87d8aa3 in core.

Bug: T106061
Change-Id: I694e4e5a83f281da92380a895b72611141838f42
2015-07-18 18:20:49 -05:00
jenkins-bot 0e5a6aca32 Merge "Don't set browser-prefixed transition CSS classes" 2015-07-18 05:35:45 +00:00
jenkins-bot 3d6af458dd Merge "ve.init.mw.TargetLoader: Error when RESTbase load call fails" 2015-07-18 05:21:37 +00:00
Kunal Mehta 0653804151 Don't set browser-prefixed transition CSS classes
jQuery will take care of this automatically: <https://api.jquery.com/css/#css2>.

Follows up bf56f56f3e.

Change-Id: I4db46fc70a5446a9ffc9f6d4375fae3b53609ee0
2015-07-17 16:31:56 -05:00
Alex Monk 7653dec439 ve.init.mw.TargetLoader: Error when RESTbase load call fails
No retry right now, but we should at least stop failing silently. Doing this
in a window.alert() for now, as OOUI isn't available at this part of the
page load just yet (that will be coming soon).

Bug: T97041
Change-Id: Iacb195667215ee69d3991e4c41651ab6042243c5
2015-07-10 18:13:37 -07:00
jenkins-bot 2cf60686af Merge "Check if links are 'known' rather than 'exist' locally" 2015-07-08 19:29:22 +00:00
Ed Sanders 8971edb480 Check if links are 'known' rather than 'exist' locally
This data is used for marking links red, but links which are known
but don't exist (e.g. interwikis) are not red.

Also fix bug in API caused by trying to return a value of (bool)true which is
apparently not allowed. Use (number)1 instead.

Bug: T104604
Change-Id: I599a513a27b31f7167e688d73bc3685141249971
2015-07-08 20:26:04 +01:00
jenkins-bot 3039da4e30 Merge "Fix section scrolling" 2015-07-08 18:32:03 +00:00
jenkins-bot c39bd98597 Merge "Revert "Make toolbar save button frameless"" 2015-07-08 15:38:55 +00:00
Ed Sanders be5df39f5b Fix section scrolling
Core code now has a scrollIntoView animation triggered on focus
which needs to be cancelled before we scroll to the section heading.

Change-Id: I5eb6a5c98b38c2510d2d7f0108fe56e607b34bd6
2015-07-08 15:34:43 +01:00
Bartosz Dziewoński 652da4afab Revert "Make toolbar save button frameless"
This reverts commit cb11cbd2f5.

Actually not needed after 3d36cac7fc4808f708f03b66f5c099de440e4569
in OOjs UI, and would change the UI in unexpected way.

Bug: T103403
Change-Id: Ia30b168ea29d03aa76ad81d1f9894a67604fdc08
2015-07-07 14:21:04 +00:00
jenkins-bot 9e730bf528 Merge "Save dialog: Show reload link next to FancyCaptchas" 2015-07-02 22:39:26 +00:00
jenkins-bot 052405565c Merge "Revert "Show <newarticletext> as surface placeholder, not an edit notice"" 2015-07-02 20:45:28 +00:00
Alex Monk c912f4e6dc Save dialog: Show reload link next to FancyCaptchas
Bug: T103227
Change-Id: Ib0548aa8ce3e2322dedc9980323e6e1f1cd705a0
2015-07-02 20:12:34 +01:00
Esanders b2ff7aaa17 Revert "Show <newarticletext> as surface placeholder, not an edit notice"
This reverts commit 5ac5c7a05b.

Bug: T104227
Change-Id: Id86dd228c2c671758acc6d2d3314c92da8917472
2015-07-02 15:20:24 +00:00
jenkins-bot 6e601a9930 Merge "Make toolbar save button frameless" 2015-07-01 22:48:16 +00:00
jenkins-bot 859f6daee6 Merge "Show <newarticletext> as surface placeholder, not an edit notice" 2015-07-01 15:49:12 +00:00
Alex Monk 5ac5c7a05b Show <newarticletext> as surface placeholder, not an edit notice
Bug: T104227
Change-Id: If0e1df48c1b3818235f7e02220144d467fb78fe9
2015-07-01 15:46:09 +00:00
Ed Sanders bef186c874 ViewPageTarget-vector.css: Fix non-HD mode typo
Missing comma between two selectors

Change-Id: I3e2ab561991f5f11598be1460f65a239e3c0d7ca
2015-07-01 15:35:55 +00:00
Ed Sanders cb11cbd2f5 Make toolbar save button frameless
Depends on I26b540dd2 in oojs-ui for styling.

Bug: T101165
Change-Id: I075b8cecf9df2026fb1da17e2ebdf0d848a3d250
2015-07-01 12:12:50 +01:00
Ed Sanders 472c98053d Ensure placeholder styling matches document
Bug: T96593
Change-Id: I23bb1393a9a6779b70ed1004496f3ca6ff038e43
2015-06-30 09:47:34 +01:00
Bartosz Dziewoński 6d18641e4d Specify 'associatedWindows' for link and citation tools
Depends on I21fb955ecb697060263538914014d5712e013695 in core.

Bug: T98845
Change-Id: Id7f59c0095e8d85bb608bed0ab60603665fbca47
2015-06-29 16:26:32 -07:00
jenkins-bot bd394194e3 Merge "ve.init.mw.Target: Strip all <script>/<object>/<style>/<embed> on save" 2015-06-25 23:45:00 +00:00
James D. Forrester 4f1881ea74 ve.init.mw.Target: Strip all <script>/<object>/<style>/<embed> on save
Bug: T103430
Change-Id: Ie6ca3181f4c0764625b4d69fa169abc67ffb15bb
2015-06-23 08:42:01 -07:00
Timo Tijhof 87f2d0bc2a Make ext.visualEditor.mwalienextension mandatory (no longer experimental)
This module is required in order to alienate all extension blocks
by default. Otherwise they are interpreted as plain divs which
allow content editable.

Bug: T103455
Change-Id: I08f6b9a516ba6bee6ed18256222108116eceee1e
2015-06-23 03:45:50 +01:00
Timo Tijhof e1ce49509c mw.ViewPageTarget: Ensure canonial view url is restored
When loading VE by clicking Edit on a view url, this naturally
works (we temporarily append our query, and remove it when ready).

When loading VE from a permalink (e.g. Open in new tab) or any
other source linked from HTML pages, then we're not in control
over adding the query (it's already there); we're only in control
over restoring the view url afterwards.

Bug: T102363
Change-Id: I4912ff1c6b28ac987517760ffed481a4cd3bd1ca
2015-06-15 13:28:35 +01:00
Ed Sanders 425e581613 Unregister core image types
Once MW images are registered, we should remove core image support so
we don't accidentally match to them (e.g. an MW inline image with an
unsupported extra RDFa type).

Change-Id: I1c8567346c371fe338f95b232c9ac53e009c5a46
2015-06-02 14:36:14 +01:00
jenkins-bot da3a5dbfc4 Merge "Improve progress bar" 2015-05-12 12:27:28 +00:00
jenkins-bot 788d0b0047 Merge "Remove 3px gap above toolbar in Monobook" 2015-05-12 12:24:42 +00:00
jenkins-bot c35be097d1 Merge "ve.init.mw.ViewPageTarget: Simplify toolbar save button and inner toolbar code" 2015-05-12 12:19:22 +00:00
Trevor Parscal 4297301948 Close the bottom of Vector tabs in VisualEditor
Change-Id: Ie1a0b45300dbc21fb388ee7fc94e0851d0cd5924
2015-05-12 12:56:30 +01:00
Trevor Parscal 293e032786 Remove 3px gap above toolbar in Monobook
Change-Id: I3ccfc4556d2d19e5caa2a4a21b81fab54ca4f414
2015-05-12 12:56:03 +01:00
Bartosz Dziewoński e459c14442 ve.init.mw.ViewPageTarget: Simplify toolbar save button and inner toolbar code
All this is no longer needed since 121216184718e7ebe22d6ecc8f5af5fe4e202465 in
OOjs UI and started causing issues after bb9c9c4f6a2fca6aed0e671e904e469d57da5f34.

Bug: T98795
Change-Id: I6493d6b52b313aac521aee2b0cff1571ea63bbe5
2015-05-12 13:50:40 +02:00
Ed Sanders bf56f56f3e Improve progress bar
* Add a 3rd stage will triggers on API load
* Allow stages to complete in different order (as happens
  on second load)
* Use CSS transitions
* Start slow and speed up using ease-in and progressively
  shorter transitions

Bug: T95137
Change-Id: Ib9090e6c80b7a186bf353c40921d40456d90211a
2015-05-11 13:26:32 +01:00
Alex Monk 6c86046bd8 mw.Target: Fix API breakage of watchlist preference check
Bug: T97838
Change-Id: I413c300ad26dd87d9d6a7c6f0032a8165ea7f2c9
2015-05-07 08:40:03 -07:00
Roan Kattouw e644d33a8d Follow-up 5c38995bd9: don't destroy toolbar twice
The toolbar.destroy() call that was added in 5c38995bd9 was
needed to destroy the dummy toolbar when tearing down VE
before a surface had been intialized. But when tearing down
VE after the surface had been initialized (e.g. exiting using
the Read tab), we would do:

* setTimeout in tearDownToolbar()
** Set toolbar height to 0 and wait for transitionend
*** toolbar.destroy() once transition complete
* toolbar.destroy() in cancel()

This meant that we'd listen for a transitionend event
on an unattached element (because once the setTimeout runs,
the toolbar has already been destroyed by the second call),
which of course never fires, so we'd never resolve the
tearDownToolbar deferred and never finish tearing down VE.

Bug: T98388
Change-Id: I504f0cb0bf13643773fc98cb18b7b380cccb2f88
2015-05-06 16:18:45 -07:00
jenkins-bot 873baa22b6 Merge "Revert "Be more selective in application of 0.8em font size"" 2015-05-06 17:33:57 +00:00
Bartosz Dziewoński d008a3bc7c Revert "Be more selective in application of 0.8em font size"
Causes more problems than it fixes.

This reverts commit cab44b55ef.

Bug: T98193
Change-Id: Id40919ceda36a665e23c6f84965a3b979bb33289
2015-05-06 17:08:49 +00:00
jenkins-bot b488dbeb8b Merge "Be more selective in application of 0.8em font size" 2015-05-05 17:50:17 +00:00
Ed Sanders cab44b55ef Be more selective in application of 0.8em font size
Prevents read-mode elements placed inside the target from
getting scaled down (e.g. firstHeading).

Change-Id: I55ed38e2855c4eb317ec71cebb1842b9b70790b6
2015-05-03 12:05:57 +01:00
Ed Sanders 5c38995bd9 Fix page restoration when Parsoid load fails
Change-Id: I42cd7801af73c97d8fa07a4537c6e1c104e52ac4
2015-05-03 11:51:48 +01:00
Ed Sanders f95cebd8b1 Divide surface margins by 0.8
Change-Id: Ic9a0b3f4d8e82127649bb5ac100e3cbf42001489
2015-05-01 23:17:35 +01:00
Bartosz Dziewoński 335a702ac3 ve.init.mw.ViewPageTarget: Set custom font-size for original .mw-body-content too
Bug: T97690
Change-Id: I6ac49030cdb40798ae50fadf8179dd3a58e0e4b3
2015-04-30 21:25:49 +00:00
jenkins-bot 79b202de19 Merge "Fix toolbar & debug bar negative margins" 2015-04-30 21:18:03 +00:00
jenkins-bot f195a705c0 Merge "Remove unless, and almost-useless closures in response cache" 2015-04-30 17:30:50 +00:00
Ed Sanders ffd904022b Remove unless, and almost-useless closures in response cache
Change-Id: Ie02caefe3d8c43b6b1e6b523fb07042f5ae6db37
2015-04-30 17:26:05 +00:00
jenkins-bot 0824d064ec Merge "Make static methods static in linkCache" 2015-04-30 16:13:21 +00:00
Ed Sanders c32cccd90b Make static methods static in linkCache
Also switch out logic duplicated in MWLinkTargetInputWidget with
LinkCache#processpage.

Change-Id: Ie6f3599d4ea5cc9057cf4403f003da00f18cdebe
2015-04-30 17:00:45 +01:00
Ed Sanders 1a2a08cbf6 Fix toolbar & debug bar negative margins
Now 0.8em is set on the target wrapper, divide all these
margins by 0.8.

Change-Id: If373eac4d2abb9f58da816163b27e4110c39a213
2015-04-30 14:01:37 +01:00
jenkins-bot 6cb513b29c Merge "Update for changes in OOjs UI (Ib40e3477)" 2015-04-30 02:19:18 +00:00
jenkins-bot 3e2f7f0728 Merge "Show different icons for different result types" 2015-04-29 17:01:33 +00:00
James D. Forrester 65112a7e10 Show different icons for different result types
* Disambiguation
* Redirect
* Not found
* Page exists

Bug: T93694
Change-Id: Ic4a60c95e37de372e8d0c12878dece67a2662343
2015-04-29 17:51:34 +01:00
jenkins-bot 1feb544afc Merge "Revert "Pre-fetch RESTBase DNS and negotiate TLS"" 2015-04-29 16:26:00 +00:00
Ed Sanders df6a570f82 Only pull description from wikibase
Filters out 'alias' and other terms not being used yet.

Change-Id: I5d155c76b85de1e5d1d5fb234f565fd6f1658766
2015-04-29 11:17:24 +01:00
GWicke a44fbbf924 Revert "Pre-fetch RESTBase DNS and negotiate TLS"
This is no longer needed, as VisualEditor now loads the content
from the /api/rest_v1/ entry point at the main project domain.

This reverts commit c741db5378.

Bug: T97500

Change-Id: I9b0dba58484884cdf3c7917c633b9815de4c9f92
2015-04-29 01:14:42 +00:00
jenkins-bot 76aa7c8ad6 Merge "Port ve.init.mw.Target to ve.fixBase()" 2015-04-28 20:21:12 +00:00
jenkins-bot d8c0f9e8b3 Merge "Link inspector images and descriptions" 2015-04-27 23:51:38 +00:00
suchetag 3963b1daf2 Link inspector images and descriptions
Fetches images from PageImages extension and descriptions
from Wikibase.

Bug: T93693
Bug: T93694 (partial)
Change-Id: I1bea6b7b57ab951e79468cfa00e9eecddc113d18
2015-04-28 00:23:40 +01:00
Roan Kattouw a332ea210a Port ve.init.mw.Target to ve.fixBase()
The old code in ve.init.mw.Target.static.fixBase was mostly
moved to ve.fixBase(), and the new ve.init.mw.Target.static.fixBase
contains MW-specific logic on top of that. This allows us to get
rid of the base fixing logic in onLoad().

Depends on I607fa579733 in VE core.

Change-Id: I42dfd4b90e86eb67d0111fffafc18e1152249610
2015-04-24 14:41:22 -07:00
jenkins-bot b16a24e04f Merge "Don't give up immediately for revid mismatches on second load" 2015-04-23 20:57:12 +00:00
Roan Kattouw 7a29cf3dbf Don't give up immediately for revid mismatches on second load
If a load failed due to a revid mismatch, and a new attempt then
succeeded, we would keep remembering that it initially failed.
Then when we loaded the editor a second time, encountering
a revid mismatch would cause us to give up immediately.

To fix this, forget about any previous failures once
a load succeeds.

Bug: T97069
Change-Id: Ie10a7532759095cbb5fb8d23af602aa7b9611a06
2015-04-23 13:48:00 -07:00
Bartosz Dziewoński 89b79bb373 Update for changes in OOjs UI (Ib40e3477)
Depends on I175fe468 in VisualEditor core.

Bug: T91152
Change-Id: I08c80cec84242eabd3da5bd3c829022df3e21636
2015-04-23 13:52:12 +02:00
Bartosz Dziewoński 2e96c8c1f3 Allow special characters with tooltip or that encapsulate text
Depends on Idd5e163090c9cf1c103d8b40e8ba19d332671cde and
Ifba178d8099b797a0ca33ca990540c8cb9cd3637 in VE core.

Bug: T65227
Bug: T70425
Bug: T95819
Change-Id: I6f08e3c1c3e4134520dac1e2d32d828cdefea23f
2015-04-22 17:46:00 -07:00
jenkins-bot 3b592bf4bc Merge "Strip language annotations on external import" 2015-04-22 00:33:17 +00:00
Ed Sanders e229e73fc6 Strip language annotations on external import
These are likely to have been generated by a parent language setting,
rather than an a specific inline annotation.

This won't affect ve-to-ve copy paste.

Bug: T95708
Change-Id: Ic8fe417ab6ffa74e85ab170f413b13b83589293d
2015-04-21 16:55:01 +00:00
Ed Sanders b78c725dbf Manually set starting progress to 0 incase stylsheets are slow to apply
Bug: T93964
Change-Id: I7d2bc7ca9f9d7db62a4524446a8e0ba8a3012c2a
2015-04-21 11:32:29 +01:00
jenkins-bot 5cf9798adb Merge "Update VE core submodule to master (952a9bb)" 2015-04-20 00:09:37 +00:00
jenkins-bot f8574e8073 Merge "Fix debug bar margins in monobook" 2015-04-19 23:59:05 +00:00
jenkins-bot 70e50ca38f Merge "Fix debug bar selector in vector stylesheet" 2015-04-19 23:59:03 +00:00
Ed Sanders c9061384d2 Update VE core submodule to master (952a9bb)
New changes:
72b9ed6 [BREAKING CHANGE] Simplify getModelFromDom signature
5a6505c ve.ui.SpecialCharacterDialog: Specify 'transition' only for 'border-color', not 'all'
30a2107 ve.ui.SpecialCharacterPage: Use less jQuery for better performance
e5692fd Localisation updates from https://translatewiki.net.
1ff0a0c Only auto-close windows which are not the one we are trying to open
48964b5 Localisation updates from https://translatewiki.net.
1f928ae Fix rendering of search results when scrolling
046dc5e demo: Add device switcher between desktop and mobile

Local changes:
*  Use simplified getModelFromDom API from 72b9ed6 in core.

Change-Id: Ib220c4e5c3fc520e10b950c02475783cd710d0df
2015-04-19 16:58:31 -07:00
James D. Forrester 0fdfab6c71 Blacklist <script> tags from BitDefender 2015
Bug: T96533
Change-Id: Ic6d030d46543ce01bffdd839f72d84c9fd537835
2015-04-19 15:02:26 -07:00
Ed Sanders 077b09efa2 Fix debug bar margins in monobook
Change-Id: I1654db5d2408471cb420f3422e70dc28d239cdfd
2015-04-19 19:50:08 +01:00
Ed Sanders 94e3386b51 Fix debug bar selector in vector stylesheet
Change-Id: I322cedf4902418b8821f72e34db03abd59016d76
2015-04-19 19:50:08 +01:00
Ed Sanders 4328045501 Update VE core submodule to master (5b0e269)
New changes:
de79de2 [BREAKING CHANGE] Fix font sizes and padding in Surface and SurfaceWidget
aa4a481 Localisation updates from https://translatewiki.net.
c2ff1cb Initialize toolbar tools disabled until surface is initialized
f457c83 Split visualEditor.css into apex & mediawiki versions
aff993c Don't drop <html> attributes when parsing HTML on Opera 12

Local changes:
Fix SurfaceWidget and DebugBar hacks

Change-Id: I93cb8ec787e53c07b5051c0296eb6f59b6048e91
2015-04-17 15:18:08 -07:00
Roan Kattouw c8ac904fa6 Also load mwformatting in mobile
We need it for the strip-if-empty logic in MWHeading,
and for consistency with desktop in general.

Bug: T96395
Change-Id: I9e70df896417811df087f58f3107919ba704f7c4
2015-04-17 10:55:25 -07:00
James D. Forrester 85381a6b75 Update VE core submodule to master (2714bfc)
New changes:
8dc8b26 Trim leading and trailing whitespace from annotations
306feb4 Add get(Col|Row)Count to TableSelection and use in isFull*
1c06d21 Cursor holders for native cursoring to ce=false nodes
b08384d Provide file extension fallback for FileTransferHandlers
28844ed [BREAKING CHANGE] Move all icons to OOjs UI's icon packs
9d37355 demo: Set 'lang' attribute of target
8945420 Follow-up 8dc8b266: account for annotations that return []
c2bbc97 Localisation updates from https://translatewiki.net.

Local changes:
* Switch to using OOjs UI icons for VisualEditor core features
* Update test for whitespace trimming

Change-Id: I12b22a411600b6e8e61858e7ed600fb53eedd95d
2015-04-16 14:02:59 -07:00
jenkins-bot c4901404cc Merge "Don't self-instantiate platform" 2015-04-16 02:37:04 +00:00
Ed Sanders 1ae9178773 Don't self-instantiate platform
Depends on I961dade19 in core.

Change-Id: I39b99617a9362a57a721c8467a1b43bdb9d754dd
2015-04-15 18:46:34 -07:00
Ori Livneh 07001001be Defer loading easy-deflate
Easy-Deflate.js and its dependency, Base64, are not needed for editor
activation. Defer loading these modules until the editor has been activated.

Also promisify prepareCacheKey.

Task: T94616
Change-Id: I2e754fc835a5608b27d81117e1fbc9ea97d5744b
2015-04-15 18:43:28 +01:00
Roan Kattouw 86b82b537d Make activation timings sent to EventLogging not lie
The activation timing was always a bit of a lie even pre-TargetLoader,
because the timer only started when the first RL request for VE
modules had loaded. But at least the process it covered was consistent,
which is no longer true with TargetLoader. Now that we start the
request for the HTML together with the RL request, the activation
time might include some, all or none of the HTML request depending
on how fast the RL request was.

This change makes the activation timings more useful by measuring
from the moment the user clicks "edit" to the moment the editor
is done loading, which is what actually matters.

* Moved start of activation timing to VPT init
** For mobile this falls back to when mw.Target#load is called;
   we'll have to fix that in MobileFrontend later
* Moved end of activation timing out of TargetEvents#onSurfaceReady
  into individual onSurfaceReady handlers
** This is necessary because VPT's onSurfaceReady does quite a lot,
   and we want to include the time that takes in our measurements

Change-Id: Ie44f0b839b39a2b3b22dcd86e20f0d1170cb6069
2015-04-14 21:57:11 +00:00
jenkins-bot 54afadf9d1 Merge "Replace abstract functions that just throw with null" 2015-04-14 16:57:10 +00:00
jenkins-bot 8c29e52202 Merge "mw.ViewPageTarget: Use new simplified ve.ui.Surface#getDom" 2015-04-13 19:06:13 +00:00
Ed Sanders 502272a1bc mw.ViewPageTarget: Use new simplified ve.ui.Surface#getDom
Depends on I6355cf484b8 in core.

Change-Id: I3dcce40af346b1c5ab75c0da81aee8ae02937f44
2015-04-13 18:38:56 +00:00
Ed Sanders 91923e815b Remove useless ve.init.Platform overrides
The parent methods (ve.init.Platform) are now identical.

Change-Id: Idbf18d64b723ce2465e7c0c994c88b4b63c87445
2015-04-13 18:30:57 +00:00
Ori Livneh 30772ee3f5 Update RESTBase pre-connect URL to hit /_preconnect
/_preconnect is a special end-point that is handled by Varnish with an HTTP
204, sparing the RESTBase backend. See I95a716592.

Change-Id: I0c0430014768d7a1c6673d078569d0cf4062d338
2015-04-09 17:43:53 -07:00
James D. Forrester 916eba05a5 Replace abstract functions that just throw with null
Per Timo, this avoids us having pointless code that is never
executed, and the replacement notification to the user (that
ve.blah.UnicornAnnotation.foo is null and not a method) is
sufficiently clear that the issue lies in the lack of existence
of the ve.blah.UnicornAnnotation#foo method.

Only ones in this repo appear to be in ve.init.mw.ApiResponseCache.

Bug: T54482
Change-Id: If44b8d63b8e7b2a5c289fe7278ad54e722b185fa
2015-04-09 23:20:07 +00:00
Moriel Schottlender 7c0b307d8a Allow for citation tools to work under the reference dialog
Set up the surface widget as inside the reference dialog, and let
the citation action notify the template dialog the name of the
dialog it is in. If the tool was executed from within the reference
dialog, skip over creating a reference and instead insert the
citation as a template.

* Depends on ve-core fix I709eeb0de475 *

Bug: T94621
Change-Id: I4871f8c0afe190117cc90e88227b37f292a71e20
2015-04-09 12:18:54 -07:00
Ori Livneh c741db5378 Pre-fetch RESTBase DNS and negotiate TLS
Keep VisualEditor load times snappy by eagerly establishing a connection with
RESTBase via a beacon request, which is deferred until after window.onload /
setTimeout to ensure it does not slow down the loading of the page.

Task: T94784
Change-Id: I19fd2ef6beffe1c4c4f05c2716da079b49e88b95
2015-04-09 11:54:27 -07:00
jenkins-bot 65fe5399a3 Merge "Set targetName for apiLoad and restbaseLoad metrics to the correct values again" 2015-04-09 17:25:49 +00:00
Alex Monk 19dc7d31fe Set targetName for apiLoad and restbaseLoad metrics to the correct values again
If70ff601 didn't really fix anything. The only reason you'd want this data is
to distinguish between mobile and desktop data, but it just set the value to
the desktop version always...

Bug: T95432
Change-Id: I76722e3ad8b7dbe644374b24093bec696f27f48c
2015-04-09 13:57:25 +01:00
Ed Sanders 4379275062 Update VE core submodule to master (7058807)
New changes:
4c1a5ea [BREAKING CHANGE] Give the converter a 'fromClipboard' mode
d855043 Add core tests for annotation merging
fae083e Localisation updates from https://translatewiki.net.
11710e9 Encode and decode HTML entities in comment nodes

Local changes:
* Update getModelFromDom signature

Change-Id: Ida1b9b33d5e25e7d467ef16dd2240442270b9d32
2015-04-07 18:13:06 -07:00
Alex Monk 23e734b93a Only try to load 'site' and 'user' modules on desktop
These simply won't work with MobileFrontend, per jdlrobson

Bug: T95044
Change-Id: I3b899f55b31d4ed40e65e8d1b2f65b75d9ec339f
2015-04-03 21:41:33 +01:00
Timo Tijhof 8475d40b77 mw.ViewPageTarget: Disable pointer events on dimmed elements
Reduces event overhead and prevents accidental interaction with
content while loading, and with content sub while editing.

Change-Id: Ief997cd4d5cf444fb2ee0d28c709301d26e814f9
2015-04-01 01:46:22 +00:00
Roan Kattouw 37bb76e13b Fake <base href> if missing or invalid
If the Parsoid document has an invalid base URI or none at all,
construct one based on wgArticlePath so link href resolution
still works properly. This is needed especially when creating
a new page, because the "Parsoid HTML" is an empty document
in that case.

Bug: T94315
Change-Id: I5d9709725ef471c7ce1987ce887708ac5ee4259a
2015-03-30 21:30:58 -07:00
jenkins-bot 026c015696 Merge "Correct font sizes of everything on MonoBook" 2015-03-30 21:25:33 +00:00
jenkins-bot 2a8c61b57f Merge "Support an "other" page for special characters" 2015-03-30 20:51:23 +00:00
jenkins-bot 2dbe12bc66 Merge "Handle a further 70 WikiEditor special characters" 2015-03-30 20:50:19 +00:00
Timo Tijhof eca25738df mw.Target: Defer parsing of edit notices to MWNoticesPopupTool
Also use an array instead of an object. The keys were already
meaningless (index numbers). A "wikimedia/*" Git search did not
show any usage outside MWNoticesPopupTool. However, the array is
backward-compatible with any code using it as an object for keys
or looping (just in case).

This should also make the order more reliable.

Bug: T87412
Change-Id: I683cc902bda5ba768e962af6725e657871b79b9a
2015-03-30 20:47:25 +01:00
Timo Tijhof 97d7da6643 mw.Target: Remove visible text filter for edit notices
This removes the hack for bug 43013, since T91715 has been fixed.

Bug: T87412
Change-Id: I7f477d0815a8b9a7ca2f4405e4c2d6e914868c56
2015-03-30 20:43:25 +01:00
jenkins-bot c9084affd9 Merge "Try not to die when RESTbase returns a 404" 2015-03-30 17:40:11 +00:00
Ed Sanders 8c0122a2d5 Update border width transition hack
Upstream was reduced from 4px to 2px so reflect that here.

Change-Id: Id8990d15b9fbd4207648c5c93492fb37e5fdab5e
2015-03-30 14:40:17 +01:00