OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 /* | 5 /* |
6 * Copyright (C) 2006, 2007, 2008, 2009 Apple Inc. All rights reserved. | 6 * Copyright (C) 2006, 2007, 2008, 2009 Apple Inc. All rights reserved. |
7 * Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies) | 7 * Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies) |
8 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. | 8 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. |
9 * (http://www.torchmobile.com/) | 9 * (http://www.torchmobile.com/) |
10 * | 10 * |
(...skipping 814 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
825 pending_entry_->set_restore_type(RestoreType::NONE); | 825 pending_entry_->set_restore_type(RestoreType::NONE); |
826 was_restored = true; | 826 was_restored = true; |
827 } | 827 } |
828 | 828 |
829 // The renderer tells us whether the navigation replaces the current entry. | 829 // The renderer tells us whether the navigation replaces the current entry. |
830 details->did_replace_entry = params.should_replace_current_entry; | 830 details->did_replace_entry = params.should_replace_current_entry; |
831 | 831 |
832 // Do navigation-type specific actions. These will make and commit an entry. | 832 // Do navigation-type specific actions. These will make and commit an entry. |
833 details->type = ClassifyNavigation(rfh, params); | 833 details->type = ClassifyNavigation(rfh, params); |
834 | 834 |
835 // is_in_page must be computed before the entry gets committed. | 835 // is_same_document must be computed before the entry gets committed. |
836 details->is_in_page = is_navigation_within_page; | 836 details->is_same_document = is_navigation_within_page; |
837 | 837 |
838 // Save reload type and timestamp for a reload navigation to detect | 838 // Save reload type and timestamp for a reload navigation to detect |
839 // consecutive reloads when the next reload is requested. | 839 // consecutive reloads when the next reload is requested. |
840 if (PendingEntryMatchesHandle(navigation_handle)) { | 840 if (PendingEntryMatchesHandle(navigation_handle)) { |
841 if (pending_entry_->reload_type() != ReloadType::NONE) { | 841 if (pending_entry_->reload_type() != ReloadType::NONE) { |
842 last_committed_reload_type_ = pending_entry_->reload_type(); | 842 last_committed_reload_type_ = pending_entry_->reload_type(); |
843 last_committed_reload_time_ = | 843 last_committed_reload_time_ = |
844 time_smoother_.GetSmoothedTime(get_timestamp_callback_.Run()); | 844 time_smoother_.GetSmoothedTime(get_timestamp_callback_.Run()); |
845 } else if (!pending_entry_->is_renderer_initiated() || | 845 } else if (!pending_entry_->is_renderer_initiated() || |
846 params.gesture == NavigationGestureUser) { | 846 params.gesture == NavigationGestureUser) { |
847 last_committed_reload_type_ = ReloadType::NONE; | 847 last_committed_reload_type_ = ReloadType::NONE; |
848 last_committed_reload_time_ = base::Time(); | 848 last_committed_reload_time_ = base::Time(); |
849 } | 849 } |
850 } | 850 } |
851 | 851 |
852 switch (details->type) { | 852 switch (details->type) { |
853 case NAVIGATION_TYPE_NEW_PAGE: | 853 case NAVIGATION_TYPE_NEW_PAGE: |
854 RendererDidNavigateToNewPage(rfh, params, details->is_in_page, | 854 RendererDidNavigateToNewPage(rfh, params, details->is_same_document, |
855 details->did_replace_entry, | 855 details->did_replace_entry, |
856 navigation_handle); | 856 navigation_handle); |
857 break; | 857 break; |
858 case NAVIGATION_TYPE_EXISTING_PAGE: | 858 case NAVIGATION_TYPE_EXISTING_PAGE: |
859 details->did_replace_entry = details->is_in_page; | 859 details->did_replace_entry = details->is_same_document; |
860 RendererDidNavigateToExistingPage(rfh, params, details->is_in_page, | 860 RendererDidNavigateToExistingPage(rfh, params, details->is_same_document, |
861 was_restored, navigation_handle); | 861 was_restored, navigation_handle); |
862 break; | 862 break; |
863 case NAVIGATION_TYPE_SAME_PAGE: | 863 case NAVIGATION_TYPE_SAME_PAGE: |
864 RendererDidNavigateToSamePage(rfh, params, navigation_handle); | 864 RendererDidNavigateToSamePage(rfh, params, navigation_handle); |
865 break; | 865 break; |
866 case NAVIGATION_TYPE_NEW_SUBFRAME: | 866 case NAVIGATION_TYPE_NEW_SUBFRAME: |
867 RendererDidNavigateNewSubframe(rfh, params, details->is_in_page, | 867 RendererDidNavigateNewSubframe(rfh, params, details->is_same_document, |
868 details->did_replace_entry); | 868 details->did_replace_entry); |
869 break; | 869 break; |
870 case NAVIGATION_TYPE_AUTO_SUBFRAME: | 870 case NAVIGATION_TYPE_AUTO_SUBFRAME: |
871 if (!RendererDidNavigateAutoSubframe(rfh, params)) { | 871 if (!RendererDidNavigateAutoSubframe(rfh, params)) { |
872 // We don't send a notification about auto-subframe PageState during | 872 // We don't send a notification about auto-subframe PageState during |
873 // UpdateStateForFrame, since it looks like nothing has changed. Send | 873 // UpdateStateForFrame, since it looks like nothing has changed. Send |
874 // it here at commit time instead. | 874 // it here at commit time instead. |
875 NotifyEntryChanged(GetLastCommittedEntry()); | 875 NotifyEntryChanged(GetLastCommittedEntry()); |
876 return false; | 876 return false; |
877 } | 877 } |
(...skipping 1285 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2163 } | 2163 } |
2164 } | 2164 } |
2165 } | 2165 } |
2166 | 2166 |
2167 void NavigationControllerImpl::SetGetTimestampCallbackForTest( | 2167 void NavigationControllerImpl::SetGetTimestampCallbackForTest( |
2168 const base::Callback<base::Time()>& get_timestamp_callback) { | 2168 const base::Callback<base::Time()>& get_timestamp_callback) { |
2169 get_timestamp_callback_ = get_timestamp_callback; | 2169 get_timestamp_callback_ = get_timestamp_callback; |
2170 } | 2170 } |
2171 | 2171 |
2172 } // namespace content | 2172 } // namespace content |
OLD | NEW |