1
0
mirror of https://github.com/chylex/TweetDuck.git synced 2025-05-03 05:34:07 +02:00

Add ScriptLoader.GetRootIdentifier and PluginManager.HasAnyPlugin(environment) and use them

This commit is contained in:
chylex 2016-07-01 23:47:06 +02:00
parent 66ce355571
commit 19f9614c74
3 changed files with 15 additions and 4 deletions

View File

@ -111,8 +111,11 @@ private void Browser_LoadingStateChanged(object sender, LoadingStateChangedEvent
private void Browser_FrameLoadEnd(object sender, FrameLoadEndEventArgs e){
if (e.Frame.IsMain){
ScriptLoader.ExecuteFile(e.Frame,"code.js");
ScriptLoader.ExecuteFile(e.Frame,PluginManager.PluginScriptFile);
plugins.ExecutePlugins(e.Frame,PluginEnvironment.Browser);
if (plugins.HasAnyPlugin(PluginEnvironment.Browser)){
ScriptLoader.ExecuteFile(e.Frame,PluginManager.PluginBrowserScriptFile);
plugins.ExecutePlugins(e.Frame,PluginEnvironment.Browser);
}
}
}

View File

@ -36,6 +36,10 @@ public int CountPluginByGroup(PluginGroup group){
return plugins.Count(plugin => plugin.Group == group);
}
public bool HasAnyPlugin(PluginEnvironment environment){
return plugins.Any(plugin => plugin.Environments.HasFlag(environment));
}
public void Reload(){
HashSet<Plugin> prevPlugins = new HashSet<Plugin>(plugins);
plugins.Clear();

View File

@ -19,11 +19,11 @@ public static string LoadResource(string name){
}
public static void ExecuteFile(ChromiumWebBrowser browser, string file){
ExecuteScript(browser,LoadResource(file),"root:"+Path.GetFileNameWithoutExtension(file));
ExecuteScript(browser,LoadResource(file),GetRootIdentifier(file));
}
public static void ExecuteFile(IFrame frame, string file){
ExecuteScript(frame,LoadResource(file),"root:"+Path.GetFileNameWithoutExtension(file));
ExecuteScript(frame,LoadResource(file),GetRootIdentifier(file));
}
public static void ExecuteScript(ChromiumWebBrowser browser, string script, string identifier){
@ -39,5 +39,9 @@ public static void ExecuteScript(IFrame frame, string script, string identifier)
frame.ExecuteJavaScriptAsync(script,UrlPrefix+identifier,1);
}
public static string GetRootIdentifier(string file){
return "root:"+Path.GetFileNameWithoutExtension(file);
}
}
}