Commit graph

491 commits

Author SHA1 Message Date
Gergő Tisza c594a5610a Make max-height computation more stable
Instead of setting the parent's height as max height of the
<img> element, find the first parent which has a non-automatic
height (that would be .mw-mmv-image-wrapper).

With the old structure, the height of the parent element could
be determined by the height of the image, which would then be
written back into the max-height of the image, messing up the
aspect ratio. I did not see this in the wild, but it was easy
to reproduce by changing the timing of the resize handler (in
particular, I tried to call the resize handler before loading
the new resolution, to make the UI more responsive, and ran
into this problem). This cannot happen anymore now.

This also fix a bug on some browsers (IE 10, maybe iOS Safari)
where the size of the image could be slightly larger than the
available space, and the bottom of the image was obscured by
the metadata panel. I am still not sure how exactly that
happened, but it was related to the <img> parents with automatic
heights having incorrect height. After making sure the <img>
has a max-height derived from an element with non-automatic
height, I cannot reproduce the bug on IE 10 anymore.

Change-Id: I193aefc42e6d6072717643659a9e4c0c8b7c7e93
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/698
Bug: 66244
2014-06-17 21:20:00 +00:00
Gergő Tisza 2079519eba Make opacity rules compatible with IE6-8
Change-Id: I426c7af8f5467c3e06abaea4f98b7e1495157e95
2014-06-17 21:11:33 +00:00
Gergő Tisza 2083a39dc2 Convert Mac line endings to Linux ones for some SVG files
Change-Id: If956b1b1b45555144ad9f2299a38d2375cc2e40a
2014-06-17 19:55:34 +00:00
jenkins-bot 87e6bfc714 Merge "Updated chevron icons" 2014-06-16 09:45:09 +00:00
jenkins-bot 90b84731c1 Merge "Revert "Use localized namespace name in embed wikitext"" 2014-06-16 09:31:08 +00:00
jenkins-bot b8b475c77c Merge "Make preview link more prominent" 2014-06-13 23:39:15 +00:00
jenkins-bot a4e2dc6962 Merge "Make MediaViewer ignore images which are in 'noviewer' class" 2014-06-13 23:34:23 +00:00
Gergő Tisza 92ea8edbc5 Make MediaViewer ignore images which are in 'noviewer' class
This includes images where the <img> element has that class
(achievable with [[File:Foo.png|class=noviewer]]) and also those
where some parent element has it.

Change-Id: I666be026828ea9ecb6e8c93d3f5ad1e3c190f81e
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/511
2014-06-13 23:32:32 +00:00
Pau Giner a24b67c2cb Updated chevron icons
Chevron icons for the new design of the chevron.
Beware that the active version of the chevron is white since it is assuming
it will have a blue background.

Change-Id: I3d8fa040bfecc219a735565d5ebee8e283691bee
2014-06-13 23:06:18 +00:00
Mark Holmquist ea610f8256 Tooltips for loads of things
Change-Id: I993bf60909024453a14de85af6239bded02eb8a6
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/546
2014-06-12 12:27:04 -07:00
Mark Holmquist f308c9f7b0 Make preview link more prominent
Also cleaned up the SVG. I hate Illustrator so much for what it does to
SVGs.

Change-Id: I3c1b8b812ed50ad65a8c2f53835e440bfd2e77ac
2014-06-12 11:07:47 -07:00
Gergő Tisza 89f4d27e4c Revert "Use localized namespace name in embed wikitext"
Mark pointed out that using localized namespace names would cause 
problems when users try to reuse images across wikis with different 
content language. Reverting for now.

This reverts commit 59b8e5c82a.

Bug: 64710
Change-Id: I4b8b46871a1c80bce20e4017aa8adcfe3041bb4a
2014-06-12 01:26:10 +00:00
jenkins-bot a4e64c27e1 Merge "Fix CSS for hiding content" 2014-06-11 23:47:55 +00:00
jenkins-bot 6e5a1cb185 Merge "Add opt-out/opt-back link" 2014-06-11 22:47:29 +00:00
jenkins-bot b53f7b2e60 Merge "Add functionality to check & set opt-in flag from code, also for anons" 2014-06-11 21:48:13 +00:00
Gergő Tisza 3cebfe32bc Use Repo.isCommons() for deciding whether an image is from Commons
Change-Id: Id6b523d218a9abc9e886da4000962c6523d25dc0
2014-06-11 21:14:14 +00:00
jenkins-bot 114890cc43 Merge "Add "zoom" but really just view-file" 2014-06-11 02:38:52 +00:00
Gergő Tisza 5bd730894d Add opt-out/opt-back link
Change-Id: I998b7ad3ecb0b7e815f9ff0d5f871267b91c109d
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/703
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/704
2014-06-11 02:24:17 +00:00
Gergő Tisza e8c7c537a2 Add functionality to check & set opt-in flag from code, also for anons
Adds anew mmv.Config class to centralize localStorage handling issues,
adds AJAX option setting, adds getting/setting opt-in flag from
localstorage.

Change-Id: I25762ccb8c9bccd694c30a6f1c5d3c8611a5ecbc
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/703
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/704
2014-06-11 01:11:12 +00:00
jenkins-bot 9ec13a97cd Merge "Show Commons link to logged out users" 2014-06-10 22:19:17 +00:00
Mark Holmquist b2039ad7eb Add "zoom" but really just view-file
The zoom icon should get replaced Real Soon Now - looking at you, pginer

Change-Id: I88c1d4fb95e034e0f2fe618eb7309754ea1c283e
2014-06-10 15:07:12 -07:00
jenkins-bot 4ff614cf1b Merge "Toggle metadata panel on up/down keypress" 2014-06-10 21:31:22 +00:00
Gergő Tisza 4f54b81c03 Toggle metadata panel on up/down keypress
Previously 'up' brought the panel up, and 'down' brought it down,
which might conflict with expectations on scrolling. Up/down keys
now move the metadata panel to the opposite state, no matter what
the current state was.

Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/697
Change-Id: I53079d81042afb86354bf44e9dfd662adf1576cb
2014-06-10 20:10:42 +00:00
Gergő Tisza 92e68e4013 Show Commons link to logged out users
Change-Id: I899cb36a5d25342325266b68a3fd8058f3129e78
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/429
2014-06-10 00:30:14 +00:00
Pau Giner ba5a1b7516 Icon adjustments
- open.svg icon added for the "view in browser" feature form the share panel.
- expand.svg icon updated for better icon consistency (spacing also adjusted in the CSS)

Change-Id: Id6176d8f9b4884c9aabde05f1639500d3349f9a7
2014-06-09 23:03:16 +00:00
jenkins-bot 05c58ba0b9 Merge "Use original URL when setting download for original" 2014-06-09 18:34:38 +00:00
Mark Holmquist fc02ce0dc8 Use original URL when setting download for original
Messed with the download tests a bit too.

Change-Id: I6b7f6b5eb8642db1a81aff05663636813a21fe06
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/470
2014-06-09 18:30:07 +00:00
Gergő Tisza 1d3769e106 Fix CSS for hiding content
:not() only works with simple selectors, not composite selectors.
This caused problems for people with customized skins.
Also, this way we only require support for > (wider) instead of
support for :not.

Also fixed footer id and added monobook for good measure.

Bug: 66326
Change-Id: Ibaa0861aff711723dd336eeaa8c12e73110b1c3b
2014-06-08 02:12:11 +00:00
Mark Holmquist c34e80a1b1 Fix the share/download patch
Turns out the "active" class is added in each pane's definition.

TODO: Fix that.

Jenkins, you durnk

Change-Id: I6da961618b360d96a03948d4f6688cd4e1931b66
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/679
2014-06-04 23:32:52 +00:00
Mark Holmquist ff527cd0f3 Support shared DB version of Commons definition
Supporting production is Hard Work (tm)

Change-Id: I57b1ea945711f6fe76697927641bf4e805be15cf
2014-05-30 13:12:49 -07:00
Gilles Dubuc 1db51f25ab Prioritize download
Change-Id: I0e40a54f544414befa51c5d37bda5260b9c3e135
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/665
2014-05-29 10:45:51 +02:00
Gergő Tisza f9d06141f4 Make JSHint enforce ES3 compatibility
Also fix ES3 compatibility errors.
Upstreamed issue with sinon.stub().throws():
https://github.com/cjohansen/Sinon.JS/issues/488

Change-Id: I93b0d575484089b293d94ea860d245def4646cb4
2014-05-28 22:58:33 +00:00
Gilles Dubuc 7161ac3cc4 Record sampling factor in EventLogging calls.
Change-Id: I3966bf5dfe9ed607bda8e87f3b1924de37716dcf
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/619
2014-05-22 09:30:37 +02:00
jenkins-bot 1d897bcb17 Merge "Highlight chevron when the wrong direction is pressed" 2014-05-22 00:05:11 +00:00
Gergő Tisza 1ad28140c3 Fix text selection behavior in reuse panel
The jQuery update broke onDomEvent('focus') in OOjs UI. This is a
workaround which fixes the issue by binding on the input/textarea
elements directly, instead of their parents.

This introduces the annoying side effect that the metadata panel jumps
a bit when the embed HTML text is selected. (Just for that one, yes.
Weird.) Still better for now than no selection at all.

Change-Id: Ifa4c0600d7b4c0c64487596cbcabd5b4f4a12a19
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/638
2014-05-21 22:00:46 +00:00
Gilles Dubuc c7fe85154b Highlight chevron when the wrong direction is pressed
Change-Id: I0d43c58a16fa805611f9fdef329b5ab6a32ed651
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/554
2014-05-19 11:01:31 +02:00
jenkins-bot f5a6d67749 Merge "Fix IE9 history navigation" 2014-05-17 00:06:24 +00:00
jenkins-bot d19fcf60d2 Merge "Add sampling to unsampled event logging" 2014-05-16 20:45:30 +00:00
Gergő Tisza 171b13149e Add sampling to unsampled event logging
Has issues:
- needs dependency injection
- needs to be DRY
- should not load mw.eventLogging when we are not in sample

Due to urgency this will be fixed in another commit.

Change-Id: I0df067a619109a7c945f82c8d33fa2e621217f0b
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/619
2014-05-16 18:43:55 +00:00
rillke 85833e06f3 Replace deprecated jQuery.browser with jQuery.client
jQuery.browser is deprecated. jQuery.client is a core RL module.

Bug: 65371
Change-Id: I040cfba574fa0514a25ec5166d82d86f6f697441
2014-05-16 20:37:27 +02:00
Gilles Dubuc bb93765dbb Fix IE9 history navigation
Change-Id: I83469fdaa069e80dc17c0c0c307bff7e9b25e468
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/617
2014-05-16 11:06:40 +02:00
jenkins-bot 44311cddd4 Merge "Revert "Minimal zoom implementation"." 2014-05-16 08:29:49 +00:00
Pau Giner 96791886c8 More prominent metadata panel invite.
The invite animation has been made more prominent and the chevron
is highlighted. this only applies until the user opens the
panel for the first time.

Change-Id: I91d1b9bffaf302890f63b741313aa47cc4beef24
2014-05-15 20:41:13 +00:00
Gergő Tisza ab7b339143 Revert "Minimal zoom implementation".
Per the design meeting, we are abandoning this feature for now - there is not enough time to ensure it is of acceptable quality.

This reverts commit 4329d453ec.

Change-Id: I27c113ffecb617d442557163722ea5181ed0b2f4
2014-05-15 20:40:41 +00:00
Gergő Tisza 4329d453ec Minimal zoom implementation
Just a link to the full-size file for now.

Since the link must be to a PNG/JPEG/GIF (so possibly a thumbnail),
and we want to cap the size, we might need to get the URL from the
API, but we need to open the new window right away to avoid popup
blockers, making this patch quite complicated.

Change-Id: I9ce9d2a2d27b75470eae2806d9f9ce2f95f4dac2
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/588
2014-05-15 01:04:23 +00:00
jenkins-bot eeb5f4bd38 Merge "Improve DurationLogger test code" 2014-05-14 19:35:52 +00:00
jenkins-bot 3353a3e1a2 Merge "Fix IE9 support" 2014-05-14 19:21:14 +00:00
Gilles Dubuc 8a4c062343 Improve DurationLogger test code
More dependency injection, cleaner sinon calls

Change-Id: I4b15a6aa9bca3b89f85ad15eed02e33c291b754d
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/571
2014-05-14 12:24:31 +02:00
Gilles Dubuc 7d5a82c571 Fix IE9 support
- Fix JS error on pushState
- Fix blur issue where blur(0px) filter would blur anyway
- Fix wrapper sizing issue where its size would be 0 when measured

Bug: 65225
Change-Id: If9279cd56f55f71f261ec54dda8228194988b9ae
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/597
2014-05-14 12:06:27 +02:00
jenkins-bot 7245220e84 Merge "Extract metadata panel scroll/log/animate logic into separate component" 2014-05-14 07:34:02 +00:00
Gergő Tisza 40b125565d Extract metadata panel scroll/log/animate logic into separate component
Change-Id: I2441d64c094a9bfbae7a4712ff4c78efa13a62a7
2014-05-13 18:57:38 +00:00
jenkins-bot 468a249497 Merge "Do not log a metadata event when the user presses the wrong key" 2014-05-13 08:19:55 +00:00
jenkins-bot a03f290530 Merge "Improve post-fullscreen panel/image sizing logic" 2014-05-13 00:00:38 +00:00
Gergő Tisza 8a118816a5 Do not log a metadata event when the user presses the wrong key
Do not log metadata-open when panel is already fully open and the
user presses the open key. (Same with close).

Also a completely unrelated code simplification.

Change-Id: I1f26b8669aa496d68b61d9a432430bf0864e8533
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/559
2014-05-12 21:29:12 +00:00
Gergő Tisza d964b3fd09 Fix url encoding in URL guesser
Change-Id: I99757913cd2fe5170db37c79a2d2986b12b5aa45
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/594
2014-05-09 22:44:57 +00:00
Gilles Dubuc 0f8c7dc214 Improve post-fullscreen panel/image sizing logic
Also deletes custom event that should have been cleaned up before

Change-Id: I531a9cb068b0ae26ea0c3b46d8fdad84068c6931
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/569
2014-05-07 06:49:15 +02:00
Gilles Dubuc 8a9f23dab7 Remove the threshold where a load is considered to be coming from the browser cache
We'll filter those out in SQL instead.

Change-Id: I2b7c019e20fa224480035b67c64b5666d21ba55c
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/563
2014-05-06 16:59:53 +00:00
Gergő Tisza 59b8e5c82a Use localized namespace name in embed wikitext
Bug: 64710
Change-Id: I2164e3dfafe8ddf4b88ae0d2f23e8573cf162b89
2014-05-04 05:01:48 +00:00
jenkins-bot 9e0df0dd4c Merge "Refactor progressbar & blur handling" 2014-05-01 23:12:22 +00:00
Gergő Tisza fec24e02f7 Refactor progressbar & blur handling
This tries to fix a number of related issues:
* the blurred thumbnail was visible for a split-second sometimes
  when switching back to an already-loaded image. (Presumably when
  JS was sluggish enough to take more than 10 ms to execute.) We
  now check whether the promise is pending before showing a placeholder.
  (More generally, a lot of unnecessary logic was executed when paging
  through already loaded images, like displaying the placeholder, so
  this might make the UI a bit more responsive.)
* the blur could get stuck sometimes - I have seen this a few times,
  but have never been able to reproduce it, so I'm only guessing, but
  maybe the timing was really unfortunate, and we switched back less
  than 10 ms before loading finished. We now remove the blur on every
  branch, just to be sure.
* adding a progress handler to a promise might not have any immediate
  effect, so when switching to an image which was loading, the progress
  bar reacted too late. We now store the progress state per thumbnail
  so it is always available immediately.
* the progress would animate from 0 to its actual state whenever we
  navigated to the image. The change on paging is now instant; the
  progress bar only animates when we are looking at it.
* switching quickly back and forthe between a loaded and a loading
  image resulted in the loading image becoming unblurred. This seems
  fixed now, I'm not sure why. Maybe the "skip on non-pending promise"
  logic affects it somehow.

Also removes some unused things / renames some things which were
confusing, and makes an unrelated fix in the image provider, which kept
amassing fail handlers.

Change-Id: I580becff246f197ec1bc65e82acd422620e35578
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/489
2014-05-01 21:09:28 +00:00
Gergő Tisza 88f766bfc3 Reanimate metadata panel when viewer is reopened
Change-Id: I776a27358b2da17a35234aa8cb649a49df4a651d
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/548
2014-05-01 12:05:26 +02:00
Gilles Dubuc 5f7af0cede Catch exceptions raised by localStorage write operations
Also adds dependency injection to the metadata panel
for cleaner tests.

Change-Id: I3f062ff88c03ad3baca00461bff486a883776eb1
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/530
2014-05-01 12:00:31 +02:00
jenkins-bot 553a9f142d Merge "Disable JSONP cache breaking in jQuery" 2014-05-01 09:50:32 +00:00
jenkins-bot 8138013421 Merge "Fix Commons tooltip for messages using GRAMMAR such as he" 2014-05-01 08:41:28 +00:00
jenkins-bot 862c2f162d Merge "Fix "use this file" arrow CSS for RTL" 2014-05-01 00:08:30 +00:00
Gergő Tisza 7ecda828fe Fix Commons tooltip for messages using GRAMMAR such as he
Change-Id: I1ec744cda78a5882a089ba0c32eae924559ed4e6
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/553
2014-05-01 00:04:09 +00:00
Mark Holmquist 969c5bfda9 Add preferences link after "help"
Reused message from the top-right menu.

Change-Id: Id37712e332bf8fed56edaa9ae8f7e04a2a5a5f42
2014-04-30 22:49:09 +00:00
Gergő Tisza 7a4a8e90ad Disable JSONP cache breaking in jQuery
Change-Id: Ie3b80b0c2f8ce734c6d08418c7b19a7e24c2d5eb
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/547
2014-04-30 22:39:17 +00:00
jenkins-bot 182f1cd6bb Merge "Fix RTL positioning for repo icon" 2014-04-30 20:56:51 +00:00
Gilles Dubuc ad6cc656ce Fix RTL positioning for repo icon
Change-Id: Iad6f0002913fb6361f22a467b08e6489a40adeea
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/512
2014-04-30 20:55:12 +00:00
Gilles Dubuc f09abebbf4 Change the tipsy gravity for the stripe buttons
- this avoids an issue where the arrow wouldn't point to what we
want when near the edge of the screen
- this avoids an RTL issue where the bubble would go outside of
the screen

Bug: 64258
Change-Id: I1cc9683af2743b093a45b19d7142fe7e5e66423f
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/485
2014-04-30 17:01:17 +02:00
Gilles Dubuc acaa7e5afd Fix "use this file" arrow CSS for RTL
Change-Id: I638cd449041693d34a20667a43b7c6ef1c2b443e
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/550
2014-04-30 16:28:18 +02:00
Gergő Tisza 6d301dcd12 Do not handle clicks if MediaViewer could not be loaded.
mmv.bootstrap will not try again to handle clicks if it failed
for the first time.

Change-Id: Idd55d7dc6c1388070895f8630bdcd51763a94d86
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/527
Bug: 63801
2014-04-29 16:04:17 -07:00
Gilles Dubuc 8ab6ef23c8 Adds new performance metrics
- duration between early click and replayed click
- duration between replayed/post-replay click and first image display
- duration between replayed/post-replay click and first metadata display

Change-Id: Ia308db7580fd89538b9a9c8b0fea89fa2a4c77d2
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/515
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/508
2014-04-29 14:08:49 -07:00
jenkins-bot 8f250b4628 Merge "Enable survey in Dutch" 2014-04-29 20:38:31 +00:00
Gilles Dubuc 0d51b0128d Preload Media Viewer js/css when hovering thumbs
Change-Id: I6f56c9d3d908f1980d2a3b29bea857d828fdaf0e
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/430
2014-04-29 13:36:47 -07:00
Gergő Tisza bbe3429f38 Enable survey in Dutch
Related core change: Ic5892e29c6e64d0d015e8b6037c402c42ea1c7d5

Change-Id: I5f939f98f8654c3fd90bcfae1b28fec262da8332
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/545
2014-04-29 19:17:25 +00:00
jenkins-bot f3ce1b0aa6 Merge "Fix for jsduck 5.x, rearrange categories" 2014-04-29 18:35:22 +00:00
Mark Holmquist d137689b34 Fix for jsduck 5.x, rearrange categories
Should make for a nicer documentation experience.

Change-Id: I935cbab2b06c8cf482d3987905d2257d09bea3a3
2014-04-29 11:32:12 -07:00
jenkins-bot fa8cf649bf Merge "Make progress bar less erratic" 2014-04-29 08:00:11 +00:00
jenkins-bot a63f8b4666 Merge "Enable survey in Spanish" 2014-04-29 07:34:58 +00:00
jenkins-bot b06020fa26 Merge "Adjust invite animation for Media Viewer" 2014-04-29 07:30:55 +00:00
jenkins-bot 8b7cfd12d5 Merge "Handle window.localStorage === null case correctly." 2014-04-29 07:10:33 +00:00
Gergő Tisza 3be5195ed2 Ensure click playback happens at the right time
The code to replay clicks and clean up the handler was called after
processing each thumbnail, instead of just once at the end.
This might have caused many subtle issues such as clicks on any
but the first image not replaying correctly; more problematically,
of there were no MediaViewer-compatible thumbs, the handler was
never cleaned up and the clicks were never replayed.

Besides fixing that, this commit also adds a try..finally wrapper
so that the click replaying is not broken even if there is an error
in the thumb processing code. This might or might not be a good
idea. The internets say that try..finally without a catch causes
errors in IE8, but only if it is not wrapped in another try..catch,
so we are probably fine. (Adding a catch which just rethrows the
error would be an alternative, but it messes up stack traces.)

Change-Id: I2f645762103274c92c15a0d4b595d18d93b08415
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/497
Bug: 64345
2014-04-29 00:27:31 +00:00
Gergő Tisza 184067eb39 Enable survey in Spanish
Related core change: Ibd1a4b14faa11fd764fe078880355d7184b698bf

Change-Id: If44279fff1aad3fb68a01d167ef5cce69dbb3b34
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/525
2014-04-28 22:38:50 +00:00
Gergő Tisza a56759d8fe Handle window.localStorage === null case correctly.
Change-Id: I49ddf45093daee4988fb7f3b481fb35bfaceb152
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/521
Bug: 64525
2014-04-28 22:33:02 +00:00
Pau Giner 2ac50f49bf Adjust invite animation for Media Viewer
With latest refactorings, the animatin looked like a glitch.
The position of the panel has been adjusted to (a) make the initial
position the same as shown while the progress bar for better continuity,
and (b) make the move more noticeable by increasing the distance the
panel moves.

To test, clear the local storage variable mmv.hasOpenedMetadata

Change-Id: Ie3ed29826fa15bf4c6b38f0fc8bde4bd84563fb9
2014-04-28 10:28:18 -07:00
jenkins-bot a0d9e46ef6 Merge "Fix Chrome bug where popstate could still reset scroll position" 2014-04-25 20:55:12 +00:00
Pau Giner b7420ae82a Images for zoom
Images for the Zoom control of Media Viewer.
SVGs for RTL and RTL languages included.

Change-Id: I65cc6d9921a40d26307c294fb08ccfc42b1a9068
2014-04-24 17:43:15 -07:00
Gergő Tisza 7ee0cf3fcd Make progress bar less erratic
Solves the bug, and makes the code slightly cleaner, but it
still does not inspire confidence (e.g. use of viewer flags
by a bunch of callbacks that can run for a background image).
Also, the tests seem underspecified.

I'll follow up with some more refactoring.

Change-Id: I2557abcec173691ffce21185bf1a939f1644ba8c
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/489
2014-04-24 23:55:26 +00:00
jenkins-bot 476a0be245 Merge "Skip userinfo request if no message depends on the gender." 2014-04-23 23:47:34 +00:00
jenkins-bot fe7a64fbcc Merge "Make License.isCc() really return booleans" 2014-04-23 22:59:25 +00:00
Gergő Tisza 846019a08a Make License.isCc() really return booleans
Before it returned undefined if the license had no internal name,
which caused unexpected behavior when used with $.toggle().

Change-Id: I1dcee6c999982fde47f9d388381fc670d81a6c5d
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/494
2014-04-23 20:30:03 +00:00
Gergő Tisza 33e2855a0c Show caption on thumbnails
processThumb() is a mess. This change is kept small since we might
want to backport it per the bugzilla comments; I might follow up
with some refactoring in a separate commit.

Bug: 62518
Change-Id: I1f916b88fe1b667c6c7e51c9bdca186d4aa2ef2c
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/338
2014-04-23 01:29:30 +00:00
Gergő Tisza ec883d84ef Skip userinfo request if no message depends on the gender.
Change-Id: I85bc617efc87ed1c4526eb74470bb6182910d9fc
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/435
2014-04-23 00:59:23 +00:00
Gilles Dubuc 292f42dc7c Fix Chrome bug where popstate could still reset scroll position
Change-Id: I3418b2e446a210a406daacc1321103df1f09caa1
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/486
2014-04-23 02:26:07 +02:00
jenkins-bot 7ac4b375b6 Merge "Bigger, badder, animated progress bar" 2014-04-22 22:30:31 +00:00
Gilles Dubuc 69e75bcda8 Bigger, badder, animated progress bar
Nobody will be able to say it's not prominent enough anymore.

Change-Id: I060dcf2b8f244f7d59f4ed1ef6dfd85a08f3ef88
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/464
2014-04-22 15:16:56 -07:00
Gergő Tisza d1a6592185 Add more survey languages (fr, de, pt/pr-br)
For pt speakers pt-br is shown until we get a pt translation

Related core commit: If2c57846f4dfb05ea58f36b25e3d8185d2a6e70e

Change-Id: I595446dc59c1bca2ea0b977be9d26f17192d3bc4
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/481
2014-04-22 22:03:32 +00:00
jenkins-bot 2b665e6ff0 Merge "Track more user actions" 2014-04-22 18:41:28 +00:00
Gergő Tisza c304baf0ba Show metadata panel immediately.
Change-Id: Ie71eb1d29e3863b99687a75da69fad9a1ead552c
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/458
2014-04-22 16:10:25 +00:00
jenkins-bot 5007968d4f Merge "Split the progress bar into a component of its own." 2014-04-22 09:19:41 +00:00
jenkins-bot 61b5de0d22 Merge "Cache API responses" 2014-04-22 08:58:44 +00:00
Gergő Tisza 284a936aff Cache API responses
Cache API responses, both on Varnish and in the user's browser.
The imageinfo request is not cached, since that would make it very
hard to test metadata template edits. Everything else is cached for
one day.

Change-Id: I9149cf40d4448a424073eefd1eb442c70c977687
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/435
2014-04-22 10:56:52 +02:00
jenkins-bot a057ee476e Merge "Open license deed in new tab" 2014-04-22 08:48:12 +00:00
jenkins-bot 2471bbe136 Merge "Display correct file type on download button" 2014-04-22 08:31:27 +00:00
Gilles Dubuc 700df1ecc2 Track more user actions
- metadata open/close
- next/prev
- view terms
- author
- source
- hash load
- history navigation

Change-Id: I4ea7e0b008b46577322050d692359d46374a0929
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/290
2014-04-22 10:20:36 +02:00
Gergő Tisza 3bddd3fcb7 Open license deed in new tab
Not convinced this is a good thing (file description page still
opens in same window so it is somewhat inconsistent) but suddenly
leaving the lightbox to show the deed feels like a very unintuitive
behavior to me.

Change-Id: I2cca3e4241fd1bb2848c11cf425aa75aad8c4a30
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/472
2014-04-22 00:21:11 +00:00
Gergő Tisza f04f5984d5 Display correct file type on download button
Works, but awkward - the extension name changes a little later than the button
text itself. This is hard to avoid since we don't know beforehand
what the thumbnail type is - we have to wait for the API request.
(We can't do thumbnail URL guessing here since we cannot catch the 404 error.)

In general the whole API handling here is not so good, with a separate API
request going out when we should just get all size options in a single request,
when the user opens the reuse panel.

Change-Id: I502b7cb4e99d8af348d7d1967eb8343ec0f926fe
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/471
2014-04-21 23:51:15 +00:00
Gergő Tisza c9e92da374 Split the progress bar into a component of its own.
Change-Id: I131b0d1b8ec992a7c7ad388021febea5a0303d16
2014-04-21 22:27:59 +00:00
Gergő Tisza acd816a4c3 Show error trace in console when catching an error in bootstrap
Change-Id: Icaee88ee3d1d3076cef166ba4443ac9065863efb
2014-04-21 21:23:28 +00:00
jenkins-bot 5d7e4f8198 Merge "Use short license name from template if we don't recognize it" 2014-04-21 18:53:10 +00:00
jenkins-bot c4a022460a Merge "Show 'view terms' when we can't figure out the license" 2014-04-21 10:42:11 +00:00
jenkins-bot 9a54e155da Merge "Collect license handling code, remove unused data attribute" 2014-04-21 10:40:08 +00:00
Gergő Tisza bfbc58fce0 Disable preloading of fullscreen-sized image
Fullscreen clicks are only about 5-10% of image views, and there
are a lot of complaints about the app being slow, so until the
speed can be improved in other ways, there is no point in
preloading for the fullscreen mode. Unlike the normal preloading,
it is not queued, and it slows down the normal image loading.

Bug: 64135
Change-Id: Ic145c8a1d5c3729f684e2f6c96f7d84869ef4087
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/474
2014-04-19 15:53:28 +00:00
Gergő Tisza 4e081a9559 Use short license name from template if we don't recognize it
We have been saying 'view terms' for every non-CC/PD image, which
is not particularly helpful.

Change-Id: Ia5fc6fb3af3802ad8a1f5188226fe4e89ab6d8d9
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/472
2014-04-19 00:46:50 +00:00
Gergő Tisza c1b2b1bb2c Show 'view terms' when we can't figure out the license
...since there probably still is one, and our failure to parse it
just makes it more important that we direct the user to the file
page.

Change-Id: Id31f95021f059ccf4bf9893b1146f3807dcabdcb
2014-04-19 00:42:47 +00:00
Gergő Tisza b00eca6ade Collect license handling code, remove unused data attribute
This just shuffles code around, should not change behavior.

Change-Id: Ieb0102300c8444f18444fae38e5ea813d8f682e5
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/472
2014-04-19 00:39:21 +00:00
jenkins-bot 119bdad504 Merge "Show scrollbars in survey window in Firefox" 2014-04-18 21:44:57 +00:00
Mark Holmquist bfcbf06f80 Show scrollbars in survey window in Firefox
Change-Id: I6bf4838df86ad73a2aa4eeca3c9b3a4269ea0eae
2014-04-18 14:27:19 -07:00
Mark Holmquist a6619cb1ce Link to creativecommons.org for CC licenses
Change-Id: Ifdbb0d835b0eb6950eca3403bb486bbdd34651c6
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/221
2014-04-18 11:27:00 -07:00
Gergő Tisza dd9a9718c3 Use thumbnail guessing
Change-Id: I2335af257fd23c9367b6839dfc6050840a905aa2
2014-04-17 10:35:33 +02:00
Gergő Tisza e03b9345c2 Guess thumbnail URLs without extra API call
Given a sample thumbnail URL and the original width/height
this provider tries to guess the thumbnail url for a given
size.

Change-Id: I2966b60978ab763864475851d8a79370bd422dc4
2014-04-17 01:21:35 +00:00
jenkins-bot fff6c55695 Merge "Fix bug when exiting Media Viewer while image is loading" 2014-04-16 20:39:23 +00:00
jenkins-bot 8217b97462 Merge "Load moment.js on demand" 2014-04-16 20:32:21 +00:00
Gilles Dubuc 9d51e534da Fix bug when exiting Media Viewer while image is loading
Which would cause the image to never appear, even when reopening
Media Viewer. The source of the issue was an uncaught exception in
ThumbnailWidth.

Unfortunately this cannot be covered by E2E because the image
loads too fast in that context, and cucumber/selenium doesn't
have time to catch the placeholder.

Change-Id: I9386f6e857a7974166ddb5eeb7ea731d943eddcf
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/450
2014-04-16 13:59:45 +02:00
Gergő Tisza 9b1e756c3b Replace current URL generation logic with routing classes
* deduplicates URL generating/parsing code
* gets rid of spaces in URLs
* fixes error for file names with / in them (in case they exist;
  current MediaWiki seems to disallow such names anyway)

Change-Id: I5aad43f6af1b99523c597c39befcc9db1ecab83a
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/371
2014-04-16 12:51:38 +02:00
jenkins-bot e78d391037 Merge "Add routing classes" 2014-04-16 10:51:02 +00:00
Gergő Tisza 0b614c78e3 Add routing classes
Adds a Route class hierarchy for various URL schemes and a Router
class to convert Route classes to and from URLs.

Right now we only have two(-ish) schemes, but in the future we want
to be able to show related images which are not present on the current
page and need shareable URLs for those as well; also we might want
to specify other things in the URL than the current image (the reuse
box being open was one thing discussed); this will be a good framework
to add features like that.

The MainFileRoute class will be used by #416.

Change-Id: I489126a0ada37f91a22a2f48a4e686140a28d162
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/371
2014-04-16 12:40:17 +02:00
jenkins-bot ffdc63aa4c Merge "Do not load too-big thumbnails for SVGs" 2014-04-16 10:23:40 +00:00
jenkins-bot 2cea09b588 Merge "Choose feedback survey based on user language" 2014-04-16 10:08:52 +00:00
Gergő Tisza 35eb14f837 Choose feedback survey based on user language
Change-Id: Ia9d53b6a3caedecd05429e5285765b1c5098342e
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/420
2014-04-16 00:52:40 +00:00
Mark Holmquist 68bb702eaa Fix issues with file page link
TIL about setup/teardown in qunit

Change-Id: Ib283285bea401be251ec3f46a2dbd01623fe895e
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/452
2014-04-15 15:42:11 -07:00
Mark Holmquist 0ed174a306 Do not load too-big thumbnails for SVGs
Change-Id: Iae75105151bfcd0e974fc292794802c77eb26ea4
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/448
2014-04-15 11:21:05 -07:00
Gilles Dubuc 7ff5b22873 Load moment.js on demand
Change-Id: I881d38ea201f314fcf364766bb589f56c9e6b057
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/444
2014-04-15 14:13:27 +02:00
jenkins-bot a3cb95e2d2 Merge "Restore article scroll after closing Media Viewer" 2014-04-14 19:23:15 +00:00
Gilles Dubuc 09374fc9dd Restore article scroll after closing Media Viewer
There used to be a CSS trick with the order we added things to the
page and removed them from it, but it doesn't seem possible anymore
with the new order of execution, with the overlay appearing
immediately and being taken care of inside bootstrap.

The main cause of the bug, however, was the hash reset happening
after the interface was closed.

Doing the scroll restore with jQuery.scrollTo is more future-proof
and testable in QUnit.

Additions were also made to the cucumber E2E test because QUnit
alone wouldn't have caught the hash issue.

This also cleans up custom events a little and reintroduces
pushState on browsers that support the history API.

Change-Id: I63187383b632a2e8793f05380c18db2713856865
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/439
Bug: 63892
2014-04-14 18:04:30 +00:00
jenkins-bot e4e68115f5 Merge "Load oojs-ui on demand when "use this file" is clicked" 2014-04-14 17:29:58 +00:00
Mark Holmquist 244a5e70b0 Miscellaneous fixes to truncatable text fields
Should make the e2e tests pass again.

Change-Id: I2a610468837f53d10fd9e7f2fa6d0937407e6f26
2014-04-14 17:19:59 +02:00
Gilles Dubuc eb6386bb5b Load oojs-ui on demand when "use this file" is clicked
Change-Id: Ia3b6b91c7ff0cb223f5f312eb901726fb6adcf35
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/426
2014-04-14 11:50:05 +02:00
jenkins-bot 5a570186d1 Merge "Adjust OOjs UI TextInputWidget text style" 2014-04-14 09:41:43 +00:00
Gergő Tisza a6c279042c Adjust OOjs UI TextInputWidget text style
White text shadow looked bad on Chrome/Linux where selected text
color is white.

Change-Id: I6723bc8ee0f6e2f77bb299216d56a844ac17a9f1
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/443
2014-04-11 22:55:50 +00:00
Gergő Tisza b0fc56f039 Fix icon positioning for secondary repo link
The last change did not work so well for small (non-Commons) links,
adjusting.

Change-Id: I50bb25f4311715d93ebb12603b1b2546273efa31
2014-04-11 21:02:12 +00:00
Pau Giner e250a45eb3 Spacing adjustment for repository link
Spacing of the whole element and the Commons logo has been
adjusted to provide visual clarity.

Change-Id: I601a1d5c847199dc734911dc9e90c0fe7931bca8
2014-04-11 15:30:19 +00:00
Gergő Tisza 2bb6c48ee2 Show a fallback repo icon for the "go to file page" button
...if the real icon is not available.

Change-Id: I36b79beb1867deb86b0a1d986db672854c3b839e
2014-04-10 19:09:28 +00:00
jenkins-bot 6dae43b0cf Merge "Fix commons icon to avoid pixelation" 2014-04-10 18:12:34 +00:00
jenkins-bot 228539fc03 Merge "Fix overlap of info box and right sidebar" 2014-04-10 16:32:28 +00:00
jenkins-bot a433c43556 Merge "Split button line adjustment" 2014-04-10 12:58:30 +00:00
Pau Giner bb70c70431 Split button line adjustment
The download button used a dashed black line to separate options.
It has been changed to a dark green line to better fit the style.

Change-Id: I3224027b69c4c1e5cf2568aed8f4f50ee351c369
2014-04-10 14:35:13 +02:00
jenkins-bot 911e87adde Merge "Add truncatable text field, use for some fields" 2014-04-10 12:13:46 +00:00