| Index: background.js | 
| =================================================================== | 
| --- a/background.js | 
| +++ b/background.js | 
| @@ -224,37 +224,37 @@ | 
| if (!addSubscription && !addAcceptable) | 
| return; | 
|  | 
| -  function notifyUser() | 
| +  Promise.resolve(addSubscription && fetch("subscriptions.xml") | 
| +    .then(function(response) | 
| +    { | 
| +      return response.text(); | 
| +    }) | 
| +    .then(function(text) | 
| +    { | 
| +      var doc = new DOMParser().parseFromString(text, "application/xml"); | 
| +      var nodes = doc.getElementsByTagName("subscription"); | 
| +      var node = Utils.chooseFilterSubscription(nodes); | 
| +      var subscription = node && Subscription.fromURL(node.getAttribute("url")); | 
| + | 
| +      if (subscription) | 
| +      { | 
| +        FilterStorage.addSubscription(subscription); | 
| + | 
| +        subscription.disabled = false; | 
| +        subscription.title = node.getAttribute("title"); | 
| +        subscription.homepage = node.getAttribute("homepage"); | 
| + | 
| +        if (subscription instanceof DownloadableSubscription && | 
| +            !subscription.lastDownload) | 
| +          Synchronizer.execute(subscription); | 
| +      } | 
| +    }) | 
| +  ) | 
| +  .then(function() | 
| { | 
| if (!Prefs.suppress_first_run_page) | 
| ext.pages.open(ext.getURL("firstRun.html")); | 
| -  } | 
| - | 
| -  if (addSubscription) | 
| -  { | 
| -    // Load subscriptions data | 
| -    var request = new XMLHttpRequest(); | 
| -    request.open("GET", "subscriptions.xml"); | 
| -    request.addEventListener("load", function() | 
| -    { | 
| -      var node = Utils.chooseFilterSubscription(request.responseXML.getElementsByTagName("subscription")); | 
| -      var subscription = (node ? Subscription.fromURL(node.getAttribute("url")) : null); | 
| -      if (subscription) | 
| -      { | 
| -        FilterStorage.addSubscription(subscription); | 
| -        subscription.disabled = false; | 
| -        subscription.title = node.getAttribute("title"); | 
| -        subscription.homepage = node.getAttribute("homepage"); | 
| -        if (subscription instanceof DownloadableSubscription && !subscription.lastDownload) | 
| -          Synchronizer.execute(subscription); | 
| - | 
| -          notifyUser(); | 
| -      } | 
| -    }, false); | 
| -    request.send(null); | 
| -  } | 
| -  else | 
| -    notifyUser(); | 
| +  }); | 
| } | 
|  | 
| Prefs.onChanged.addListener(function(name) | 
|  |