//add path to BACK/FORWARD history (skipping all checks) and update current TAB's pathString. Is called by BrowserTab.cs to indicate page have finish loading public void AddToHistoryStack(String finalURL, String firstURL, Object obj) { INavigatable nav = GetINavigatableFromControl(obj); lastTabPaths[nav] = finalURL; //if user navigate away from this TAB, display this page when he return if (CurrentNavigatable == nav) //is in current TAB { if (CurrentPage != null && CurrentPage.ToString() != finalURL) { backStack.Push(CurrentPage); //add current-page to HISTORY if new } if (finalURL != firstURL && backStack.Count > 0 && backStack.Peek().ToString() == firstURL) { backStack.Pop(); //remove previous-page (from HISTORY) if current-page is just a duplicate of previous-page } CurrentPage = new NavigationStep { Path = finalURL.Split('/') }; //add new-page as current-page } }
//add path to BACK/FORWARD history (skipping all checks) and update current TAB's pathString. Is called by BrowserTab.cs to indicate page have finish loading public void AddToHistoryStack(string finalURL, string firstURL, object obj) { var nav = GetINavigatableFromControl(obj); lastTabPaths[nav] = finalURL; //if user navigate away from this TAB, display this page when he return if (CurrentNavigatable == nav) //is in current TAB { if (CurrentPage != null && CurrentPage.ToString() != finalURL) backStack.Push(CurrentPage); //add current-page to HISTORY if new if (finalURL != firstURL && backStack.Count > 0 && backStack.Peek().ToString() == firstURL) backStack.Pop(); //remove previous-page (from HISTORY) if current-page is just a duplicate of previous-page CurrentPage = new NavigationStep { Path = finalURL.Split('/') }; //add new-page as current-page } }