diff --git a/www/common/cryptpad-common.js b/www/common/cryptpad-common.js index e19b59a9e..831b9faa3 100644 --- a/www/common/cryptpad-common.js +++ b/www/common/cryptpad-common.js @@ -1135,6 +1135,31 @@ define([ window.RTCPeerConnection); }; + common.isBrave = function () { // Courtesy of https://www.ctrl.blog/entry/brave-user-agent-detection + try { + // initial assertions + if (!window.google_onload_fired && navigator.userAgent && !navigator.userAgent.includes('Chrome')) { + return false; + } + + // set up test + var test = document.createElement('iframe'); + test.style.display = 'none'; + document.body.appendChild(test); + + // empty frames only have this attribute set in Brave Shield + var is_brave = (test.contentWindow.google_onload_fired === true); + + // teardown test + test.parentNode.removeChild(test); + + return is_brave; + } catch (e) { // just in case... + console.error(e); + return false; + } + }; + common.ready = (function () { var env = {}; var initialized = false; @@ -1182,6 +1207,10 @@ define([ Feedback.send('NO_CSS_VARIABLES'); } + if (common.isBrave()) { + Feedback.send('BRAVE_BROWSER'); + } + Feedback.reportScreenDimensions(); Feedback.reportLanguage(); };