private void LoadExtensionsToolStripMenuItemClick(object sender, EventArgs e)
        {
            var control = GetCurrentTabControl();

            if (control != null)
            {
                //The sample extension only works for http(s) schemes
                if (control.Browser.GetMainFrame().Url.StartsWith("http"))
                {
                    var requestContext = control.Browser.GetBrowserHost().RequestContext;

                    const string cefSharpExampleResourcesFolder =
#if !NETCOREAPP
                        @"..\..\..\..\CefSharp.Example\Extensions";
#else
                        @"..\..\..\..\..\CefSharp.Example\Resources";
#endif

                    var dir = Path.Combine(AppContext.BaseDirectory, cefSharpExampleResourcesFolder);
                    dir = Path.GetFullPath(dir);
                    if (!Directory.Exists(dir))
                    {
                        throw new DirectoryNotFoundException("Unable to locate example extensions folder - " + dir);
                    }

                    var extensionHandler = new ExtensionHandler
                    {
                        LoadExtensionPopup = (url) =>
                        {
                            BeginInvoke(new Action(() =>
                            {
                                var extensionForm = new Form();

                                var extensionBrowser = new ChromiumWebBrowser(url);
                                //extensionBrowser.IsBrowserInitializedChanged += (s, args) =>
                                //{
                                //    extensionBrowser.ShowDevTools();
                                //};

                                extensionForm.Controls.Add(extensionBrowser);

                                extensionForm.Show(this);
                            }));
                        },
                        GetActiveBrowser = (extension, isIncognito) =>
                        {
                            //Return the active browser for which the extension will act upon
                            return(control.Browser.BrowserCore);
                        }
                    };

                    requestContext.LoadExtensionsFromDirectory(dir, extensionHandler);
                }
                else
                {
                    MessageBox.Show("The sample extension only works with http(s) schemes, please load a different website and try again", "Unable to load Extension");
                }
            }
        }
Exemple #2
0
 public virtual void PutExtensionHandler(Scanner.ExtensionToken token, ExtensionHandler extension)
 {
     if (extensions.Count == 0)
     {
         extensions = new Dictionary <Scanner.Token, ExtensionHandler>(16);
     }
     extensions[token] = extension;
 }
Exemple #3
0
 /// <summary>
 /// Event: Occurs when open is clicked
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 void menuItemOpen_Click(object sender, System.EventArgs e)
 {
     this.openFileDialog        = new OpenFileDialog();
     this.openFileDialog.Filter = ExtensionHandler.GetDialogFormat();
     if (this.openFileDialog.ShowDialog() == DialogResult.OK)
     {
         CurrentPage.Load(this.openFileDialog.FileName);
     }
 }
        public MessageRenderProcessHandler(string bindingExtensionName)
        {
            this.bindingExtensionName = bindingExtensionName;

            handler = new ExtensionHandler(browsers);
            var promiseResults = Observable.FromEvent <PromiseResult>(h => handler.PromiseResult += h,
                                                                      h => handler.PromiseResult -= h);

            promiseService = new PromiseService(promiseResults);
        }
Exemple #5
0
    void OnRenderImage(RenderTexture source, RenderTexture destination)
    {
        Graphics.Blit(source, destination);
        if (!ReadyToCapture())
        {
            return;
        }

        if (_captureOnNextFrame)
        {
            try
            {
                for (int i = 0; i < PictureSpecs.Length; i++)
                {
                    var tempRT = RenderTexture.GetTemporary((int)PictureSpecs[i].x, (int)PictureSpecs[i].y);
                    Graphics.Blit(source, tempRT);

                    var tempTex = new Texture2D((int)PictureSpecs[i].x, (int)PictureSpecs[i].y,
                                                TextureFormat.RGBA32, false);

                    tempTex.ReadPixels(new Rect(0, 0, (int)PictureSpecs[i].x,
                                                (int)PictureSpecs[i].y), 0, 0, false);

                    tempTex.Apply();

                    byte[] byteArray;

                    byteArray = ExtensionHandler.ByteArray(tempTex, Extension);

                    string filePath = FilePath(tempRT);


                    WriteImageToFile(filePath, byteArray);


                    Graphics.Blit(source, destination);
                    Destroy(tempTex);
                    RenderTexture.ReleaseTemporary(tempRT);

                    Debug.Log("FINISHED");
                }
            }
            catch (Exception e)
            {
                Debug.LogError(e.Message);
            }


            if (OpenFileDirectory)
            {
                System.Diagnostics.Process.Start(_screenshotPath);
            }
            _captureOnNextFrame = false;
        }
    }
        // "Files/table.txt" -data -weightSum -costSum -withIndex -withTotalVolume
        public static void Main(string[] args)
        {
            var service = ExtensionHandler.GetInstance().GetReportService(args);;

            var report = service.CreateReport();

            PrintReport(report);

            Console.WriteLine("");
            Console.WriteLine("Press enter...");
            Console.ReadLine();
        }
Exemple #7
0
 /// <summary>
 /// Initializes an open of a new picture by showing the dialog box
 /// </summary>
 public void InitBox()
 {
     //
     //openDialog
     //
     this.openDialog        = new OpenFileDialog();
     this.openDialog.Filter = ExtensionHandler.GetDialogFormat();
     if (this.openDialog.ShowDialog() == DialogResult.OK)
     {
         LoadNew(this.openDialog.FileName);
     }
 }
Exemple #8
0
 /// <summary>
 /// Event: Occurs when an extension it to be added to the extension list
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 void addExtlinkLabel_Click(object sender, System.EventArgs e)
 {
     if (this.extTextBox.Text.Trim().Length > 0)
     {
         string[] exts       = extTextBox.Text.Trim().Split(';');
         string   duplicates = string.Empty;
         foreach (string s in exts)
         {
             List <string> extensions = new List <string>(ExtensionHandler.GetSearchOptionFormat());
             string        ext        = null;
             if (s.IndexOf('.') > 0)
             {
                 string[] extA      = s.Split('.');
                 string   extension = string.Format("*.{0}", extA[1].ToLower());
                 if (!extensions.Contains(extension))
                 {
                     ext = extension;
                 }
                 else
                 {
                     duplicates += string.Format("{0} ", extension);
                 }
             }
             else
             {
                 string extension = string.Format("*.{0}", s.ToLower());
                 if (!extensions.Contains(extension))
                 {
                     ext = extension;
                 }
                 else
                 {
                     duplicates += string.Format("{0} ", extension);
                 }
             }
             if (ext != null)
             {
                 Settings.Default.Extensions += string.Format("/{0}", ext);
                 this.Extensions.Items.Clear();
                 this.Extensions.Items.AddRange(ExtensionHandler.GetSearchOptionFormat());
             }
         }
         if (duplicates.Length > 0)
         {
             Forms.MessageBox.Show("Extensions (" + duplicates + ") already exist!", "Duplicates",
                                   System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Warning);
         }
     }
 }
Exemple #9
0
        private static async Task Launch(IHtmlHelper htmlHelper)
        {
            // Only one thread can execute this at a time

            await ExtensionSemaphoreSlim.WaitAsync();

            try
            {
                await ExtensionHandler.LoadAppExtensions(htmlHelper);
            }
            finally
            {
                ExtensionSemaphoreSlim.Release();
            }
        }
Exemple #10
0
        // "Files/table.txt" -data -weightSum -costSum -withIndex -withTotalVolume
        // обычный запуск

        // "Files/table.txt" -data -weightSum -costSum -withIndex -withTotalVolume -withoutCost
        // чтоб проверить возможность убирать из отчёта некоторые столбцы

        // "Files/table.txt" -weightSum -costSum -withIndex -withTotalVolume
        // чтоб проверить вывод WARNING
        public static void Main(string[] args)
        {
//            var service = GetReportService(args);

//            var report = service.CreateReport();
            var extensionHandler = new ExtensionHandler(args);

            var report = extensionHandler.CreateReport();

            var reportBuilder = new ReportBuilder(report);

            reportBuilder.PrintReport();

            Console.WriteLine("");
            Console.WriteLine("Press enter...");
            Console.ReadLine();
        }
Exemple #11
0
 private void GetFiles()
 {
     string[] extensions = ExtensionHandler.GetSearchOptionFormat();
     if ((_Pictures == null || _Pictures.Count == 0) && _Dir != null)
     {
         _Pictures = new List <Picture>();
         foreach (string ext in extensions)
         {
             FileInfo[] files = _Dir.GetFiles(ext);
             foreach (FileInfo file in files)
             {
                 if (file.Exists)
                 {
                     _Pictures.Add(new Picture(file.FullName));
                 }
             }
         }
     }
 }
Exemple #12
0
        private static async Task HandleChangedAppExtensions(IHtmlHelper htmlHelper)
        {
            // Just an extra check so that unnecessary semaphore is avoided
            if (ExtensionWatcher.CmsExtensionWatcherFailed || ExtensionWatcher.ContentExtensionWatcherFailed ||
                ExtensionWatcher.CmsChangedExtensionUrls.Count > 0 || ExtensionWatcher.ContentChangedExtensionUrls.Count > 0)
            {
                await ExtensionSemaphoreSlim.WaitAsync();

                // Only one thread can execute this at a time

                try
                {
                    if (ExtensionWatcher.CmsExtensionWatcherFailed || ExtensionWatcher.ContentExtensionWatcherFailed)
                    {
                        await ExtensionHandler.LoadAppExtensions(htmlHelper);

                        ExtensionWatcher.CmsExtensionWatcherFailed     = false;
                        ExtensionWatcher.ContentExtensionWatcherFailed = false;

                        ExtensionWatcher.CmsChangedExtensionUrls.Clear();
                        ExtensionWatcher.ContentChangedExtensionUrls.Clear();
                    }

                    foreach (var extUrl in ExtensionWatcher.CmsChangedExtensionUrls)
                    {
                        await ExtensionHandler.LoadAppExtension(extUrl, htmlHelper);
                    }

                    foreach (var extUrl in ExtensionWatcher.ContentChangedExtensionUrls)
                    {
                        await ExtensionHandler.LoadAppExtension(extUrl, htmlHelper);
                    }

                    ExtensionWatcher.CmsChangedExtensionUrls.Clear();
                    ExtensionWatcher.ContentChangedExtensionUrls.Clear();
                }
                finally
                {
                    ExtensionSemaphoreSlim.Release();
                }
            }
        }
Exemple #13
0
    private string CapturePath(int width, int height)
    {
        DateTime current = DateTime.Now;
        string   time    = current.ToLongTimeString().Trim(' ').Split(' ')[0];

        char[]        temp = time.ToCharArray();
        StringBuilder sb   = new StringBuilder();

        for (int i = 0; i < temp.Length; i++)
        {
            if (temp[i] != ':')
            {
                sb.Append(temp[i]);
            }
        }

        sb.Append(current.Ticks.ToString());
        return(Path.Combine(_screenshotPath, _pictureName + "_" + width.ToString() + "_" + height.ToString()
                            + "_" +
                            sb + ExtensionHandler.Extension(Extension)));
    }
        private void CustomCommandBinding(object sender, ExecutedRoutedEventArgs e)
        {
            var param = e.Parameter.ToString();

            if (BrowserTabs.Count > 0)
            {
                var originalSource = (FrameworkElement)e.OriginalSource;

                //TODO: Remove duplicate code
                BrowserTabViewModel browserViewModel;

                if (originalSource is MainWindow)
                {
                    browserViewModel = BrowserTabs[TabControl.SelectedIndex];
                }
                else
                {
                    browserViewModel = (BrowserTabViewModel)originalSource.DataContext;
                }

                if (param == "CustomRequest")
                {
                    browserViewModel.LoadCustomRequestExample();
                }

                if (param == "OpenDevTools")
                {
                    browserViewModel.WebBrowser.ShowDevTools();
                }

                if (param == "ZoomIn")
                {
                    var cmd = browserViewModel.WebBrowser.ZoomInCommand;
                    cmd.Execute(null);
                }

                if (param == "ZoomOut")
                {
                    var cmd = browserViewModel.WebBrowser.ZoomOutCommand;
                    cmd.Execute(null);
                }

                if (param == "ZoomReset")
                {
                    var cmd = browserViewModel.WebBrowser.ZoomResetCommand;
                    cmd.Execute(null);
                }

                if (param == "ClearHttpAuthCredentials")
                {
                    var browserHost = browserViewModel.WebBrowser.GetBrowserHost();
                    if (browserHost != null && !browserHost.IsDisposed)
                    {
                        var requestContext = browserHost.RequestContext;
                        requestContext.ClearHttpAuthCredentials();
                        requestContext.ClearHttpAuthCredentialsAsync().ContinueWith(x =>
                        {
                            Console.WriteLine("RequestContext.ClearHttpAuthCredentials returned " + x.Result);
                        });
                    }
                }
                if (param == "LoadExtension")
                {
                    var browser = browserViewModel.WebBrowser;
                    //The sample extension only works for http(s) schemes
                    if (browser.Address.StartsWith("http"))
                    {
                        var requestContext = browser.GetBrowserHost().RequestContext;

                        var dir = Path.Combine(AppContext.BaseDirectory, @"..\..\..\..\CefSharp.Example\Extensions");
                        dir = Path.GetFullPath(dir);
                        if (!Directory.Exists(dir))
                        {
                            throw new DirectoryNotFoundException("Unable to locate example extensions folder - " + dir);
                        }

                        var extensionHandler = new ExtensionHandler
                        {
                            LoadExtensionPopup = (url) =>
                            {
                                Dispatcher.BeginInvoke(new Action(() =>
                                {
                                    var extensionWindow = new Window();

                                    var extensionBrowser = new ChromiumWebBrowser(url);
                                    //extensionBrowser.IsBrowserInitializedChanged += (s, args) =>
                                    //{
                                    //    extensionBrowser.ShowDevTools();
                                    //};

                                    extensionWindow.Content = extensionBrowser;

                                    extensionWindow.Show();
                                }));
                            },
                            GetActiveBrowser = (extension, isIncognito) =>
                            {
                                //Return the active browser for which the extension will act upon
                                return(browser.GetBrowser());
                            }
                        };

                        requestContext.LoadExtensionsFromDirectory(dir, extensionHandler);
                    }
                    else
                    {
                        MessageBox.Show("The sample extension only works with http(s) schemes, please load a different website and try again", "Unable to load Extension");
                    }
                }

                if (param == "ToggleSidebar")
                {
                    browserViewModel.ShowSidebar = !browserViewModel.ShowSidebar;
                }

                if (param == "ToggleDownloadInfo")
                {
                    browserViewModel.ShowDownloadInfo = !browserViewModel.ShowDownloadInfo;
                }

                if (param == "ResizeHackTests")
                {
                    ReproduceWasResizedCrashAsync();
                }

                if (param == "AsyncJsbTaskTests")
                {
                    //After this setting has changed all tests will run through the Concurrent MethodQueueRunner
                    CefSharpSettings.ConcurrentTaskExecution = true;

                    CreateNewTab(CefExample.BindingTestsAsyncTaskUrl, true);

                    TabControl.SelectedIndex = TabControl.Items.Count - 1;
                }

                //NOTE: Add as required
                //else if (param == "CustomRequest123")
                //{
                //    browserViewModel.LoadCustomRequestExample();
                //}
            }
        }
Exemple #15
0
        public bool HandlePacket(PacketList.Server opcode, GameReader packet, GameData gameData, bool Handled, ExtensionHandler extensions)
        {
            InfoExt infoExt = (InfoExt)extensions.Get("InfoExt");

            switch (opcode)
            {
            case PacketList.Server.CreatureSay:
                Character toon = new Character();
                toon.ObjectID = packet.readD();
                ChatType type = (ChatType)packet.readD();
                toon.Name = packet.readS();
                ChatReceived(type, toon, packet.readS(), packet, gameData, extensions);
                break;

            case PacketList.Server.Die:
                Character toon2 = new Character();
                toon2.ObjectID = packet.readD();
                bool hideout   = (packet.readD() == 0x00) ? false : true;
                bool castle    = (packet.readD() == 0x00) ? false : true;
                bool siege     = (packet.readD() == 0x00) ? false : true;
                bool sweep     = (packet.readD() == 0x00) ? false : true;
                bool fixedresp = (packet.readD() == 0x00) ? false : true;
                bool fortress  = (packet.readD() == 0x00) ? false : true;
                if (toon2.ObjectID == infoExt.User.ObjectID)
                {
                    SelfDie(hideout, castle, siege, fortress, packet, gameData, extensions);
                }
                else
                {
                    OtherDie(hideout, castle, siege, fortress, sweep, fixedresp, packet, gameData, extensions);
                }
                break;
            }
            return(false);
        }
        public bool HandlePacket(PacketList.Server opcode, GameReader packet, GameData gameData, bool Handled, ExtensionHandler extensions)
        {
            switch (opcode)
            {
            case PacketList.Server.UserInfo:
                User = Packets.UserInfo.parsePacket(packet);
                break;

            case PacketList.Server.CharInfo:
                Character temp = Packets.CharInfo.parsePacket(packet);
                if (!KnownUsers.ContainsKey(temp.ObjectID))
                {
                    KnownUsers.Add(temp.ObjectID, temp);
                }
                else
                {
                    KnownUsers[temp.ObjectID] = temp;
                }
                break;

            case PacketList.Server.NpcInfo:
                Character temp2 = Packets.NPCInfo.parsePacket(packet);
                if (!KnownNPCs.ContainsKey(temp2.ObjectID))
                {
                    KnownNPCs.Add(temp2.ObjectID, temp2);
                }
                else
                {
                    KnownNPCs[temp2.ObjectID] = temp2;
                }
                break;

            case PacketList.Server.TargetSelectedPacket:
                Int32 objectid = packet.readD();
                if (KnownUsers.ContainsKey(objectid))
                {
                    Targeted = KnownUsers[objectid];
                }
                else if (KnownNPCs.ContainsKey(objectid))
                {
                    Targeted = KnownNPCs[objectid];
                }
                break;

            case PacketList.Server.TargetUnselectedPacket:
                if (Targeted != null && Targeted.ObjectID == packet.readD())
                {
                    Targeted = null;
                }
                break;
            }
            return(false);
        }
Exemple #17
0
        public bool HandlePacket(PacketList.Server opcode, GameReader packet, GameData gameData, bool Handled, ExtensionHandler extensions)
        {
            InfoExt infoExt = (InfoExt)extensions.Get("InfoExt");

            if (infoExt.HandlePacket(opcode, packet, gameData, Handled, extensions))
            {
                Handled = true;
            }

            Events events = (Events)extensions.Get("Events");

            if (events.HandlePacket(opcode, packet, gameData, Handled, extensions))
            {
                Handled = true;
            }

            return(Handled);
        }
Exemple #18
0
        public void ChatToDebug(ChatType type, Character sender, string message, GameReader packet, GameData gameData, ExtensionHandler extensions)
        {
            if (type == ChatType.Announcement)
            {
                sender.Name = "";
            }
            Debug.Information(type.ToString() + ":" + sender.Name + ": " + message);

            if (type == ChatType.Private && sender.Name == "Reporter")
            {
                gameData.commands.SendMessage(ChatType.Private, sender, "ECHO: " + message);
            }
        }
Exemple #19
0
        /// <summary>
        /// Loads the current settings into the settings box for viewing and changing
        /// Updates controls with setting values
        /// </summary>
        private void LoadSettings()
        {
            foreach (KeyValuePair <string, string> kvp in settings)
            {
                string s = kvp.Key;
                switch (s)
                {
                case SHOWTINYIMAGE:
                    this.ShowTinyImage.Checked = Convert.ToBoolean(settings[s]);
                    break;

                case REPEATSLIDESHOW:
                    this.repeatCheckBox.Checked = Convert.ToBoolean(settings[s]);
                    break;

                case STARTMAXIMIZED:
                    this.StartMaximized.Checked = Convert.ToBoolean(settings[s]);
                    break;

                case AUTONAVIGATION:
                    this.AutoNavigation.Checked = Convert.ToBoolean(settings[s]);
                    break;

                case AUTOREPEATDELAY:
                    this.AutoRepeatDelay.Text = settings[s];
                    break;

                case TABCHARACTERS:
                    this.TabCharacters.Text = settings[s];
                    break;

                case HASHSIZE:
                    this.HashSize.Text = settings[s];
                    break;

                case CLONEBOXNAVIGATION:
                    this.CloneBoxNavigation.Checked = Convert.ToBoolean(settings[s]);
                    break;

                case DEFAULTORIENTATION:
                    this.HorizontalOrientation.Checked = (settings[s] == Orientation.Horizontal.ToString());
                    this.VerticalOrientation.Checked   = (settings[s] == Orientation.Vertical.ToString());
                    break;

                case SHOWBORDER:
                    this.ShowBorder.Checked = Convert.ToBoolean(settings[s]);
                    break;

                case SHOWMENUBAR:
                    this.ShowMenuBar.Checked = Convert.ToBoolean(settings[s]);
                    break;

                case SLIDESHOWDELAY:
                    this.SlideShowDelay.Text = settings[s];
                    break;

                case RANDOMIZESLIDESHOW:
                    this.checkBoxRandomize.Checked = Convert.ToBoolean(settings[s]);
                    break;
                }
            }
            this.Extensions.ClearSelected();
            this.Extensions.Items.AddRange(ExtensionHandler.GetSearchOptionFormat());
        }