chromium/third_party/blink/renderer/modules/notifications/notification_options.idl

// Copyright 2014 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

// https://notifications.spec.whatwg.org/#api

enum NotificationDirection {
    "auto",
    "ltr",
    "rtl"
};

enum NotificationScenario {
    "default",
    "incoming-call"
};

dictionary NotificationOptions {
    NotificationDirection dir = "auto";
    DOMString lang = "";
    DOMString body = "";
    DOMString tag = "";
    [RuntimeEnabled=NotificationContentImage] USVString image;
    USVString icon;
    USVString badge;
    // TODO(sh919.park): vibrate should be ([Clamp] unsigned long or sequence<unsigned long>)
    (unsigned long or sequence<unsigned long>) vibrate;
    DOMTimeStamp timestamp;
    boolean renotify = false;
    boolean silent = false;
    boolean requireInteraction = false;
    any data = null;
    sequence<NotificationAction> actions = [];
    [RuntimeEnabled=NotificationTriggers] TimestampTrigger showTrigger;
    [RuntimeEnabled=IncomingCallNotifications] NotificationScenario scenario = "default";
};