/// <summary>
 /// Call to run a file chooser dialog. Only a single file chooser dialog may be
 /// pending at any given time. |mode| represents the type of dialog to display.
 /// |title| to the title to be used for the dialog and may be empty to show the
 /// default title ("Open" or "Save" depending on the mode). |default_file_path|
 /// is the path with optional directory and/or file name component that will be
 /// initially selected in the dialog. |accept_filters| are used to restrict the
 /// selectable file types and may any combination of (a) valid lower-cased MIME
 /// types (e.g. "text/*" or "image/*"), (b) individual file extensions (e.g.
 /// ".txt" or ".png"), or (c) combined description and file extension delimited
 /// using "|" and ";" (e.g. "Image Types|.png;.gif;.jpg").
 /// |selected_accept_filter| is the 0-based index of the filter that will be
 /// selected by default. |callback| will be executed after the dialog is
 /// dismissed or immediately if another dialog is already pending. The dialog
 /// will be initiated asynchronously on the UI thread.
 /// </summary>
 public void RunFileDialog(CefFileDialogMode mode, string title, string defaultFilePath, string[] acceptFilters, int selectedAcceptFilter, CefRunFileDialogCallback callback)
 {
     BrowserHost?.RunFileDialog(mode, title, defaultFilePath, acceptFilters, selectedAcceptFilter, callback);
 }
 public void RunFileDialog(CefFileDialogMode mode, string title, string defaultFileName, string[] acceptTypes, int selectedAcceptFilter, CefRunFileDialogCallback callback)
 {
     if (_browser != null)
     {
         _browser.GetHost().RunFileDialog(mode, title, defaultFileName, acceptTypes, selectedAcceptFilter, callback);
     }
 }