// Copyright 2020 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
let instance: NotificationsInternalsBrowserProxy|null = null;
export interface NotificationsInternalsBrowserProxy {
/**
* Schedules a notification through notification schedule service.
* @param url URL to open after clicking the notification.
* @param title Title of the notification.
* @param message Message of the notification.
*/
scheduleNotification(url: string, title: string, message: string): void;
}
export class NotificationsInternalsBrowserProxyImpl implements
NotificationsInternalsBrowserProxy {
scheduleNotification(url: string, title: string, message: string) {
chrome.send('scheduleNotification', [url, title, message]);
}
static getInstance(): NotificationsInternalsBrowserProxy {
return instance ||
(instance = new NotificationsInternalsBrowserProxyImpl());
}
}