All Downloads are FREE. Search and download functionalities are using the official Maven repository.

chrome.permissions.Permission.scala Maven / Gradle / Ivy

package chrome.permissions

sealed trait Permission
object Permission {
  case class Host(urlPattern: String) extends Permission
  case class API(name: String) extends Permission
  object API {

    val ActiveTab = API("activeTab")
    val Alarms = API("alarms")
    val Audio = API("audio")
    val AudioCapture = API("audioCapture")
    val AudioModem = API("audioModem")
    val Background = API("background")
    val Bookmarks = API("bookmarks")
    val Browser = API("browser")
    val BrowsingData = API("browsingData")
    val ClipboardRead = API("clipboardRead")
    val ClipboardWrite = API("clipboardWrite")
    val ContentSettings = API("contentSettings")
    val ContextMenus = API("contextMenus")
    val Cookies = API("cookies")
    val Copresence = API("copresence")
    val Debugger = API("debugger")
    val DeclarativeContent = API("declarativeContent")
    val DeclarativeWebRequest = API("declarativeWebRequest")
    val DesktopCapture = API("desktopCapture")
    val Diagnostics = API("diagnostics")
    val DNS = API("dns")
    val DocumentScan = API("documentScan")
    object Downloads extends API("downloads") {
      val Shelf = API("downloads.shelf")
    }
    object Enterprise {
      val PlatformKeys = API("enterprise.platformKeys")
    }
    val Experimental = API("experimental")
    val FileBrowserHandler = API("fileBrowserHandler")
    val FileSystemProvider = API("fileSystemProvider")
    val FontSettings = API("fontSettings")
    val GCM = API("gcm")
    val Geolocation = API("geolocation")
    val History = API("history")
    val Identity = API("identity")
    val Idle = API("idle")
    val Idltest = API("idltest")
    val Location = API("location")
    val Management = API("management")
    val NativeMessaging = API("nativeMessaging")
    object Networking {
      val Config = API("networking.config")
    }
    val NotificationProvider = API("notificationProvider")
    val Notifications = API("notifications")
    val PageCapture = API("pageCapture")
    val PlatformKeys = API("platformKeys")
    val Power = API("power")
    val PrinterProvider = API("printerProvider")
    val Privacy = API("privacy")
    val Processes = API("processes")
    val Proxy = API("proxy")
    val Sessions = API("sessions")
    val SignedInDevices = API("signedInDevices")
    val Storage = API("storage")
    object System {
      val CPU = API("system.cpu")
      val Display = API("system.display")
      val Memory = API("system.memory")
      val Network = API("system.network")
      val Storage = API("system.storage")
    }
    val TabCapture = API("tabCapture")
    val Tabs = API("tabs")
    val TopSites = API("topSites")
    val TTS = API("tts")
    val TTSEngine = API("ttsEngine")
    val UnlimitedStorage = API("unlimitedStorage")
    val VideoCapture = API("videoCapture")
    val VpnProvider = API("vpnProvider")
    val Wallpaper = API("wallpaper")
    val Webview = API("webview")
    val WebNavigation = API("webNavigation")
    val WebRequest = API("webRequest")
    val WebRequestBlocking = API("webRequestBlocking")
    val FileSystem = API("fileSystem")
    val HID = API("hid")
    val MDNS = API("mdns")
    val MediaGalleries = API("mediaGalleries")
    val PointerLock = API("pointerLock")
    val Serial = API("serial")
    val Socket = API("socket")
    val SyncFileSystem = API("syncFileSystem")
    val USB = API("usb")

    val All: Map[String, API] = Set(
        ActiveTab,
        Alarms,
        Audio,
        AudioCapture,
        AudioModem,
        Background,
        Bookmarks,
        Browser,
        BrowsingData,
        ClipboardRead,
        ClipboardWrite,
        ContentSettings,
        ContextMenus,
        Cookies,
        Copresence,
        Debugger,
        DeclarativeContent,
        DeclarativeWebRequest,
        DesktopCapture,
        Diagnostics,
        DNS,
        DocumentScan,
        Downloads,
        PlatformKeys,
        Experimental,
        FileBrowserHandler,
        FileSystemProvider,
        FontSettings,
        GCM,
        Geolocation,
        History,
        Identity,
        Idle,
        Idltest,
        Location,
        Management,
        NativeMessaging,
        Networking.Config,
        NotificationProvider,
        Notifications,
        PageCapture,
        PlatformKeys,
        Power,
        PrinterProvider,
        Privacy,
        Processes,
        Proxy,
        Sessions,
        SignedInDevices,
        Storage,
        System.CPU,
        System.Display,
        System.Memory,
        System.Network,
        Storage,
        TabCapture,
        Tabs,
        TopSites,
        TTS,
        TTSEngine,
        UnlimitedStorage,
        VideoCapture,
        VpnProvider,
        Wallpaper,
        Webview,
        WebNavigation,
        WebRequest,
        WebRequestBlocking,
        FileSystem,
        HID,
        MDNS,
        MediaGalleries,
        PointerLock,
        Serial,
        Socket,
        SyncFileSystem,
        USB
    ).map(x => x.name -> x).toMap

  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy