From 8134843dad8c64e3aa5b54ee035e04da9e8fb183 Mon Sep 17 00:00:00 2001 From: chylex <contact@chylex.com> Date: Wed, 28 Feb 2018 02:34:29 +0100 Subject: [PATCH] Fix background color & twitter.com hooks not applying quickly enough sometimes --- Core/TweetDeckBrowser.cs | 12 +++++++----- Core/Utils/TwitterUtils.cs | 2 +- Resources/Scripts/twitter.js | 4 ++-- 3 files changed, 10 insertions(+), 8 deletions(-) diff --git a/Core/TweetDeckBrowser.cs b/Core/TweetDeckBrowser.cs index 8a5ad9c1..f7211475 100644 --- a/Core/TweetDeckBrowser.cs +++ b/Core/TweetDeckBrowser.cs @@ -118,14 +118,18 @@ private void browser_LoadingStateChanged(object sender, LoadingStateChangedEvent } private void browser_FrameLoadStart(object sender, FrameLoadStartEventArgs e){ - if (e.Frame.IsMain){ + IFrame frame = e.Frame; + + if (frame.IsMain){ if (Program.UserConfig.ZoomLevel != 100){ BrowserUtils.SetZoomLevel(browser.GetBrowser(), Program.UserConfig.ZoomLevel); } - if (TwitterUtils.IsTwitterWebsite(e.Frame)){ - ScriptLoader.ExecuteFile(e.Frame, "twitter.js"); + if (TwitterUtils.IsTwitterWebsite(frame)){ + ScriptLoader.ExecuteFile(frame, "twitter.js"); } + + frame.ExecuteJavaScriptAsync(TwitterUtils.BackgroundColorOverride); } } @@ -133,8 +137,6 @@ private void browser_FrameLoadEnd(object sender, FrameLoadEndEventArgs e){ IFrame frame = e.Frame; if (frame.IsMain && TwitterUtils.IsTweetDeckWebsite(frame)){ - frame.ExecuteJavaScriptAsync(TwitterUtils.BackgroundColorOverride); - UpdateProperties(); TweetDeckBridge.RestoreSessionData(frame); ScriptLoader.ExecuteFile(frame, "code.js"); diff --git a/Core/Utils/TwitterUtils.cs b/Core/Utils/TwitterUtils.cs index 0b292176..173cee6b 100644 --- a/Core/Utils/TwitterUtils.cs +++ b/Core/Utils/TwitterUtils.cs @@ -13,7 +13,7 @@ static class TwitterUtils{ public const string TweetDeckURL = "https://tweetdeck.twitter.com"; public static readonly Color BackgroundColor = Color.FromArgb(28, 99, 153); - public const string BackgroundColorOverride = "let e=document.createElement('style');document.head.appendChild(e);e.innerHTML='body,body::before{background:#1c6399!important}'"; + public const string BackgroundColorOverride = "setTimeout(function f(){let h=document.head;if(!h){setTimeout(f,5);return;}let e=document.createElement('style');e.innerHTML='body,body::before{background:#1c6399!important}';h.appendChild(e);},1)"; public static readonly ResourceLink LoadingSpinner = new ResourceLink("https://ton.twimg.com/tduck/spinner", ResourceHandler.FromByteArray(Properties.Resources.spinner, "image/apng")); diff --git a/Resources/Scripts/twitter.js b/Resources/Scripts/twitter.js index 267d7c92..b4a3e9da 100644 --- a/Resources/Scripts/twitter.js +++ b/Resources/Scripts/twitter.js @@ -4,7 +4,7 @@ // var injectCSS = function(){ if (!document.head){ - setTimeout(injectCSS, 25); + setTimeout(injectCSS, 5); return; } @@ -15,7 +15,7 @@ style.sheet.insertRule(rule, 0); }; - addRule("body { overflow: hidden !important; background-color: #1c6399 !important; }"); // remove scrollbar and change background + addRule("body { overflow: hidden !important; }"); // remove scrollbar addRule(".page-canvas { box-shadow: 0 0 150px rgba(255, 255, 255, 0.3) !important; }"); // change page box shadow addRule(".topbar { display: none !important; }"); // hide top bar