var hoverZoomPlugins = hoverZoomPlugins || [];
hoverZoomPlugins.push({
  name: 'Reddit',
  version: '0.3',
  prepareImgLinks: function (callback) {
    $('.hoverZoomLink').each(function () {
      var _this = $(this);
      if (options.filterNSFW && _this.parents('.over18').length) {
        _this.removeClass('hoverZoomLink');
      }
      _this.data().hoverZoomCaption = _this.parent().find('a.title').text();
    });

    $('a.outbound.thumbnail, a.outbound.title').one('mouseover', function () {
      var link = this;
      if (link.href.indexOf('reddit.com') !== -1) return;
      if (!link.classList.contains('hoverZoomLink')) {
        hoverZoom.prepareFromDocument($(link), link.href, function (doc) {
          var meta = doc.querySelector('meta[property="og:image"][content]');
          if (meta && !link.classList.contains('hoverZoomLink')) {
            return meta.content;
          } else {
            return false;
          }
        });
      }
    });

    var promises = [];

    $('div[data-url*="//i.redd.it/"], div[data-url*="//i.reddituploads.com/"]').each(function () {
      var post = $(this);
      var link = post.attr('data-url');
      var title = post.find('a.title').text();
      post.find('a.thumbnail,a.title').each(function () {
        var img = $(this);
        img.data('hoverZoomSrc', [link]);
        img.data('hoverZoomCaption', [title]);
        promises.push(Promise.resolve(img));
      });
    });

    $('div[data-url*="//v.redd.it/"]').each(function () {
      var post = $(this);
      var link = post.attr('data-url');
      var title = post.find('a.title').text();

      post.find('a.thumbnail,a.title').each(function() {
        var img = $(this);

        // Use /DASH_600_K as a default if for any reason the ajax request below doesn't find a valid link
        img.data('hoverZoomSrc', [link + '/DASH_600_K']);
        img.data('hoverZoomCaption', [title]);

        promises.push(new Promise(function (resolve, reject) {
          $.get(link + '/DASHPlaylist.mpd')
            .done(function (xmlDoc) {
              var highestRes = [].slice.call(xmlDoc.querySelectorAll('Representation[mimeType^="video"]'))
                .sort(function (r1, r2) {
                  var w1 = parseInt(r1.getAttribute('width')), w2 = parseInt(r2.getAttribute('width'));
                  return w1 > w2 ? -1 : (w1 < w2 ? 1 : 0);
                })
                .find(function (repr) { return !!repr.querySelector('BaseURL'); });

              if (highestRes) {
                img.data('hoverZoomSrc', [link + '/' + highestRes.querySelector('BaseURL').textContent.trim()]);
              }

              var audio = xmlDoc.querySelector('Representation[mimeType^="audio"'),
                audioUrl = audio ? audio.querySelector('BaseURL') : undefined;
              if (audioUrl) {
                img.data('hoverZoomAudioSrc', [link + '/' + audioUrl.textContent.trim()]);
              }

              resolve(img);
            })
            .fail(function (err) { reject(err); });
        }));
      });
    });

    Promise.all(promises.map(function (p) {
      return p.catch(function(err) { console.error('Error initializing reddit image', err); });
    })).then(function (res) { callback($(res)); })
  }
});

@@ -1991,14 +1991,77 @@
     
-$.get(
+chrome.runtime.sendMessage(%0A            %7B action:'ajaxRequest', url: 
 link
@@ -2082,17 +2082,34 @@
 ist.mpd'
-)
+, method: 'GET' %7D,
 %0A       
@@ -2117,14 +2117,8 @@
     
-.done(
 func
@@ -2130,15 +2130,122 @@
 (xml
-Doc
 ) %7B%0A
+              try %7B%0A                var xmlDoc = (new DOMParser()).parseFromString(xml, 'application/xml');%0A  
     
@@ -2363,16 +2363,18 @@
         
+  
 .sort(fu
@@ -2387,24 +2387,26 @@
  (r1, r2) %7B%0A
+  
             
@@ -2511,24 +2511,26 @@
             
+  
 return w1 %3E 
@@ -2566,32 +2566,34 @@
                 
+  
 %7D)%0A             
@@ -2595,16 +2595,18 @@
         
+ 
+ 
 .find(fu
@@ -2676,24 +2676,26 @@
             
+  
 if (highestR
@@ -2696,24 +2696,26 @@
 ghestRes) %7B%0A
+  
             
@@ -2821,35 +2821,39 @@
 ;%0A              
+  
 %7D%0A%0A
+  
               va
@@ -2936,16 +2936,18 @@
         
+  
 audioUrl
@@ -3011,24 +3011,26 @@
             
+  
 if (audioUrl
@@ -3029,24 +3029,26 @@
 audioUrl) %7B%0A
+  
             
@@ -3132,32 +3132,34 @@
 ;%0A              
+  
 %7D%0A%0A             
@@ -3159,16 +3159,18 @@
         
+ 
+ 
 resolve(
@@ -3191,58 +3191,80 @@
     
-%7D)%0A            .fail(function (err) %7B reject(err);
+  %7D catch (err) %7B%0A                reject(err);%0A              %7D%0A         
  %7D);

Use background script to make ajax request for reddit videos.