From dda954285c6bd743f89b4d99c1796726b04d6f10 Mon Sep 17 00:00:00 2001
From: chylex <contact@chylex.com>
Date: Wed, 22 Dec 2021 03:35:10 +0100
Subject: [PATCH] Refactor main browser CSS injections

---
 Browser/TweetDeckBrowser.cs                              | 9 ---------
 Resources/Content/.all.js                                | 1 -
 Resources/Content/features/inject_css.js                 | 9 ---------
 .../styles/browser.css => Content/styles/tweetdeck.css}  | 0
 Resources/Scripts/bootstrap.tweetdeck.js                 | 5 +++++
 TweetDuck.csproj                                         | 2 +-
 6 files changed, 6 insertions(+), 20 deletions(-)
 rename Resources/{Scripts/styles/browser.css => Content/styles/tweetdeck.css} (100%)

diff --git a/Browser/TweetDeckBrowser.cs b/Browser/TweetDeckBrowser.cs
index 37d32db0..fce9e36e 100644
--- a/Browser/TweetDeckBrowser.cs
+++ b/Browser/TweetDeckBrowser.cs
@@ -24,7 +24,6 @@ sealed class TweetDeckBrowser : IDisposable {
 		private static UserConfig Config => Program.Config.User;
 
 		private const string ErrorUrl = "http://td/error";
-		private const string TwitterStyleUrl = "https://abs.twimg.com/tduck/css";
 
 		public bool Ready { get; private set; }
 
@@ -137,9 +136,6 @@ private void browser_FrameLoadStart(object sender, FrameLoadStartEventArgs e) {
 				string url = frame.Url;
 
 				if (TwitterUrls.IsTwitter(url)) {
-					string css = Program.Resources.Load("styles/twitter.css");
-					resourceHandlers.Register(TwitterStyleUrl, ResourceHandlers.ForString(css, "text/css"));
-
 					CefScriptExecutor.RunFile(frame, "twitter.js");
 				}
 
@@ -236,7 +232,6 @@ public void ReloadToTweetDeck() {
 		}
 
 		public void OnFeaturesLoaded() {
-			InjectBrowserCSS();
 			ReinjectCustomCSS(Config.CustomBrowserCSS);
 			Config_SoundNotificationInfoChanged(null, EventArgs.Empty);
 		}
@@ -245,10 +240,6 @@ public void UpdateProperties() {
 			browser.ExecuteJsAsync(PropertyBridge.GenerateScript(PropertyBridge.Environment.Browser));
 		}
 
-		public void InjectBrowserCSS() {
-			browser.ExecuteJsAsync("TDGF_injectBrowserCSS", Program.Resources.Load("styles/browser.css")?.TrimEnd() ?? string.Empty);
-		}
-
 		public void ReinjectCustomCSS(string css) {
 			browser.ExecuteJsAsync("TDGF_reinjectCustomCSS", css?.Replace(Environment.NewLine, " ") ?? string.Empty);
 		}
diff --git a/Resources/Content/.all.js b/Resources/Content/.all.js
index dce94dc5..f406b765 100644
--- a/Resources/Content/.all.js
+++ b/Resources/Content/.all.js
@@ -55,7 +55,6 @@ import skip_pre_login_page from "./features/skip_pre_login_page.js";
 const globalFunctions = [
 	window.TDGF_applyROT13,
 	window.TDGF_getColumnName,
-	window.TDGF_injectBrowserCSS,
 	window.TDGF_injectMustache,
 	window.TDGF_onGlobalDragStart,
 	window.TDGF_onMouseClickExtra,
diff --git a/Resources/Content/features/inject_css.js b/Resources/Content/features/inject_css.js
index a0d8493d..050ea2e5 100644
--- a/Resources/Content/features/inject_css.js
+++ b/Resources/Content/features/inject_css.js
@@ -9,15 +9,6 @@ function createStyle(id, styles) {
  * Adds support for injecting CSS.
  */
 export default function() {
-	/**
-	 * @param {string} styles
-	 */
-	window.TDGF_injectBrowserCSS = function(styles) {
-		if (!document.getElementById("tweetduck-browser-css")) {
-			createStyle("tweetduck-browser-css", styles);
-		}
-	};
-	
 	/**
 	 * @param {string|null} styles
 	 */
diff --git a/Resources/Scripts/styles/browser.css b/Resources/Content/styles/tweetdeck.css
similarity index 100%
rename from Resources/Scripts/styles/browser.css
rename to Resources/Content/styles/tweetdeck.css
diff --git a/Resources/Scripts/bootstrap.tweetdeck.js b/Resources/Scripts/bootstrap.tweetdeck.js
index 1e6d0cd8..cb4ad64b 100644
--- a/Resources/Scripts/bootstrap.tweetdeck.js
+++ b/Resources/Scripts/bootstrap.tweetdeck.js
@@ -59,4 +59,9 @@
 	script.src = "td://resources/bootstrap.js";
 	script.setAttribute("data-features", features.join("|"));
 	document.head.appendChild(script);
+	
+	const style = document.createElement("link");
+	style.rel = "stylesheet";
+	style.href = "td://resources/styles/tweetdeck.css";
+	document.head.appendChild(style);
 })();
diff --git a/TweetDuck.csproj b/TweetDuck.csproj
index 6b682695..ad34d881 100644
--- a/TweetDuck.csproj
+++ b/TweetDuck.csproj
@@ -322,6 +322,7 @@
   <ItemGroup>
     <None Include="app.config" />
     <None Include="packages.config" />
+    <None Include="Resources\Content\styles\tweetdeck.css" />
     <None Include="Resources\Images\avatar.png" />
     <None Include="Resources\Images\icon-muted.ico" />
     <None Include="Resources\Images\icon-small.ico" />
@@ -366,7 +367,6 @@
     <None Include="Resources\Scripts\plugins.browser.js" />
     <None Include="Resources\Scripts\plugins.notification.js" />
     <None Include="Resources\Scripts\screenshot.js" />
-    <None Include="Resources\Scripts\styles\browser.css" />
     <None Include="Resources\Scripts\styles\notification.css" />
     <None Include="Resources\Scripts\styles\twitter.css" />
     <None Include="Resources\Scripts\twitter.js" />