Some of the code encountered accessed mw.config directly,
I cleaned that up by migrating to mmv.Config, which is an
abstraction added to avoid peeking at mw.config directly.
Bug: T132064
Change-Id: I2a95ba703e6c7f46296f8e435bceec769dceebf9
When exit button is clicked in the full screen mode, the lightboxinterface
detaches itself but the "jq-fullscreen-change.lip" even is never fired.
This leads to issues as described in T74843 and similar.
Bug: T74843
Change-Id: Id3a68844fd2405fcf289741d54b0602c8e337a3d
Drop the title and site name. Use a shortened URL
created using the pageID for the curid query parameter.
Add pageID property to mmv.model.Image, using value already
fetched from an existing API request.
Bug: T119686
Depends-On: I0f00b986e6095bdb9b8d6af6fbc5b01995227e02
Change-Id: I9189f00bfbf7639974d66cf1921773855a77a865
On not-MMV -> not-MMV hash changes the bootstrap class has set
up and immediately torn down the overlay. Besides slowing things
down, this broke TOC navigation on Chrome in an ugly way.
Add a special case to skip the overlay loading when the new hash
does not contain #/media. This is a quick-and-dirty fix; the whole
loading and hash handling could use a rewrite.
Bug: T119854
Change-Id: I5494903dfe778e533773ff142fdf756475c2df32
These text fields contain file names and license informations that tend
to contain very loooooooooong words. These make the field hard to use
and hard to read, especially when the browser decides to add a horizontal
scroll bar to the already pretty short text field. Some browsers do a
proper word wrap by default, others may not. I suggest to add this
explicitely.
Bug: T69835
Change-Id: I3f32270c1c0310e83288b5f4e260feb474006297
Make it more gender-neutral and better-looking:
- No necktie
- A frame around the icon similar to the frame of a photograph
Change-Id: I05ec5a5a546b19f08ac9a6ab1470b769025e076b
This makes sure that MediaViewer works correctly when content
is changed via frontend code (such as a VisualEditor edit or
an AJAX preview).
Bug: T97010
Bug: T110493
Change-Id: I9c57af281ed7f416521d80512f95a79150ce13a2
When cookies are disabled in Firefox, merely referencing window.localStorage is
enough to cause Firefox to throw a SecurityError exception. (See the referenced
bug for reproduction instructions.) This causes MMV to fail to start.
Bug: T109110
Change-Id: I28399cf8b63328ee34316b785f2d091f6f052224
Currently, if VisualEditor saved an edit, it replaces the current content
with the new content, which removes all already added event listeners, e.g.
on thumbs, added by MMV.
Add a new hook handler to the postEdit JavaScript hook to re-add all event
handlers to the thumb images to cover this case and enable MMV on a page
after a finished VE edit.
Bug: T97010
Change-Id: Ic1ee0b52265363978640358510cab89db4de2bb8
Bug with history.pushState in Edge fixed in Win10 build 10240;
Dave Storey is asking us to remove the workaround to keep our
code pure and them honest ;)
Reverts I6ea4d367
Bug: T104381
Change-Id: I5f53416dda7c31662330dc5ec67e1bbea55dace7
Having many modules makes the startup module in the head
unnecessarily longer. Things should only be in their own
module if they're going to be loaded on demand on their
own or are a shared dependency of separate modules that
are.
This change brings down the amount of modules declared by
Media Viewer from 53 to 8. The ones that remain are
mostly things loaded on demand.
Bug: T103706
Change-Id: I5b0d29209599285b93217e96def818e641646c73
When attempting to clear the hash state via history.pushState(),
MS Edge in Windows 10 build 10159 errors out with the helpful
"Unspecified Error".
Catching the exception and trying again with a "#" works around
the error and doesn't look any worse than the non-pushState code
path -- and should have no side effects when the bug is fixed.
Bug: T104381
Change-Id: I6ea4d367af64f85018b06b859ce688053a1caf0f
The first item (license) of the list on the right side of the
metadata panel wasn't large enough (due to some recent global style
change that I couldn't track down) and the top of the next item was
visible. Added fixed height to prevent that. Also centered the
credit/license text which looked sloppy.
Bug: T101391
Change-Id: I848917ebb9c378c3210646486a87a6497d31a168
It decreases the likelihood of Varnish hits and is only 11% smaller on
average in file weight than the 800 bucket.
Bug: T102870
Change-Id: I8611791a192fa7b0e638ccfc886733b75bf30aed
No stable versions of IE have an '-ms-linear-gradient'. Any lines using
the same have been removed.
Bug: T100285
Change-Id: I9fccb3f2208433d2759949a39b86b46d5b71eac1
Should fix intermittent issues happening with the browser tests,
which can't currently tell the difference between the placeholder
and the final image.
Bug: T90589
Change-Id: Ibfdff4721ce5f37831863110ad1a2f9650b24d5e
It seems that IE11 sometimes does not keep the aspect ratio when
the width DOM property is set but height is not.
Also attempt to clarify what the two similar canvas setters are
good for, to the extent I could figure it out.
Bug: T89679
Change-Id: I9c87e2146e3d99d1ee00d7c00142b2ae1c3d7951
EventLogging uses sendBeacon now so there is no danger of losing
clicks because the browser navigates away. (On modern browsers,
anyway; but we can live with being a little imprecise on older
browsers. We don't use link click stats much, anyway.)
Bug: T89533
Change-Id: Id83f60585d11f06610d8514c211f0116c60ea936
Canvas height is calculated as viewport height minus above-the-fold
height but the latter did not take into account the padding. This
was probably broken last autumn when the above-the-fold contents
were rearranged, but the max-height rule on the image masked the
error so we did not notice until that rule was dropped.
Bug: T89631
Change-Id: Id53cd9c176528da33b393e5ed807d6f2e0886413
The share/embed tab bar used some hacks to disable MenuSelectWidget's
normal behavior of disappearing once a selection has been made; after
the last OOUI update this doesn't work anymore.
This commit makes some small changes to make it work again:
* replace .show() with .toggle() as the widget uses a custom
show/hide mechanism now
* reorder some calls - .toggle() has no effect as long as the menu has
no options
* disable autoHide which would hide the menu when the user clicks
outside (didn't test if it is really needed but seemed reasonable)
Also undoes some CSS changes that came with the update.
Bug: T89531
Change-Id: I3688ec21250bf2eb8dbfd67e306e857028d71fc7