예제 #1
0
        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);
            }
        }
예제 #2
0
 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);
            }
        }
예제 #4
0
 internal bool NavigateIfIdle(IIsolatedBrowser browser, string url)
 {
     if (_current == null)
     {
         Navigate(browser, url);
         return true;
     }
     return false;
 }
예제 #5
0
 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);
     }
 }