Commit graph

233 commits

Author SHA1 Message Date
jenkins-bot 37f1c00629 Merge "renderer.article.getProcessedElements: Stop escaping the title and the extract" 2015-03-27 18:45:54 +00:00
jenkins-bot d478a820a9 Merge "Rename popups.eventLogging to popups.logger" 2015-03-27 13:18:32 +00:00
Prateek Saxena f4dbd455c6 logger: Add a sampling rate of 10
This rate was decided in T88173

Bug: T88167
Change-Id: I22776582c271fa83ba5b98d38dd01775ebbfcef1
2015-03-27 04:35:12 +05:30
Prateek Saxena c39bbc8a68 Implement the new schema for when the popups are disabled
Bug: T88167
Change-Id: If8f1c97379bd37958ec6064242bdebf5fde14b47
2015-03-27 04:34:58 +05:30
se4598 946b4f4926 Do API queries after API_DELAY
Based on the comments this is what it supposed to be.
mw.popups.render.article does the API-queries on init, so do that after
the API_DELAY-timer fired.

Change-Id: Ia235cbe1eb86fc774edda84208d320843401624e
2015-03-26 15:03:38 +01:00
Prateek Saxena 20f2bef272 renderer.article.getProcessedElements: Stop escaping the title and the extract
Both the title and the extract were being html escaped thus producing
string like ' and " when used with .text(). So, we now use
document.createTextNode() for the normal text and .text() with the bolded
one.

Bug: T93720
Change-Id: I6bbc52e427dc636b7b0be1ad4f749d9273ff61b3
2015-03-26 19:28:20 +05:30
jenkins-bot 1572bcf150 Merge "settings: Use .text() instead of .html() for option's label" 2015-03-26 10:34:41 +00:00
Prateek Saxena 2971d90831 Implement the new schema for when the popups are enabled
Bug: T88167
Change-Id: I38c9e474e0ec7da45af8338a458430e5d7427463
2015-03-26 11:42:39 +05:30
Prateek Saxena d49cfb9b65 Rename popups.eventLogging to popups.logger
...and eventLogging.logEvent to logger.log

Change-Id: I9af697a56c2248069a32ac586f5b78b55095460e
2015-03-26 04:56:29 +05:30
Prateek Saxena 3b82fb60d9 settings: Use .text() instead of .html() for option's label
Bug: T88171
Change-Id: I5d4631870f916194901f897839cad4c90c2d8d01
2015-03-24 13:37:05 +05:30
Prateek Saxena 42d0347582 renderer.article: Ignore thumnail if the URL has suspicious characters
If the URL of the thumbnail has suspicious characters like ', " or \
return a <span> instead of trying to render a thumbnail.

Bug: T88171
Change-Id: Ide052ea2a7de166599d077a385a6e788bfa63302
2015-03-24 13:31:19 +05:30
jenkins-bot 5bdfbc6802 Merge "renderer.article: Don't apply tall/not-tall classes if the image wasn't shown" 2015-03-16 10:10:10 +00:00
Prateek Saxena 3eaf2829e8 renderer.article: Remove leading spaces before brackets
Bug: T69225
Change-Id: I83f79fa0ebd19bea6ed7ea266cece0778210adb2
2015-03-05 15:32:45 +05:30
Prateek Saxena df0b988eec renderer.article: Bold the title no matter what the trailing characters
Bug: T69229
Change-Id: I833c0dcae98010bc74b6b58ae8035aaac4e6465b
2015-03-05 15:31:42 +05:30
Prateek Saxena a43ef7ca51 Remove the need of .html in article.getProcessedHtml
Instead of replacing all instances of the title in the extract -

  '$1<b>$2</b>$3'

We now put symbolic strings there which we use to split the string
and then make an array of text and <b> elements that get appended
to $contentbox.

Bug: T76378
Change-Id: I02222bbff84532f63cac67af1bf889c328ec6ff2
2015-03-05 15:30:06 +05:30
Prateek Saxena e5880ffd40 renderer.article: Don't apply tall/not-tall classes if the image wasn't shown
Bug: T91433
Change-Id: I4499cc18e140c0bd18ee3731496aa427232922b4
2015-03-05 13:24:35 +05:30
se4598 9974a75b50 Improve mw.popups.selectPopupElements
Use proven technology to create and compare URLs.
This will display popups also on anchored links again.

Change-Id: Ic010ca027017435f666782e709e641cf3bbb8767
2015-03-04 17:21:37 +05:30
Prateek Saxena 5ee43d6b3e core.less: Visual refinement & drop shadow
This what it looks like -
https://phabricator.wikimedia.org/T78641#984753

Bug: T78641
Change-Id: Id59acba49963eb02626444f91b716c53c1bef7b4
2015-03-04 16:45:56 +05:30
se4598 64195b8ff7 fix mw.popups.selectPopupElements
Hotfix for Ie34064860a81c7866b8e8b86858d2e12a8a196f4
Still won't show up popups for anchored links, but dunno if intended. 

Change-Id: I91a15153cb8bcae6d8ef2e5616855e4d45be6d78
2015-02-24 00:14:02 +01:00
jenkins-bot 782d9e37ba Merge "eventLogging: Use generateRandomSessionId" 2015-02-20 11:06:01 +00:00
jenkins-bot fd5cc437a3 Merge "Add a check for the EventLogging library before the logEvent call" 2015-02-20 11:03:32 +00:00
Prateek Saxena 44c57834b1 Disable Navigation Popups on render rather than document load
Bug: T64952
Change-Id: I7985341006d587671077f3dc32dd02e8dfb38972
2015-02-20 11:54:17 +01:00
Prateek Saxena b4cfa5c6d5 Add a check for the EventLogging library before the logEvent call
Bug: T70341
Change-Id: Idae926b1ddce544ab37b95018abc13879f515f71
2015-02-20 11:49:39 +01:00
Prateek Saxena 37442e6457 eventLogging: Use generateRandomSessionId
Bug: T88919
Change-Id: Ib859db7f55358d0cbd9f26b25d9fe96b76e718e9
2015-02-20 11:48:36 +01:00
se4598 45cf9c13e7 core: Better article link detection
Use the getUrl method to check that the <a> actually links
to the article that it has the title of. Only those elements
are returned by selectPopupElements.

Bug: T70039
Bug: T72512
Change-Id: Ie34064860a81c7866b8e8b86858d2e12a8a196f4
2015-02-18 17:02:14 +05:30
jenkins-bot 2fd9ac3569 Merge "Access native a.href property instead of attribute" 2015-02-18 10:33:55 +00:00
jenkins-bot f8e7b47bd9 Merge "core: Add missing leading '.' to oo-ui-buttonedElement-button in IGNORE_CLASSES" 2015-02-18 00:15:18 +00:00
Thiemo Mättig ddab3f9fd7 Access native a.href property instead of attribute
This is a subset of patch Ie340648. If reviewing and merging the much
larger other patch (it does much more things) is a problem, we can
merge this first, rebase the other one and have a much more focussed
discussion.

Change-Id: I4549fb1810c7dd36df8a70983d9508015c2bfadf
2015-02-17 15:03:13 +01:00
Prateek Saxena 7a51668e56 core: Add missing leading '.' to oo-ui-buttonedElement-button in IGNORE_CLASSES
Follows up I418508fad97e81127084150221e10ccec418167a

Change-Id: Ib3c187feeb8de053416bb3ef131c8f5cfedf0c63
2015-02-17 18:19:11 +05:30
Thiemo Mättig bf4016ecf1 Fix TypeError on <a> with no href
HTML5 allows <a> elements with no href="..." attribute. We do this in
Wikibase/Wikidata in a few places. Hovering these <a> elements causes
TypeErrors.

This is a hotfix. Please see Ie340648 for a much more advanced fix.

Change-Id: Ib20ef8348c964a6ba736d0fc76909fd4d496c11e
2015-02-12 15:37:37 +01:00
jenkins-bot 72362616a2 Merge "settings: Add help dialog" 2015-01-21 16:47:19 +00:00
Prateek Saxena 9c1c62ce05 Fix event logging issues
- Don't prevent the link click event.
- Check with the currentLink element rather than jQuery selectoin.
- Add click handler to images (used to be only extract).
- Stop the 'closePopup' if 'reset' has already been run.

Bug: T86378
Change-Id: I8748ecffe55954425656c5103fa9ddc99b6f3f72
2015-01-13 18:48:02 +05:30
Prateek Saxena f7d5f890b6 Re-position #mwe-popups-svg out of the view port
This <div> had been sitting visible at the bottom of the page
and went unnoticed till it caused problems with the ContentTranslation
extension.

Hiding it using 'display: none;' causes issues with the masking
of the images, thus putting the div out of the view port.

Bug: T76718
Change-Id: I731128c827aa093e0ffab52dc378aea386b0bb3c
2014-12-29 14:44:39 +05:30
jenkins-bot dbd3f6ff2b Merge "Make ':after' triangle larger so that the border of div is covered" 2014-12-03 15:37:00 +00:00
jenkins-bot eb7fb53baa Merge "article: Fix distance between image and text (landscape image & non flipped)" 2014-12-03 15:36:53 +00:00
jenkins-bot 1b6eaddba0 Merge "Reduce max height of text extract" 2014-12-03 15:33:21 +00:00
Prateek Saxena b24e39e9fc Run mw.html.escape on page extract and title
Add test for XSS attack

Bug: T69180
Change-Id: I213169bd9daed979e63f50cf3926f7196eb6181c
2014-12-01 11:23:14 -08:00
Prateek Saxena 9ab483ec6f settings: Add help dialog
Change-Id: I5f4cf435356748a1aceb05fcaf8c8980b8267804
2014-11-26 11:43:01 +05:30
jenkins-bot 895b6dfae0 Merge "Add rule to not show thumnail if its smaller than the card" 2014-11-23 20:07:41 +00:00
Prateek Saxena 77538a1001 Reduce max height of text extract
Currently .mwe-popups-extract keeps some empty space after the last
line. This shifts a little when zooming in causing part of the text
of the next line to be visible. Reducing this to have lesser extra
empty space solves the problem.

Bug: 73551
Change-Id: I968fca23fe2de04cb3f73ba4e7d4f676fbf88536
2014-11-20 14:54:14 +05:30
Prateek Saxena 24a7d02080 article: Fix distance between image and text (landscape image & non flipped)
Change-Id: I4fb6891cd89546b6a55b6952be7e1a6df41fa0b5
2014-11-20 11:46:37 +05:30
Prateek Saxena cbebde39b9 Make ':after' triangle larger so that the border of div is covered
When zooming in the border of the div is visible over the :after
pseudo element.
 - Update top and bottom triangle mixins to include @extra argument
 - Update pseudo elements to use the new mixin and position them
   correctly according the extra size

Bug: 73550
Change-Id: I05b9c74a675c69e407c4c78771504f447da754c5
2014-11-19 11:12:12 +05:30
Prateek Saxena 45172f1f7b Increase z-index of hovercards from 5 to 110
Hovercards is currently at 5 z-index which causes
it to be rendered behind the compact personal bar.
Changing this also effects the border triangles and
masked SVGs, thus incrementing them too.

Bug: 72882
Change-Id: Ib3c889c748a9c919754d8281e68fd0664db7c408
2014-11-12 14:39:47 +05:30
Prateek Saxena 0a7d7573fa Add rule to not show thumnail if its smaller than the card
Added two conditions based on portrait and landscape sizes.

Bug: 73009
Change-Id: I022267430b540be48952f0cfc8dc0cf962cd13d5
2014-11-11 10:23:34 +05:30
Prateek Saxena a9bc4e4ba8 Fix bottom margin issues with portrait images
This was happening due to:
 * Stale CSS selector
 * Incorrect margin values

Also added missing triangle pokey for a particular
orientation of the hovercard.

Bug: 71872
Change-Id: Ic4986f9cee2a92b29548ef21f9bec3f2c2117e98
2014-10-09 15:40:12 +05:30
jenkins-bot eccb7bf037 Merge "render.article: Correctly space extract for landscape images with smaller heights" 2014-09-22 16:17:20 +00:00
jenkins-bot 7c1e6398ad Merge "article: Fix settings' icon alignment" 2014-09-22 16:07:45 +00:00
Prateek Saxena 0630ff518c renderer: Actually use eventLogging
This was accidentally removed during the refactor
and went unnoticed for quite some time.

Change-Id: I850126461b503419d1e219398f3d61747fbccb23
2014-09-09 10:31:51 +05:30
Prateek Saxena 91da0e7536 article: Fix settings' icon alignment
Bug: 70147
Change-Id: I26c41395557420aea6c995a59aada0079f1a896c
2014-09-02 11:18:06 +05:30
jenkins-bot f835d52857 Merge "Force mw.popups.supportsSVG to false on InternetExplorer" 2014-08-26 17:52:55 +00:00
Prateek Saxena 7918944356 Force mw.popups.supportsSVG to false on InternetExplorer
Change-Id: I1d59167f3c2e166e32ef2f46fa4a527dd3a3410f
2014-08-26 13:56:22 +05:30
Prateek Saxena 8c0f64662e render.article: Correctly space extract for landscape images with smaller heights
Change-Id: Ie781621366650fe4c5a0affcae564fa512fab65c
2014-08-26 12:02:29 +05:30
jenkins-bot 6eb4a3a930 Merge "Reduce space between extract and timestamp" 2014-08-26 04:01:05 +00:00
jenkins-bot e50cf04603 Merge "Remove preventDefault from settings.open" 2014-08-25 17:51:59 +00:00
Prateek Saxena ca8b7f8658 Remove preventDefault from settings.open
Bug: 69579
Change-Id: I6e457542060d147c35ccb2dfeade5b90f20bd2ca
2014-08-25 18:02:46 +05:30
Prateek Saxena 13f3f1cf67 settings: Fix strings, copy and capitalization
Addresses the issues pointed out in:
https://gerrit.wikimedia.org/r/#/c/140086/16/i18n/en.json

Discussion:
https://trello.com/c/NYQ0nMeE/101-hovercards-phase-3

Bug: 68812
Change-Id: I7b4f6d2be08a1ee20b19aec95d99a73fd4bf9d29
2014-08-25 14:26:59 +05:30
Prateek Saxena fe487868d1 core: Ignore '.oo-ui-buttonedElement-button' links
Bug: 65442
Change-Id: I418508fad97e81127084150221e10ccec418167a
2014-08-21 13:07:24 +00:00
jenkins-bot 9d0a792e8f Merge "article: Fix settings icon" 2014-08-20 14:12:47 +00:00
jenkins-bot 7533c5c09a Merge "disablenavpop: Use winow onload instead of dom ready" 2014-08-20 14:12:18 +00:00
jenkins-bot 4436415d7c Merge "settings: Fix margins" 2014-08-20 14:10:34 +00:00
jenkins-bot 79cf8eb23a Merge "settings: Fix alignment issues" 2014-08-20 14:10:19 +00:00
Prateek Saxena 8f4e12d4b1 disablenavpop: Use winow onload instead of dom ready
This code has not been working because processAllPopups does
not execute. Test the change with:
https://en.wikipedia.org/wiki/User:Prtksxna/common.js

Bug: 62952
Change-Id: I3c8b5590b89693743c85c006fc0ee0a50e8b8342
2014-08-20 19:36:23 +05:30
Prateek Saxena e66ec613db article: Fix settings icon
1. Change color from #777 to #AAA
2. Add PNG fallback using `background-image-svg`

Bug: 69022
Change-Id: I0bbfe2aaa0c6e6ed1300bafa1352dd54037929b9
2014-08-19 22:22:21 +05:30
Prateek Saxena 10e9192719 settings: Fix margins
Change-Id: I3ad652b05d990377c6a01a0abb8091f1ff2443c7
2014-08-19 20:36:08 +05:30
Prateek Saxena d9322cfe9e settings: Fix alignment issues
Change-Id: Iacc1e934822f58fbc848b426783d02b5f9c9477e
2014-08-18 17:54:47 +05:30
Prtksxna 4cba605476 Merge "Don't render popup on "javascript:..." links." 2014-08-13 11:08:46 +00:00
jenkins-bot 26cd77cfdc Merge "Replace hardcoded path with wgExtensionAssetsPath" 2014-08-12 13:36:36 +00:00
Prateek Saxena d77d6005c1 Replace hardcoded path with wgExtensionAssetsPath
Change-Id: I3cf15bc4f9c9f1273b896d0e256f5821f15222fb
2014-08-12 18:08:31 +05:30
Prateek Saxena 26962431c3 Stop showing the NavigationPopups options if it isn't available
This got committed by accident in I374805eed0bc9f262b29474093f0357c56b42c83

Change-Id: Ic2dba3bd3b488aea97d7f3be3a56cf9f44912355
2014-08-12 16:10:57 +05:30
S Page 0f724cc45f Don't render popup on "javascript:..." links.
Also some doc.

Bug: 68417
Change-Id: Ib8b53f131f05477adfa12c8284f624d5c70d995f
2014-08-06 13:54:24 +01:00
Prateek Saxena dd98179a15 Add settings
Save Hovercards enabled state in localStorage (jStorage)

Change-Id: I374805eed0bc9f262b29474093f0357c56b42c83
2014-07-28 13:38:03 +05:30
Prateek Saxena e746ce668a core: Ignore '.external' links
Bug: 65929
Change-Id: Idba21c597d9d76333aa92ac40d2d0f813b02e971
2014-07-15 16:00:19 +00:00
Bartosz Dziewoński 36eaf4cec9 Use 'auto' instead of 'initial' in CSS
'initial' is not supported by all browsers (including all versions of
Internet Explorer and Opera 12 [1]), which causes visual glitches [2].

As the initial value for 'left' is 'auto' [3], this should cause no
visual changes in the browsers that supported the previous version.

[1] https://developer.mozilla.org/en-US/docs/Web/CSS/initial
[2] http://i.imgur.com/0Ze8lon.png
[3] http://www.w3.org/TR/CSS21/visuren.html#position-props

Change-Id: I8d661436f1106ca92b8b492c3fb76ac6976d80fa
2014-07-11 21:23:27 +02:00
Derk-Jan Hartman e9a56a3b85 Some small cleanup
Bunch attr actions, add to DOM as the last action, rm superfluous lines
and use strict.

Change-Id: I3e0870b108e978d7fd4093a6e7201fb6260f2e88
2014-07-09 12:03:10 +00:00
Derk-Jan Hartman 5025f2beee Handle links with empty or no title attributes
The script depends on a title being present in title attribute. So
skip links without title attributes (which were getting empty
attributes due to the implementation of removeTooltips) and bail on
trying to open a preview for links without a title.

Bug: 67728
Change-Id: I4cc744bea10af34741681f11e03d77b3d53e3a3b
2014-07-09 11:51:15 +00:00
Prtksxna e6adbef707 Merge "rename variable, and parentheses not brackets" 2014-06-25 00:50:51 +00:00
Prtksxna 8a680a2433 Merge "Raise popup show/hide delay to 500ms/300ms, respectively" 2014-06-25 00:46:15 +00:00
S Page 4c86e94e49 rename variable, and parentheses not brackets
removeBracketsFromText doesn't count it tracks nesting level, and
brackets are [] not ().  Minor detail.

Change-Id: I8f42b1ccae5233d7b6062bb311eced6ef3085d4a
2014-06-24 01:23:05 -07:00
jenkins-bot 49c0c2f669 Merge "render.article: Remove brackets using code instead of RegExp" 2014-06-24 08:12:55 +00:00
Prtksxna b65954645f Merge "Check for empty response" 2014-06-23 01:51:15 +00:00
Derk-Jan Hartman e3de26ebfe Re-use result instead of querying the DOM for selector multiple times
It's a complicated query, we should not repeat it when not necessary.

Change-Id: I71d47de088afa7dab0a6eaed214c61db699fcd0c
2014-06-23 06:47:38 +05:30
Bartosz Dziewoński 3041d358ed Raise popup show/hide delay to 500ms/300ms, respectively
Per discussion on the bug, the current values of 150ms/100ms cause a
lot of unintended actions.

Bug: 64234
Change-Id: I6fe2d89ad97630ec5c7f47d3e3b9b71d7cfc5d3f
2014-06-20 16:48:00 +02:00
Fomafix 58be4ea1de Check for empty response
In combination with other gadgets the error
TypeError: re.query is undefined
can occur because the request contains titles:'' and the response is [].

Change-Id: I46d02e7c48a55cd9af20fd7ef729b4d26f69a8c0
2014-06-18 20:57:19 +00:00
Prateek Saxena f44b1701a2 render.article: Remove brackets using code instead of RegExp
Casees:
1) Hello (and welcome)
2) Hello )and welcome(
3) (Hello (and) welcome)

The current RegExp only takes care of (1). The new code should
take care of all the cases.

Bug: 65138
Change-Id: I39f38beed0cf612067d6fc61b18295d1d38fcc22
2014-06-11 12:51:31 +05:30
Prateek Saxena 0192822522 disablenavpop: Correct type check for disablePopups global
Change-Id: I33f62c74fe231c74cf54937aa43ac35ae15a0b37
2014-06-10 16:50:24 +05:30
jenkins-bot 8682faa2f6 Merge "renderer.article: Escape RegExp syntax from the article's title" 2014-06-08 12:46:16 +00:00
jenkins-bot f0d58e0f7d Merge "animation: Use the animation mixin in core and pass fill-mode as an argument" 2014-06-06 11:10:24 +00:00
Prateek Saxena a6ad92e9fd Disable NavigationPopups (Gadget) if Popups (Extension) is enabled
Bug: 62952
Change-Id: If3757199c280bb0ad54878111dcf926b88778b64
2014-06-06 13:04:34 +05:30
Prateek Saxena 2b59d8530d renderer.article: Escape RegExp syntax from the article's title
Bug: 66203
Change-Id: Id9b523643e8540a717919fa5bb65a6d980722c0f
2014-06-06 09:56:13 +05:30
Prateek Saxena 4a15462ea0 animation: Use the animation mixin in core and pass fill-mode as an argument
Bug: 65923
Change-Id: I4222d811d56a84fe046dfe4a96eda636e76967a5
2014-06-03 11:56:00 +05:30
Prateek Saxena d1ddb95067 Flip the animation direction if the Hovercard is flipped
Change-Id: I890d49c517a52e57e0b22bcf1949b347d531d6b7
2014-05-30 16:25:14 +05:30
Prateek Saxena a52242087f animation: Add fade animations from other directions
1. fade-in-down
2. fade-out-up

Change-Id: I108b6bb6bbb8ac49401e9dc0d6599e57c42abf62
2014-05-30 05:18:05 +05:30
jenkins-bot 08c7bbf11b Merge "animation: Correctly name the animation classes" 2014-05-29 19:04:54 +00:00
jenkins-bot 1877fda630 Merge "Use only px in the stylesheet" 2014-05-29 18:46:27 +00:00
Prateek Saxena dd309071d2 animation: Correctly name the animation classes
fade-in to fade-in-up
fade-out to fade-out-down

Change-Id: I6e8877a509fdb3e3f570e16d59438bff61e2615a
2014-05-29 00:35:25 +00:00
Prateek Saxena 9cc318c3eb renderer: Ignore # links
Bug: 65425
Change-Id: Ic610ee485da668b9a141234f56477faf7bcaa447
2014-05-27 19:24:28 +05:30
jenkins-bot 5e11a35d95 Merge "Popups: The promise of the popups was not forwarding failures" 2014-05-22 13:47:14 +00:00
Derk-Jan Hartman fab07e5c6f Popups: The promise of the popups was not forwarding failures
Change-Id: Icc1d5a175ccf9ef000dd198f999994917912de3f
2014-05-22 19:14:38 +05:30
Derk-Jan Hartman cc4d67c67c Popups: Fix popups for extiw links
These links were not ignored due to a typo. This also threw an error,
because these links produced query.interwiki and not in query.pages.

Change-Id: I3b5c5b900209323e3e72b41e3b02e90f1f53b4eb
2014-05-20 00:30:29 +02:00
Prateek Saxena 7cfca498fc Reduce space between extract and timestamp
Bug: 65154
Change-Id: I9e114c820944aa54bfa3fd4afe9ba93c1024d28d
2014-05-19 21:48:37 +05:30