| Index: options.js | 
| =================================================================== | 
| --- a/options.js | 
| +++ b/options.js | 
| @@ -201,42 +201,35 @@ | 
| control.setAttribute("disabled", true); | 
| } | 
|  | 
| -      var downloadStatus = item.downloadStatus; | 
| var dateElement = element.querySelector(".date"); | 
| var timeElement = element.querySelector(".time"); | 
| -      if(dateElement && timeElement) | 
| +      if (dateElement && timeElement) | 
| { | 
| var message = element.querySelector(".message"); | 
| -        ext.backgroundPage.sendMessage( | 
| +        if (item.isDownloading) | 
| { | 
| -          type: "subscriptions.isDownloading", | 
| -          url: item.url | 
| -        }, | 
| -        function(isDownloading) | 
| +          var text = getMessage("options_filterList_lastDownload_inProgress"); | 
| +          message.textContent = text; | 
| +          element.classList.add("show-message"); | 
| +        } | 
| +        else if (item.downloadStatus != "synchronize_ok") | 
| { | 
| -          if (isDownloading) | 
| -          { | 
| -            var text = getMessage("options_filterList_lastDownload_inProgress"); | 
| -            message.textContent = text; | 
| -            element.classList.add("show-message"); | 
| -          } | 
| -          else if (downloadStatus && downloadStatus != "synchronize_ok") | 
| -          { | 
| -            if (downloadStatus in filterErrors) | 
| -              message.textContent = getMessage(filterErrors[downloadStatus]); | 
| -            else | 
| -              message.textContent = item.downloadStatus; | 
| -            element.classList.add("show-message"); | 
| -          } | 
| -          else if (item.lastDownload > 0) | 
| -          { | 
| -            var dateTime = i18n_formatDateTime(item.lastDownload * 1000); | 
| -            dateElement.textContent = dateTime[0]; | 
| -            timeElement.textContent = dateTime[1]; | 
| -            element.classList.remove("show-message"); | 
| -          } | 
| -        }); | 
| +          var error = filterErrors[item.downloadStatus]; | 
| +          if (error) | 
| +            message.textContent = getMessage(error); | 
| +          else | 
| +            message.textContent = item.downloadStatus; | 
| +          element.classList.add("show-message"); | 
| +        } | 
| +        else if (item.lastDownload > 0) | 
| +        { | 
| +          var dateTime = i18n_formatDateTime(item.lastDownload * 1000); | 
| +          dateElement.textContent = dateTime[0]; | 
| +          timeElement.textContent = dateTime[1]; | 
| +          element.classList.remove("show-message"); | 
| +        } | 
| } | 
| + | 
| var websiteElement = element.querySelector(".context-menu .website"); | 
| var sourceElement = element.querySelector(".context-menu .source"); | 
| if (websiteElement && item.homepage) | 
| @@ -418,24 +411,21 @@ | 
|  | 
| if (!Object.observe) | 
| { | 
| -      ["disabled", "lastDownload"].forEach(function(property) | 
| +      Object.keys(subscription).forEach(function(property) | 
| { | 
| -        subscription["$" + property] = subscription[property]; | 
| +        var value = subscription[property]; | 
| Object.defineProperty(subscription, property, | 
| { | 
| get: function() | 
| { | 
| -            return this["$" + property]; | 
| +            return value; | 
| }, | 
| set: function(newValue) | 
| { | 
| -            var oldValue = this["$" + property]; | 
| -            if (oldValue != newValue) | 
| +            if (value != newValue) | 
| { | 
| -              this["$" + property] = newValue; | 
| -              var change = Object.create(null); | 
| -              change.name = property; | 
| -              onObjectChanged([change]); | 
| +              value = newValue; | 
| +              onObjectChanged([{name: property}]); | 
| } | 
| } | 
| }); | 
| @@ -992,6 +982,8 @@ | 
| updateShareLink(); | 
| break; | 
| case "lastDownload": | 
| +      case "downloadStatus": | 
| +      case "downloading": | 
| updateSubscription(subscription); | 
| break; | 
| case "homepage": | 
| @@ -1180,7 +1172,7 @@ | 
| { | 
| type: "subscriptions.listen", | 
| filter: ["added", "disabled", "homepage", "lastDownload", "removed", | 
| -        "title"] | 
| +        "title", "downloadStatus", "downloading"] | 
| }); | 
|  | 
| window.addEventListener("DOMContentLoaded", onDOMLoaded, false); | 
|  |