Commit graph

1000 commits

Author SHA1 Message Date
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
Alex Monk c68b58eedf Try not to die when RESTbase returns a 404
Just assume content = '' like we did with Parsoid

Change-Id: I1b076f4e37a8c54733da0e4535adb7a50ae2a7e5
2015-03-30 08:44:31 +01:00
Alex Monk 5af4564097 Support an "other" page for special characters
Change-Id: I9a1404dff1a970fbbc7bdf822398dbb7057159bf
2015-03-30 03:02:10 +01:00
Alex Monk 14d5b4e930 Handle a further 70 WikiEditor special characters
VE core changes would be needed for the remaining 9. (To deal with 3 titles in
the UI, and 6 encapsulating the selected text with one character before and one
after).

Change-Id: Id7c0fa06b1c873ab286cffb7a83016a2d37ab744
2015-03-30 02:26:11 +01:00
jenkins-bot 4b2ee8f310 Merge "Load all of WikiEditor's special characters" 2015-03-28 03:00:06 +00:00
jenkins-bot 08afdfadbd Merge "Use parseInt(), not Number.parseInt()" 2015-03-27 23:23:22 +00:00
Roan Kattouw b858332667 Use parseInt(), not Number.parseInt()
For whatever reason, Number.parseInt doesn't exist in IE11.

Change-Id: I62366ee027283a8f70d3fff2e29c4f333ad5f697
2015-03-27 16:14:13 -07:00
Alex Monk e084df2df6 Load all of WikiEditor's special characters
Relies on If9c5cdbe and I8fafd734

Bug: T91608
Change-Id: I3fafc561ceae969e4ecc12881154cd8a3568bebb
2015-03-27 22:13:38 +00:00
jenkins-bot 4fbb11e40a Merge "Verify welcome dialog exists before trying to close it" 2015-03-27 18:48:39 +00:00
Moriel Schottlender db9e565a09 Verify welcome dialog exists before trying to close it
When deactivating, verify first that the welcome dialog was
initialized before calling 'close' on it.

Change-Id: Ife98b396f3d8641e2bd313c549fe867bcd84db9b
2015-03-27 11:45:26 -07:00
Bartosz Dziewoński 4bfc19349a Correct font sizes of everything on MonoBook
This is not pretty and probably isn't optimal, but it works well
enough. The bug about getting rid of this all is T91152.

Bug: T94071
Change-Id: If926286f1d0c7835489914ed653a0d65ed24f53a
2015-03-27 19:42:33 +01:00
ecotg 175e60edaf Strip X-Parsoid Performance Headers from Visual Editor
Stripped out X-Parsoid Performance Headers, previously used to gather and
forward Parsoid's performance information, from ApiVisualEditor.php,
ve.init.mw.Target.js and ve.init.mw.TargetLoader.js. Change I936ada7b1 strips
out the corresponding X-Parsoid Performance Headers from Parsoid. Parsoid's
current performance instrumentation is achieved using Graphite and txstatsd.

Change-Id: I57d6f866a7d8287a5115e6236b0fb25bc4d0eabd
2015-03-27 12:03:15 -06:00
Roan Kattouw 6bd5142f2a When content and metadata have different revids, explicitly retry the higher one
It's much less likely we'll get another conflict if we retry
with ?oldid=12345 than if we retry omitting the oldid again.

Change-Id: I10e40f714fd44d7f0ac16c9d0dc6239a95c0ec51
2015-03-26 16:07:43 -07:00
Roan Kattouw b19104ed04 Send requests to RESTbase directly when so configured
Also introduces paction=metadata in ApiVisualEditor which
doesn't hit Parsoid but gets all the other information we need.

Bug: T90374
Change-Id: I71edbc0f8dc15a6f8d3672c10ca3c641cc172be7
2015-03-26 16:00:54 -07:00
jenkins-bot 25aedfd0fb Merge "Show beta welcome dialog before surface is ready" 2015-03-26 19:40:54 +00:00
Moriel Schottlender 74c3b758e2 Show beta welcome dialog before surface is ready
Split up beta and meta dialog show methods so that beta dialog
is displayed as soon as possible, regardless of the surface being
ready. Also make sure that we destroy the temporary window
manager on destroy.

Bug: T90454
Change-Id: Ib8f94518af431487ce940a74a8c268dbdbe403d2
2015-03-26 12:36:40 -07:00
Alex Monk 024823e560 Fix revId check on new pages
Makes it possible to edit new pages again.

Follows up Ifbf44b7772

Change-Id: If170a367dc2f531d11f09569c7ab45ebd414dff6
2015-03-26 17:39:45 +00:00
Alex Monk 9019f02130 Check for the two revision IDs returned by the server being different
With RESTbase we'll be able to retry the older one, but right now we have to do
both with the same request.

This commit retries loading once, then starts emitting errors.

Bug: T92993
Change-Id: Ifbf44b777279dafbe31ab438838d70acd44de726
2015-03-25 20:46:27 +00:00
jenkins-bot 5f3e0b033b Merge "Emit activation entry/exit traces at the appropriate times" 2015-03-25 03:15:56 +00:00
Amir E. Aharoni 1d1ffac74e [BrowserTest] Capture the whole formatting button in the screenshot
This makes the screenshot nicer and more complete.

Change-Id: I0dd9efd2978ff5468ab6101b11b7e6fdd3b0da30
2015-03-24 12:34:42 +02:00
Ori Livneh 13292744b1 Emit activation entry/exit traces at the appropriate times
Due to changes in the way VisualEditor is loaded, the trace.activate.{enter,exit}
events no longer enclose the entire VisualEditor initialization process. This
change ensures that trace.activate.enter is emitted as soon as the user clicks
on an edit link / tab and that the trace.activate.exit is not emitted until the
toolbar has been fully activated.

Change-Id: Ief798faa95a58898b9ae4dcbbbd30506c5dbd9a7
2015-03-23 23:19:12 +00:00
Ed Sanders e006449c7f Vertically center the progress bar within the visible part of #content
On short pages which don't extend below the fold, the progress
bar should center within the #content element.

Change-Id: I0b99e42f5bab8177d3b4ca6dd372d6403ae9b136
2015-03-23 02:34:40 +00:00