mirror of
https://github.com/chylex/TweetDuck.git
synced 2025-08-17 00:31:42 +02:00
.github
Application
Browser
Adapters
CefScriptExecutor.cs
Bridge
Data
Handling
Notification
FormBrowser.Designer.cs
FormBrowser.cs
FormBrowser.resx
TrayIcon.Designer.cs
TrayIcon.cs
TweetDeckBrowser.cs
Configuration
Controls
Dialogs
Management
Plugins
Properties
Resources
Updates
Utils
bld
lib
subprocess
video
.gitattributes
.gitignore
LICENSE.md
Program.cs
README.md
Reporter.cs
TweetDuck.csproj
TweetDuck.sln
TweetDuck.sln.DotSettings
packages.config
42 lines
1.2 KiB
C#
42 lines
1.2 KiB
C#
using System.IO;
|
|
using CefSharp;
|
|
using TweetLib.Core.Browser;
|
|
|
|
namespace TweetDuck.Browser.Adapters{
|
|
sealed class CefScriptExecutor : IScriptExecutor{
|
|
private readonly IWebBrowser browser;
|
|
|
|
public CefScriptExecutor(IWebBrowser browser){
|
|
this.browser = browser;
|
|
}
|
|
|
|
public void RunFunction(string name, params object[] args){
|
|
browser.ExecuteScriptAsync(name, args);
|
|
}
|
|
|
|
public void RunScript(string identifier, string script){
|
|
using IFrame frame = browser.GetMainFrame();
|
|
RunScript(frame, script, identifier);
|
|
}
|
|
|
|
public bool RunFile(string file){
|
|
using IFrame frame = browser.GetMainFrame();
|
|
return RunFile(frame, file);
|
|
}
|
|
|
|
// Helpers
|
|
|
|
public static void RunScript(IFrame frame, string script, string identifier){
|
|
if (script != null){
|
|
frame.ExecuteJavaScriptAsync(script, identifier, 1);
|
|
}
|
|
}
|
|
|
|
public static bool RunFile(IFrame frame, string file){
|
|
string script = Program.Resources.Load(file);
|
|
RunScript(frame, script, "root:" + Path.GetFileNameWithoutExtension(file));
|
|
return script != null;
|
|
}
|
|
}
|
|
}
|