| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 #include "components/sessions/content/content_serialized_navigation_builder.h" | 5 #include "components/sessions/content/content_serialized_navigation_builder.h" |
| 6 | 6 |
| 7 #include "components/sessions/core/serialized_navigation_entry.h" | 7 #include "components/sessions/core/serialized_navigation_entry.h" |
| 8 #include "content/public/browser/browser_context.h" | 8 #include "content/public/browser/browser_context.h" |
| 9 #include "content/public/browser/favicon_status.h" | 9 #include "content/public/browser/favicon_status.h" |
| 10 #include "content/public/browser/navigation_controller.h" | 10 #include "content/public/browser/navigation_controller.h" |
| (...skipping 26 matching lines...) Expand all Loading... |
| 37 entry.GetExtraData(kSearchTermsKey, &navigation.search_terms_); | 37 entry.GetExtraData(kSearchTermsKey, &navigation.search_terms_); |
| 38 if (entry.GetFavicon().valid) | 38 if (entry.GetFavicon().valid) |
| 39 navigation.favicon_url_ = entry.GetFavicon().url; | 39 navigation.favicon_url_ = entry.GetFavicon().url; |
| 40 navigation.http_status_code_ = entry.GetHttpStatusCode(); | 40 navigation.http_status_code_ = entry.GetHttpStatusCode(); |
| 41 navigation.redirect_chain_ = entry.GetRedirectChain(); | 41 navigation.redirect_chain_ = entry.GetRedirectChain(); |
| 42 | 42 |
| 43 return navigation; | 43 return navigation; |
| 44 } | 44 } |
| 45 | 45 |
| 46 // static | 46 // static |
| 47 scoped_ptr<content::NavigationEntry> | 47 std::unique_ptr<content::NavigationEntry> |
| 48 ContentSerializedNavigationBuilder::ToNavigationEntry( | 48 ContentSerializedNavigationBuilder::ToNavigationEntry( |
| 49 const SerializedNavigationEntry* navigation, | 49 const SerializedNavigationEntry* navigation, |
| 50 int page_id, | 50 int page_id, |
| 51 content::BrowserContext* browser_context) { | 51 content::BrowserContext* browser_context) { |
| 52 blink::WebReferrerPolicy policy = | 52 blink::WebReferrerPolicy policy = |
| 53 static_cast<blink::WebReferrerPolicy>(navigation->referrer_policy_); | 53 static_cast<blink::WebReferrerPolicy>(navigation->referrer_policy_); |
| 54 scoped_ptr<content::NavigationEntry> entry( | 54 std::unique_ptr<content::NavigationEntry> entry( |
| 55 content::NavigationController::CreateNavigationEntry( | 55 content::NavigationController::CreateNavigationEntry( |
| 56 navigation->virtual_url_, | 56 navigation->virtual_url_, |
| 57 content::Referrer::SanitizeForRequest( | 57 content::Referrer::SanitizeForRequest( |
| 58 navigation->virtual_url_, | 58 navigation->virtual_url_, |
| 59 content::Referrer(navigation->referrer_url_, policy)), | 59 content::Referrer(navigation->referrer_url_, policy)), |
| 60 // Use a transition type of reload so that we don't incorrectly | 60 // Use a transition type of reload so that we don't incorrectly |
| 61 // increase the typed count. | 61 // increase the typed count. |
| 62 ui::PAGE_TRANSITION_RELOAD, false, | 62 ui::PAGE_TRANSITION_RELOAD, false, |
| 63 // The extra headers are not sync'ed across sessions. | 63 // The extra headers are not sync'ed across sessions. |
| 64 std::string(), browser_context)); | 64 std::string(), browser_context)); |
| (...skipping 13 matching lines...) Expand all Loading... |
| 78 | 78 |
| 79 // These fields should have default values. | 79 // These fields should have default values. |
| 80 DCHECK_EQ(SerializedNavigationEntry::STATE_INVALID, | 80 DCHECK_EQ(SerializedNavigationEntry::STATE_INVALID, |
| 81 navigation->blocked_state_); | 81 navigation->blocked_state_); |
| 82 DCHECK_EQ(0u, navigation->content_pack_categories_.size()); | 82 DCHECK_EQ(0u, navigation->content_pack_categories_.size()); |
| 83 | 83 |
| 84 return entry; | 84 return entry; |
| 85 } | 85 } |
| 86 | 86 |
| 87 // static | 87 // static |
| 88 std::vector<scoped_ptr<content::NavigationEntry>> | 88 std::vector<std::unique_ptr<content::NavigationEntry>> |
| 89 ContentSerializedNavigationBuilder::ToNavigationEntries( | 89 ContentSerializedNavigationBuilder::ToNavigationEntries( |
| 90 const std::vector<SerializedNavigationEntry>& navigations, | 90 const std::vector<SerializedNavigationEntry>& navigations, |
| 91 content::BrowserContext* browser_context) { | 91 content::BrowserContext* browser_context) { |
| 92 int page_id = 0; | 92 int page_id = 0; |
| 93 std::vector<scoped_ptr<content::NavigationEntry>> entries; | 93 std::vector<std::unique_ptr<content::NavigationEntry>> entries; |
| 94 entries.reserve(navigations.size()); | 94 entries.reserve(navigations.size()); |
| 95 for (const auto& navigation : navigations) { | 95 for (const auto& navigation : navigations) { |
| 96 entries.push_back(ToNavigationEntry(&navigation, page_id, browser_context)); | 96 entries.push_back(ToNavigationEntry(&navigation, page_id, browser_context)); |
| 97 ++page_id; | 97 ++page_id; |
| 98 } | 98 } |
| 99 return entries; | 99 return entries; |
| 100 } | 100 } |
| 101 | 101 |
| 102 } // namespace sessions | 102 } // namespace sessions |
| OLD | NEW |