Example #1
0
        bool IContextMenuHandler.OnContextMenuCommand(IWebBrowser browserControl, IBrowser browser, IFrame frame, IContextMenuParams parameters, CefMenuCommand commandId, CefEventFlags eventFlags)
        {
            switch ((int)commandId)
            {
            case ShowDevTools:
                browser.ShowDevTools();
                break;

            case CloseDevTools:
                browser.CloseDevTools();
                break;

            case SaveImage:
                ExecuteSaveFileByUrl(parameters.SourceUrl.ToString(), frame);
                break;

            case SaveLink:
                ExecuteSaveFileByUrl(parameters.UnfilteredLinkUrl, frame);
                break;

            case CopyLink:
                Clipboard.SetDataObject(parameters.UnfilteredLinkUrl);
                break;

            case LinkOpenDefaultBrowser:
                System.Diagnostics.Process.Start("explorer.exe", parameters.UnfilteredLinkUrl);
                break;
            }

            return(false);
        }
Example #2
0
 bool IContextMenuHandler.OnContextMenuCommand(IWebBrowser browserControl, IBrowser browser, IFrame frame, IContextMenuParams parameters, CefMenuCommand commandId, CefEventFlags eventFlags)
 {
     if ((int)commandId == ShowDevTools)
     {
         browser.ShowDevTools();
     }
     if ((int)commandId == CloseDevTools)
     {
         browser.CloseDevTools();
     }
     if ((int)commandId == S_TPIP)
     {
         if (Library.is_PIP)
         {
             Library.stopPIP();
         }
         else
         {
             Library.startPIP();
         }
     }
     //if ((int)commandId == ShowSetting)
     //{
     //    frmSetting frm = new frmSetting();
     //    frm.ShowDialog();
     //}
     return(false);
 }
        public bool OnContextMenuCommand(IWebBrowser browserControl, IBrowser browser, IFrame frame, IContextMenuParams parameters, CefMenuCommand commandId, CefEventFlags eventFlags)
        {
            int id = (int)commandId;

            if (id == ShowDevTools)
            {
                browser.ShowDevTools();
            }
            if (id == CloseDevTools)
            {
                browser.CloseDevTools();
            }
            if (id == SaveImageAs)
            {
                browser.GetHost().StartDownload(parameters.SourceUrl);
            }
            if (id == SaveLinkAs)
            {
                browser.GetHost().StartDownload(parameters.LinkUrl);
            }
            if (id == OpenLinkInNewTab)
            {
                ChromiumWebBrowser newBrowser = myForm.AddNewBrowserTab(parameters.LinkUrl, false, browser.MainFrame.Url);
            }
            if (id == CopyLinkAddress)
            {
                Clipboard.SetText(parameters.LinkUrl);
            }
            if (id == CloseTab)
            {
                myForm.InvokeOnParent(delegate() {
                    myForm.CloseActiveTab();
                });
            }
            if (id == RefreshTab)
            {
                myForm.InvokeOnParent(delegate() {
                    myForm.RefreshActiveTab();
                });
            }
            if (id == CopyImageLink)
            {
                Clipboard.SetText(parameters.SourceUrl);
            }
            if (id == CopyImage)
            {
                WebClient wc = new WebClient();

                using (MemoryStream stream = new MemoryStream(wc.DownloadData(parameters.SourceUrl)))
                {
                    Image img = Bitmap.FromStream(stream);
                    Clipboard.SetImage(img);
                }
            }

            return(false);
        }
Example #4
0
        bool IContextMenuHandler.OnContextMenuCommand(IWebBrowser browserControl, IBrowser browser, IFrame frame, IContextMenuParams parameters, CefMenuCommand commandId, CefEventFlags eventFlags)
        {
            if ((int)commandId == OpenLinkInNewTab)
            {
                //browser.ShowDevTools();
                OpenInNewTabContextMenu?.Invoke(this, new NewTabEventArgs(parameters.UnfilteredLinkUrl));
            }
            if ((int)commandId == CloseDevTools)
            {
                browser.CloseDevTools();
            }
            if ((int)commandId == MenuSaveImage)
            {
                DownloadImage?.Invoke(this, new DownloadImageViaContextMenuEventArgs(parameters.SourceUrl));
            }
            if ((int)commandId == ViewSource)
            {
                ViewPageSource?.Invoke(this, null);
            }
            if ((int)commandId == SaveYouTubeVideo)
            {
                DownloadYouTubeVideo?.Invoke(this, null);   //we have the address, anyway, so don't need to pass it via event args.
            }
            if ((int)commandId == ViewImageExifData)
            {
                ViewImageExif?.Invoke(this, new ExifViewerEventArgs(parameters.SourceUrl));
            }
            if ((int)commandId == ViewFacebookId)
            {
                ViewFacebookIdNum?.Invoke(this, EventArgs.Empty);
            }
            if ((int)commandId == ViewTwitterId)
            {
                ViewTwitterIdNum?.Invoke(this, EventArgs.Empty);
            }
            if ((int)commandId == CopyImgLocation)
            {
                CopyImageLocation?.Invoke(this, new ExifViewerEventArgs(parameters.SourceUrl));
            }
            if ((int)commandId == ReverseImageSearch)
            {
                ReverseImgSearch?.Invoke(this, new ExifViewerEventArgs(parameters.SourceUrl));
            }
            if ((int)commandId == ExtractAllLinks)
            {
                ExtractLinks?.Invoke(this, EventArgs.Empty);
            }
            if ((int)commandId == Bookmark)
            {
                AddPageToBookmarks?.Invoke(this, EventArgs.Empty);
            }

            return(false);
        }
Example #5
0
 bool IContextMenuHandler.OnContextMenuCommand(IWebBrowser browserControl, IBrowser browser, IFrame frame, IContextMenuParams parameters, CefMenuCommand commandId, CefEventFlags eventFlags)
 {
     if ((int)commandId == ShowDevTools)
     {
         browser.ShowDevTools();
     }
     if ((int)commandId == CloseDevTools)
     {
         browser.CloseDevTools();
     }
     return false;
 }
Example #6
0
 public bool OnContextMenuCommand(IWebBrowser browserControl, IBrowser browser, IFrame frame, IContextMenuParams parameters, CefMenuCommand commandId, CefEventFlags eventFlags)
 {
     if ((int)commandId == ShowDevTools)
     {
         browser.ShowDevTools();
     }
     if ((int)commandId == CloseDevTools)
     {
         browser.CloseDevTools();
     }
     return(false);
 }
Example #7
0
        /// <summary>
        /// The on context menu command.
        /// </summary>
        /// <param name="browserControl">
        /// The browser control.
        /// </param>
        /// <param name="browser">
        /// The browser.
        /// </param>
        /// <param name="frame">
        /// The frame.
        /// </param>
        /// <param name="parameters">
        /// The parameters.
        /// </param>
        /// <param name="commandId">
        /// The command id.
        /// </param>
        /// <param name="eventFlags">
        /// The event flags.
        /// </param>
        /// <returns>
        /// The <see cref="bool"/>.
        /// </returns>
        bool IContextMenuHandler.OnContextMenuCommand(IWebBrowser browserControl, IBrowser browser, IFrame frame, IContextMenuParams parameters, CefMenuCommand commandId, CefEventFlags eventFlags)
        {
#if DEBUG
            if ((int)commandId == ShowDevTools)
            {
                browser.ShowDevTools();
            }

            if ((int)commandId == CloseDevTools)
            {
                browser.CloseDevTools();
            }
#endif
            return(false);
        }
Example #8
0
        public bool OnContextMenuCommand(IWebBrowser browserControl, IBrowser browser, IFrame frame, IContextMenuParams parameters, CefMenuCommand commandId, CefEventFlags eventFlags)
        {
            int id = (int)commandId;

            if (id == ShowDevTools)
            {
                browser.ShowDevTools();
            }
            if (id == CloseDevTools)
            {
                browser.CloseDevTools();
            }
            if (id == SaveImageAs)
            {
                browser.GetHost().StartDownload(parameters.SourceUrl);
            }
            if (id == SaveLinkAs)
            {
                browser.GetHost().StartDownload(parameters.LinkUrl);
            }
            if (id == OpenLinkInNewTab)
            {
                ChromiumWebBrowser newBrowser = myForm.AddNewBrowserTab(parameters.LinkUrl, false, browser.MainFrame.Url);
            }
            if (id == CopyLinkAddress)
            {
                Clipboard.SetText(parameters.LinkUrl);
            }
            if (id == CloseTab)
            {
                myForm.InvokeOnParent(delegate() {
                    myForm.CloseActiveTab();
                });
            }
            if (id == RefreshTab)
            {
                myForm.InvokeOnParent(delegate() {
                    myForm.RefreshActiveTab();
                });
            }

            return(false);
        }
        bool IKeyboardHandler.OnKeyEvent(IWebBrowser browserControl, IBrowser browser, KeyType type, int windowsKeyCode, int nativeKeyCode, CefEventFlags modifiers, bool isSystemKey)
        {
#if (!RELEASE)
            if ((windowsKeyCode == this.WINDOWS_KEY_CODE_TILDE) && (type == KeyType.KeyUp))
            {
                if (this.isDevToolOpen)
                {
                    browser.CloseDevTools();
                    this.isDevToolOpen = false;
                }
                else
                {
                    this.isDevToolOpen = true;
                    browser.ShowDevTools();
                }
            }
#endif
            return(false);
        }
Example #10
0
  bool  IContextMenuHandler.OnContextMenuCommand(IWebBrowser browserControl, IBrowser browser, IFrame frame, IContextMenuParams parameters, CefMenuCommand commandId, CefEventFlags eventFlags)
  {
     if ((int)commandId == OpenLinkInNewTab)
     {
         //browser.ShowDevTools();
         OpenInNewTabContextMenu?.Invoke(this, new NewTabEventArgs(parameters.UnfilteredLinkUrl));
     }
     if ((int)commandId == CloseDevTools)
     {
         browser.CloseDevTools();
     }
     if ((int)commandId == MenuSaveImage)
     {
         DownloadImage?.Invoke(this, new DownloadImageViaContextMenuEventArgs(parameters.SourceUrl));
     }
     if ((int)commandId == ViewSource)
     {
         ViewPageSource?.Invoke(this, null);
     }
     if ((int)commandId == SaveYouTubeVideo)
     {
         DownloadYouTubeVideo?.Invoke(this, null);   //we have the address, anyway, so don't need to pass it via event args.
     }
     if ((int)commandId == ViewImageExifData)
     {
         ViewImageExif?.Invoke(this, new ExifViewerEventArgs(parameters.SourceUrl)); 
     }
     if ((int)commandId == ViewFacebookId)
     {
         ViewFacebookIdNum?.Invoke(this, EventArgs.Empty);
     }
     if ((int)commandId == CopyImgLocation)
     {
         CopyImageLocation?.Invoke(this, new ExifViewerEventArgs(parameters.SourceUrl));
     }
     if ((int)commandId == ReverseImageSearch)
     {
         ReverseImgSearch?.Invoke(this, new ExifViewerEventArgs(parameters.SourceUrl));
     }
     return false;
 }
Example #11
0
        bool IContextMenuHandler.OnContextMenuCommand(IWebBrowser browserControl, IBrowser browser, IFrame frame, IContextMenuParams parameters, CefMenuCommand commandId, CefEventFlags eventFlags)
        {
            if ((int)commandId == ShowDevTools)
            {
                browser.ShowDevTools();
            }
            if ((int)commandId == CloseDevTools)
            {
                browser.CloseDevTools();
            }
            if ((int)commandId == SaveImageAs)
            {
                browser.GetHost().StartDownload(parameters.SourceUrl);
            }
            if ((int)commandId == CopyImage)
            {
                // Clipboard.SetImage(parameters.HasImageContents);
            }
            if ((int)commandId == SaveLinkAs)
            {
                browser.GetHost().StartDownload(parameters.LinkUrl);
            }

            if ((int)commandId == CopyLinkAddress)
            {
                Clipboard.SetText(parameters.LinkUrl);
            }


            if ((int)commandId == SaveAsPdf)
            {
                PdfPrintSettings settings = new PdfPrintSettings();
                settings.Landscape          = true;
                settings.BackgroundsEnabled = false;

                browser.PrintToPdfAsync(Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + @"\TorBrowser.pdf", settings);
            }
            return(false);
        }
Example #12
0
        bool IContextMenuHandler.OnContextMenuCommand(IWebBrowser browserControl, IBrowser browser, IFrame frame, IContextMenuParams parameters, CefMenuCommand commandId, CefEventFlags eventFlags)
        {
            if ((int)commandId == ShowDevTools)
            {
                browser.ShowDevTools();
            }
            if ((int)commandId == CloseDevTools)
            {
                browser.CloseDevTools();
            }
            if ((int)commandId == SaveImageAs)
            {
                browser.GetHost().StartDownload(parameters.SourceUrl);
            }
            if ((int)commandId == SaveLinkAs)
            {
                browser.GetHost().StartDownload(parameters.LinkUrl);
            }
            if ((int)commandId == OpenLinkInNewTab)
            {
                ChromiumWebBrowser newBrowser = myForm.AddNewBrowserTab(parameters.LinkUrl, false);
            }
            if ((int)commandId == CopyLinkAddress)
            {
                Clipboard.SetText(parameters.LinkUrl);
            }

            /* if ((int)commandId == SaveAsPdf)
             * {
             *   PdfPrintSettings settings = new PdfPrintSettings();
             *   settings.Landscape = true;
             *   settings.BackgroundsEnabled = false;
             *   browser.PrintToPdfAsync(Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + @"\SharpBrowser.pdf", settings);
             * }*/

            return(false);
        }
Example #13
0
        bool IContextMenuHandler.OnContextMenuCommand(IWebBrowser browserControl, IBrowser browser, IFrame frame, IContextMenuParams parameters, CefMenuCommand commandId, CefEventFlags eventFlags)
        {
            switch ((int)commandId)
            {
            case ShowDevTools:
                browser.ShowDevTools();
                break;

            case CloseDevTools:
                browser.CloseDevTools();
                break;

            case ReloadPage:
                browser.Reload();
                break;

            case ClearLogRequestResource:
            case OpenLogRequestResource:
            case ExitApplication:
                this.Parent.RaiseEventMenuBrowser((int)commandId);
                break;
            }
            return(false);
        }
Example #14
0
        public bool OnContextMenuCommand(IWebBrowser browserControl, IBrowser browser, IFrame frame, IContextMenuParams parameters, CefMenuCommand commandId, CefEventFlags eventFlags)
        {
            int id = (int)commandId;

            if (id == auto)
            {
                frame.ExecuteJavaScriptAsync(File.ReadAllText(Js.autofill));
            }
            if (id == Search)
            {
                newtab(parameters.SelectionText);
            }
            if (id == DorkInTitle)
            {
                newtab("intitle:" + parameters.SelectionText);
            }
            if (id == DorkInUrl)
            {
                newtab("inurl:" + parameters.SelectionText);
            }
            if (id == DorkInText)
            {
                newtab("intext:" + parameters.SelectionText);
            }
            if (id == DorkSite)
            {
                newtab("site:" + parameters.SelectionText);
            }
            if (id == DorkLink)
            {
                newtab("link:" + parameters.SelectionText);
            }
            if (id == DorkFileType)
            {
                newtab("filetype:" + parameters.SelectionText);
            }
            if (id == DorkExt)
            {
                newtab("ext:" + parameters.SelectionText);
            }
            if (id == ShowDevTools)
            {
                browser.ShowDevTools();
            }
            if (id == CloseDevTools)
            {
                browser.CloseDevTools();
            }
            if (id == SaveImageAs)
            {
                browser.GetHost().StartDownload(parameters.SourceUrl);
            }
            if (id == SaveVideoAs)
            {
                browser.GetHost().StartDownload(parameters.SourceUrl);
            }
            if (id == SaveLinkAs)
            {
                browser.GetHost().StartDownload(parameters.PageUrl);
            }
            if (id == OpenLinkInNewTab)
            {
                string url;
                if (parameters.LinkUrl != "")
                {
                    url = parameters.LinkUrl;
                    myForm.InvokeOnParent(delegate() { myForm.AddNewBrowser(url); });
                }
                else
                {
                    url = parameters.SelectionText;
                    myForm.InvokeOnParent(delegate() { myForm.AddNewBrowser(url); });
                }
            }
            if (id == CopyLinkAddress)
            {
                Clipboard.SetText(parameters.LinkUrl);
            }
            if (id == CloseTab)
            {
                myForm.X.InvokeOnParent(delegate() { myForm.CloseActiveTab(); });
            }
            if (id == RefreshTab)
            {
                browser.Reload();
            }
            if (id == GetSource)
            {
                myForm.InvokeOnParent(delegate() { myForm.ViewSource(); });
            }

            return(false);
        }
Example #15
0
        bool IContextMenuHandler.OnContextMenuCommand(IWebBrowser browserControl, IBrowser browser, IFrame frame, IContextMenuParams parameters, CefMenuCommand commandId, CefEventFlags eventFlags)
        {
            if ((int)commandId == ShowDevTools)
            {
                browser.ShowDevTools();
            }
            if ((int)commandId == CloseDevTools)
            {
                browser.CloseDevTools();
            }
            if ((int)commandId == SaveImageAs)
            {
                browser.GetHost().StartDownload(parameters.SourceUrl);
                return(true);
            }
            if ((int)commandId == SaveLinkAs)
            {
                browser.GetHost().StartDownload(parameters.LinkUrl);
                return(true);
            }
            if ((int)commandId == CopyLinkAddress)
            {
                Clipboard.SetText(parameters.LinkUrl);
            }

            if ((int)commandId == SaveAsPage)
            {
                browser.GetHost().StartDownload(parameters.PageUrl);

                return(true);
            }

            if ((int)commandId == CefSharpVersion)
            {
                browser.MainFrame.LoadUrl("chrome://chrome-urls/");
                return(true);
            }
            if ((int)commandId == CefSharpSupportedChromeExtensions)
            {
                browser.MainFrame.LoadUrl("chrome://extensions-support/");

                return(true);
            }
            if ((int)commandId == BaiduSearchChinese)
            {
                browser.MainFrame.LoadUrl("https://www.baidu.com/");

                return(true);
            }
            if ((int)commandId == GoogleSearchChinese)
            {
                browser.MainFrame.LoadUrl("https://www.google.com.hk");

                return(true);
            }
            if ((int)commandId == GoogleSearchEgypt)
            {
                browser.MainFrame.LoadUrl("https://www.google.com.eg");

                return(true);
            }
            if ((int)commandId == Back)
            {
                browser.GoBack();

                return(true);
            }
            if ((int)commandId == Forward)
            {
                browser.GoForward();

                return(true);
            }
            if ((int)commandId == Reload)
            {
                browser.MainFrame.Browser.Reload();

                return(true);
            }
            if ((int)commandId == Stop)
            {
                browser.StopLoad();

                return(true);
            }

            if ((int)commandId == Print)
            {
                browser.Print();
                return(true);
            }

            if ((int)commandId == ViewPageSource)
            {
                browser.MainFrame.ViewSource();

                return(true);
            }
            if ((int)commandId == Find)
            {
                browser.GetHost().Find(0, parameters.SelectionText, true, false, false);
                return(true);
            }


            if ((int)commandId == Undo)
            {
                browser.MainFrame.Undo();

                return(true);
            }
            if ((int)commandId == Redo)
            {
                browser.MainFrame.Redo();

                return(true);
            }

            if ((int)commandId == Cut)
            {
                browser.MainFrame.Cut();

                return(true);
            }
            if ((int)commandId == Copy)
            {
                browser.MainFrame.Copy();

                return(true);
            }
            if ((int)commandId == Paste)
            {
                browser.MainFrame.Paste();

                return(true);
            }
            if ((int)commandId == Delete)
            {
                browser.MainFrame.Delete();

                return(true);
            }
            if ((int)commandId == SelectAll)
            {
                browser.MainFrame.SelectAll();

                return(true);
            }

///
///

            if (commandId == (CefMenuCommand)5010)
            {
                SaveFileDialog dialog = new SaveFileDialog();
                dialog.FileName = "image.png";
                dialog.Filter   = "Png image (*.png)|*.png|ICO image (*.ico)|*.ico|Gif Image (*.gif)|*.gif|JPEG image (*.jpg)|*.jpg|SVG image (*.svg)|*.svg";

                var result = dialog.ShowDialog();
                if (result == DialogResult.OK)
                {
                    Console.WriteLine("writing to: " + dialog.FileName);

                    var wClient = new System.Net.WebClient();
                    wClient.DownloadFile(img, dialog.FileName);
                }
            }
            if (commandId == (CefMenuCommand)5011)
            {
                SaveFileDialog dialog = new SaveFileDialog();
                dialog.FileName = "Save All File Videos.mp4";
                dialog.Filter   = "MP4 (*.mp4)|*.mp4|MKV (*.mkv)|*.mkv|WEBM (*.webm)|*.webm|M3U (*.m3u)|*.m3u|All File (*.*)|*.*";

                var result = dialog.ShowDialog();
                if (result == DialogResult.OK)
                {
                    Console.WriteLine("writing to: " + dialog.FileName);

                    var wClient = new System.Net.WebClient();
                    wClient.DownloadFile(img, dialog.FileName);
                }
            }
            if (commandId == (CefMenuCommand)5012)
            {
                SaveFileDialog dialog = new SaveFileDialog();
                dialog.FileName = "Save All File Audio.mp3";
                dialog.Filter   = "MP3 (*.mp3)|*.mp3|Flac (*.flac)|*.flac|WAV (*.wav)|*.wav|All File (*.*)|*.*";

                var result = dialog.ShowDialog();
                if (result == DialogResult.OK)
                {
                    Console.WriteLine("writing to: " + dialog.FileName);

                    var wClient = new System.Net.WebClient();
                    wClient.DownloadFile(img, dialog.FileName);
                }
            }

            /*
             * if (commandId == (CefMenuCommand)5013)
             * {
             * }
             */
///
///

            if ((int)commandId == Good)
            {
                browser.GetHost().RequestContext.GetExtension(@"Resources\Extensions\");

                return(true);
            }


            return(false);
        }
Example #16
0
        public bool OnContextMenuCommand(IWebBrowser browserControl, IBrowser browser, IFrame frame, IContextMenuParams parameters, CefMenuCommand commandId, CefEventFlags eventFlags)
        {
            int id = (int)commandId;

            if (id == ShowDevTools)
            {
                browser.ShowDevTools();
            }
            if (id == CloseDevTools)
            {
                browser.CloseDevTools();
            }
            if (id == SaveImageAs)
            {
                browser.GetHost().StartDownload(parameters.SourceUrl);
            }
            if (id == SaveLinkAs)
            {
                browser.GetHost().StartDownload(parameters.LinkUrl);
            }
            if (id == OpenLinkInNewTab)
            {
                var url = parameters.LinkUrl;

                if (myForm.InvokeRequired)
                {
                    myForm.Invoke(new Action(() => myForm.CreateNewTab(url)));
                }
                else
                {
                    myForm.CreateNewTab(url);
                }


                return(true);
            }
            if (id == CopyLinkAddress)
            {
                Clipboard.SetText(parameters.LinkUrl);
            }
            if (id == CloseTab)
            {
                if (myForm.InvokeRequired)
                {
                    myForm.Invoke(new Action(() => myForm.CloseActiveTab()));
                }
                else
                {
                    myForm.CloseActiveTab();
                }
            }
            if (id == RefreshTab)
            {
                if (myForm.InvokeRequired)
                {
                    myForm.Invoke(new Action(() =>
                    {
                        myForm.RefreshActiveTab();
                    }));
                }
                else
                {
                    myForm.RefreshActiveTab();
                }
            }
            if (id == Favorite)
            {
                if (myForm.InvokeRequired)
                {
                    myForm.Invoke(new Action(() =>
                    {
                        myForm.AddBookmark();
                    }));
                }
                else
                {
                    myForm.AddBookmark();
                }
            }
            if (id == SaveAsPdf)
            {
                if (myForm.InvokeRequired)
                {
                    myForm.Invoke(new Action(() =>
                    {
                        myForm.SaveAsPDF();
                    }));
                }
                else
                {
                    myForm.SaveAsPDF();
                }
            }
            if (id == Print)
            {
                if (myForm.InvokeRequired)
                {
                    myForm.Invoke(new Action(() =>
                    {
                        myForm.Print();
                    }));
                }
                else
                {
                    myForm.Print();
                }
            }

            return(false);
        }
 public void CloseDevTools()
 {
     MainOverlay.CloseDevTools();
 }
Example #18
0
        public bool OnContextMenuCommand(IWebBrowser browserControl, IBrowser browser, IFrame frame, IContextMenuParams parameters, CefMenuCommand commandId, CefEventFlags eventFlags)
        {
            int id = (int)commandId;

            if (id == ShowDevTools)
            {
                browser.ShowDevTools();
            }
            if (id == CloseDevTools)
            {
                browser.CloseDevTools();
            }
            if (id == SaveImageAs)
            {
                browser.GetHost().StartDownload(parameters.SourceUrl);
            }
            if (id == SaveLinkAs)
            {
                browser.GetHost().StartDownload(parameters.LinkUrl);
            }
            if (id == OpenLinkInNewTab)
            {
                ChromiumWebBrowser newBrowser = myForm.AddNewBrowserTab(parameters.LinkUrl, false, browser.MainFrame.Url);
            }
            if (id == CopyLinkAddress)
            {
                Clipboard.SetText(parameters.LinkUrl);
            }
            if (id == CloseTab)
            {
                myForm.InvokeOnParent(delegate() {
                    myForm.CloseActiveTab();
                });
            }
            if (id == RefreshTab)
            {
                myForm.InvokeOnParent(delegate() {
                    myForm.RefreshActiveTab();
                });
            }
            if (id == SaveAsPdf)
            {
                SaveFileDialog sfd = new SaveFileDialog();
                sfd.Filter = "PDF Files | *.pdf";
                if (sfd.ShowDialog() == DialogResult.OK)
                {
                    //string path = Path.GetFileName(sfd.FileName);
                    browser.PrintToPdfAsync(sfd.FileName, new PdfPrintSettings()
                    {
                        SelectionOnly      = false,
                        BackgroundsEnabled = true
                    });
                }
            }
            if (id == Print)
            {
                browser.Print();
            }

            return(false);
        }
        bool IContextMenuHandler.OnContextMenuCommand(IWebBrowser browserControl, IBrowser browser, IFrame frame, IContextMenuParams parameters, CefMenuCommand commandId, CefEventFlags eventFlags)
        {
            if ((int)commandId == OpenLinkInNewTab)
            {
                //browser.ShowDevTools();
                OpenInNewTabContextMenu?.Invoke(this, new NewTabEventArgs(parameters.UnfilteredLinkUrl));
            }
            if ((int)commandId == CloseDevTools)
            {
                browser.CloseDevTools();
            }
            if ((int)commandId == MenuSaveImage)
            {
                DownloadImage?.Invoke(this, new DownloadImageViaContextMenuEventArgs(parameters.SourceUrl));
            }
            if ((int)commandId == ViewSource)
            {
                ViewPageSource?.Invoke(this, null);
            }
            if ((int)commandId == SaveYouTubeVideo)
            {
                DownloadYouTubeVideo?.Invoke(this, null);   //we have the address, anyway, so don't need to pass it via event args.
            }
            if ((int)commandId == ViewImageExifData)
            {
                ViewImageExif?.Invoke(this, new TextEventArgs(parameters.SourceUrl));
            }
            if ((int)commandId == ViewFacebookId)
            {
                ViewFacebookIdNum?.Invoke(this, EventArgs.Empty);
            }
            if ((int)commandId == ViewTwitterId)
            {
                ViewTwitterIdNum?.Invoke(this, EventArgs.Empty);
            }
            if ((int)commandId == CopyImgLocation)
            {
                CopyImageLocation?.Invoke(this, new TextEventArgs(parameters.SourceUrl));
            }

            if ((int)commandId == ReverseImageSearchTineye)
            {
                ReverseImgSearch?.Invoke(this, new TextEventArgs("http://www.tineye.com/search/?url=" + parameters.SourceUrl));
            }
            if ((int)commandId == ReverseImageSearchGoogle)
            {
                ReverseImgSearch?.Invoke(this, new TextEventArgs("https://www.google.com/searchbyimage?&image_url=" + Uri.EscapeUriString(parameters.SourceUrl)));
            }
            if ((int)commandId == ReverseImageSearchYandex)
            {
                ReverseImgSearch?.Invoke(this, new TextEventArgs("https://yandex.com/images/search?url=" + Uri.EscapeUriString(parameters.SourceUrl) + "&rpt=imageview"));
            }

            if ((int)commandId == ExtractAllLinks)
            {
                ExtractLinks?.Invoke(this, EventArgs.Empty);
            }
            if ((int)commandId == Bookmark)
            {
                AddPageToBookmarks?.Invoke(this, EventArgs.Empty);
            }
            if ((int)commandId == SearchSelectedText)
            {
                SearchText?.Invoke(this, new TextEventArgs(parameters.SelectionText));
            }
            if ((int)commandId == SaveText)
            {
                SaveSelectedText?.Invoke(this, new TextEventArgs(parameters.SelectionText));
            }


            return(false);
        }