From 59e274f6232affd467906d37bb06cbe568356e30 Mon Sep 17 00:00:00 2001 From: Matt Gajownik Date: Mon, 19 Aug 2019 20:37:49 +1000 Subject: [PATCH] UI: Add support for Custom Twitch Dashboard Docks --- UI/window-extra-browsers.cpp | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/UI/window-extra-browsers.cpp b/UI/window-extra-browsers.cpp index f6ff2d583..e90d172de 100644 --- a/UI/window-extra-browsers.cpp +++ b/UI/window-extra-browsers.cpp @@ -533,6 +533,24 @@ void OBSBasic::AddExtraBrowserDock(const QString &title, const QString &url, dock->SetWidget(browser); + /* Add support for Twitch Dashboard panels */ + if (url.contains("twitch.tv/popout") && + url.contains("dashboard/live")) { + QRegularExpression re("twitch.tv\/popout\/([^/]+)\/"); + QRegularExpressionMatch match = re.match(url); + QString username = match.captured(1); + if (username.length() > 0) { + std::string script; + script = + "Object.defineProperty(document, 'referrer', { get: () => '"; + script += "https://twitch.tv/"; + script += QT_TO_UTF8(username); + script += "/dashboard/live"; + script += "'});"; + browser->setStartupScript(script); + } + } + addDockWidget(Qt::RightDockWidgetArea, dock); if (firstCreate) {