# Copyright 2025 The Chromium Authors # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. = = true = false = "" # basic-type arrays = = , = [] = = , = [] = = , = [] = null = = null = = null = = {data:} = 0 # LEFT_TO_RIGHT = 1 # RIGHT_TO_LEFT = 2 # Auto = null = = {url:} = null = = [] = = , = null = = {internalValue:} = 0 = 1 = 0 = 1 = null = = null = = [] = = , = 0 = 1 = 2 = 3 = null = [,,,,,,] = null = [,,,,,,,,] = {alphaType:,width:,height:,colorTransferFunction:,colorToXyzMatrix:} = {type:,action:,title:,icon:,placeholder:} = {title:,direction:,lang:,body:,tag:,image:,icon:,badge:,vibrationPattern:,timestamp:,renotify:,silent:,requireInteraction:,data:,actions:,showTriggerTimestamp:,scenario:} = {imageInfo:,pixelData:} = {bytes:} = {invalidBuffer:} = {image:,icon:,badge:,actionIcons:} = .$.bindNewPipeAndPassRemote() = .status = .error = .notificationIds = .notificationDatas !begin helperlines = (root_interface_class) => { root_interface_remote = new root_interface_class(); root_interface_remote.$.bindNewPipeAndPassReceiver().bindInBrowser(); return root_interface_remote;}; = (blink.mojom.NotificationServiceRemote); = class {onShow(){}onClick(){return Promise.resolve();}onClose(){return Promise.resolve();}}; = new (); = new blink.mojom.NonPersistentNotificationListenerReceiver(); !end helperlines !lineguard try { } catch(e) {} !begin lines = .getPermissionStatus(); await .displayNonPersistentNotification(,,,); await .closeNonPersistentNotification(); = await .displayPersistentNotification(,,); await .closePersistentNotification(); = await .getNotifications(,,); !end lines