internal void Navigate(IIsolatedBrowser browser, string url) { var task = new NavigationTask() { Browser = browser, Url = url }; if (_current == null) { StartTask(task); } else if (!_current.Browser.IsBusy) { Cleanup(); StartTask(task); } else { // Check whether we already have a pending navigation for this browser. // If so, discard it since it's now irrelevant. (It may also be impossible // if it was for a temporary file: see https://jira.sil.org/browse/BL-863.) for (int i = 0; i < _pending.Count; ++i) { if (browser.Equals(_pending[i].Browser)) { _pending.RemoveAt(i); break; } } _pending.Add(task); } }
internal bool NavigateIfIdle(IIsolatedBrowser browser, string url) { if (_current == null) { Navigate(browser, url); return(true); } return(false); }
internal void Navigate(IIsolatedBrowser browser, string url) { var task = new NavigationTask() { Browser = browser, Url = url }; if (_current == null) { StartTask(task); } else if (!_current.Browser.IsBusy) { Cleanup(); StartTask(task); } else { _pending.Add(task); } }
internal bool NavigateIfIdle(IIsolatedBrowser browser, string url) { if (_current == null) { Navigate(browser, url); return true; } return false; }
internal void Navigate(IIsolatedBrowser browser, string url) { var task = new NavigationTask() { Browser = browser, Url = url }; if (_current == null) { StartTask(task); } else if (!_current.Browser.IsBusy) { Cleanup(); StartTask(task); } else { // Check whether we already have a pending navigation for this browser. // If so, discard it since it's now irrelevant. (It may also be impossible // if it was for a temporary file: see https://jira.sil.org/browse/BL-863.) for (int i = 0; i < _pending.Count; ++i) { if (browser.Equals(_pending[i].Browser)) { _pending.RemoveAt(i); break; } } _pending.Add(task); } }