# apparmor-profiles - apparmor reference profiles
# Copyright (C) 2023-2026 Alexandre Pujol <alexandre@pujol.io>
# SPDX-License-Identifier: GPL-2.0-only

# Define some common browser.

# Brave
@{brave_name} = brave{,-beta,-dev,-bin}
@{brave_lib_dirs} = /opt/brave{-bin,.com}{,/@{brave_name}}
@{brave_path} =  @{brave_lib_dirs}/@{brave_name}

# Google Chrome
@{chrome_name} = chrome{,-beta,-stable,-unstable}
@{chrome_lib_dirs} = /opt/google/@{chrome_name}
@{chrome_path} =  @{chrome_lib_dirs}/@{chrome_name}

# Chromium
@{chromium_name} = chromium
@{chromium_lib_dirs} = @{lib}/@{chromium_name}
@{chromium_path} = @{bin}/@{chromium_name} @{chromium_lib_dirs}/@{chromium_name}

# Epiphany
@{epiphany_name} = epiphany
@{epiphany_path} = @{bin}/@{epiphany_name}

# Firefox
@{firefox_name} = firefox{,-esr,-beta,-devedition,-nightly,.sh}
@{firefox_lib_dirs} = @{lib}/@{firefox_name} /opt/@{firefox_name}
@{firefox_path} = @{bin}/@{firefox_name} @{firefox_lib_dirs}/@{firefox_name}

# Microsoft Edge
@{msedge_name} = msedge{,-beta,-dev}
@{msedge_lib_dirs} = /opt/microsoft/@{msedge_name}
@{msedge_path} =  @{bin}/@{msedge_name} @{msedge_lib_dirs}/@{msedge_name}

# Opera
@{opera_name} = opera{,-beta,-developer}
@{opera_lib_dirs} = @{lib}/@{multiarch}/@{opera_name}
@{opera_path} =  @{bin}/@{opera_name} @{opera_lib_dirs}/@{opera_name}

# Tor Browser
@{torbrowser_name} = torbrowser "tor browser"
@{torbrowser_lib_dirs} = @{HOME}/.tb/tor-browser/Browser/
@{torbrowser_path} = @{bin}/@{torbrowser_name} @{torbrowser_lib_dirs}/firefox{,.real}

# All browsers at once
@{browsers_path}  = @{brave_path} @{chrome_path} @{chromium_path} @{epiphany_path}
@{browsers_path} += @{firefox_path} @{msedge_path} @{opera_path}

include if exists <tunables/path/browsers.d>

# vim:syntax=apparmor
