title: Suppress browser notification in setBackgroundMessageHandler
body: <p>I am building a web app that listens for FCM messsages.</p>
  
  <p>I am able to read the messages in firebase message service worker with:</p>
  
  <pre><code>messaging.setBackgroundMessageHandler(function(payload) {
      console.log('Received background message', payload);
  });
  </code></pre>
  
  <p>This displays a browser notification, that I want to get rid of. I have some custom logic that I want to execute on notification:</p>
  
  <p>The notification data that I am sending to FCM from the server does not contain a notification parameter:</p>
  
  <pre><code>{ 
      "data": 
      { 
          "foo": "1",
          "bar": "2"
      },
      "to" : "device_registration_id", 
      "content_available": false 
  }
  </code></pre>
  
  <p>There is a issue about this on github: <a href="https://github.com/firebase/quickstart-js/issues/126" rel="nofollow noreferrer">https://github.com/firebase/quickstart-js/issues/126</a></p>
  
  <p>Some people report that <code>self.registration.hideNotification()</code> is working, but that was not the case for me.</p>
  
  <p>The only way to do it was return a never resolving Promise, but that would create a memory leak, and it is a sub optimal solution:</p>
  
  <pre><code>return new Promise(function(resolve, reject) { });
  </code></pre>
  
  <p>Any proper way to do this?</p>