text: // Copyright 2014 The Chromium Authors. All rights reserved.
  // Use of this source code is governed by a BSD-style license that can be
  // found in the LICENSE file.
  
  // Service Worker to be used with the platform_notification_service.html page.
  var messagePort = null;
  
  addEventListener('message', function (event) {
    messagePort = event.data;
    messagePort.postMessage('ready');
  });
  
  // The notificationclick event will be invoked when a persistent notification
  // has been clicked on. When this happens, the title determines whether this
  // Service Worker has to act upon this.
  addEventListener('notificationclick', function (event) {
    if (event.notification.title == 'action_close')
      event.notification.close();
  
    var message = event.notification.title;
  
    if (message == 'action_button_click')
      message += ' ' + event.action;
  
    messagePort.postMessage(message);
  });
  
  // The notificationclose event will be invoked when a persistent notification
  // has been closed by the user.
  addEventListener('notificationclose', function (event) {
    messagePort.postMessage('closing notification: ' + event.notification.title);
  });
  