OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 "chrome/browser/sync/glue/session_model_associator.h" | 5 #include "chrome/browser/sync/glue/session_model_associator.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 #include <set> | 8 #include <set> |
9 #include <utility> | 9 #include <utility> |
10 | 10 |
(...skipping 363 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
374 } | 374 } |
375 | 375 |
376 // Static | 376 // Static |
377 // TODO(zea): perhaps sync state (scroll position, form entries, etc.) as well? | 377 // TODO(zea): perhaps sync state (scroll position, form entries, etc.) as well? |
378 // See http://crbug.com/67068. | 378 // See http://crbug.com/67068. |
379 void SessionModelAssociator::PopulateSessionSpecificsNavigation( | 379 void SessionModelAssociator::PopulateSessionSpecificsNavigation( |
380 const TabNavigation* navigation, | 380 const TabNavigation* navigation, |
381 sync_pb::TabNavigation* tab_navigation) { | 381 sync_pb::TabNavigation* tab_navigation) { |
382 tab_navigation->set_index(navigation->index()); | 382 tab_navigation->set_index(navigation->index()); |
383 tab_navigation->set_virtual_url(navigation->virtual_url().spec()); | 383 tab_navigation->set_virtual_url(navigation->virtual_url().spec()); |
384 tab_navigation->set_referrer(navigation->referrer().spec()); | 384 // FIXME(zea): Support referrer policy? |
| 385 tab_navigation->set_referrer(navigation->referrer().url.spec()); |
385 tab_navigation->set_title(UTF16ToUTF8(navigation->title())); | 386 tab_navigation->set_title(UTF16ToUTF8(navigation->title())); |
386 switch (navigation->transition()) { | 387 switch (navigation->transition()) { |
387 case content::PAGE_TRANSITION_LINK: | 388 case content::PAGE_TRANSITION_LINK: |
388 tab_navigation->set_page_transition( | 389 tab_navigation->set_page_transition( |
389 sync_pb::TabNavigation_PageTransition_LINK); | 390 sync_pb::TabNavigation_PageTransition_LINK); |
390 break; | 391 break; |
391 case content::PAGE_TRANSITION_TYPED: | 392 case content::PAGE_TRANSITION_TYPED: |
392 tab_navigation->set_page_transition( | 393 tab_navigation->set_page_transition( |
393 sync_pb::TabNavigation_PageTransition_TYPED); | 394 sync_pb::TabNavigation_PageTransition_TYPED); |
394 break; | 395 break; |
(...skipping 473 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
868 break; | 869 break; |
869 case sync_pb:: | 870 case sync_pb:: |
870 TabNavigation_PageTransitionQualifier_SERVER_REDIRECT: | 871 TabNavigation_PageTransitionQualifier_SERVER_REDIRECT: |
871 transition = content::PAGE_TRANSITION_SERVER_REDIRECT; | 872 transition = content::PAGE_TRANSITION_SERVER_REDIRECT; |
872 break; | 873 break; |
873 default: | 874 default: |
874 transition = content::PAGE_TRANSITION_TYPED; | 875 transition = content::PAGE_TRANSITION_TYPED; |
875 } | 876 } |
876 } | 877 } |
877 } | 878 } |
878 TabNavigation tab_navigation(index, virtual_url, referrer, title, state, | 879 TabNavigation tab_navigation( |
879 transition); | 880 index, virtual_url, |
| 881 content::Referrer(referrer, WebKit::WebReferrerPolicyDefault), title, |
| 882 state, transition); |
880 navigations->insert(navigations->end(), tab_navigation); | 883 navigations->insert(navigations->end(), tab_navigation); |
881 } | 884 } |
882 | 885 |
883 bool SessionModelAssociator::UpdateSyncModelDataFromClient() { | 886 bool SessionModelAssociator::UpdateSyncModelDataFromClient() { |
884 DCHECK(CalledOnValidThread()); | 887 DCHECK(CalledOnValidThread()); |
885 // TODO(zea): the logic for determining if we want to sync and the loading of | 888 // TODO(zea): the logic for determining if we want to sync and the loading of |
886 // the previous session should go here. We can probably reuse the code for | 889 // the previous session should go here. We can probably reuse the code for |
887 // loading the current session from the old session implementation. | 890 // loading the current session from the old session implementation. |
888 // SessionService::SessionCallback* callback = | 891 // SessionService::SessionCallback* callback = |
889 // NewCallback(this, &SessionModelAssociator::OnGotSession); | 892 // NewCallback(this, &SessionModelAssociator::OnGotSession); |
(...skipping 354 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1244 bool SessionModelAssociator::CryptoReadyIfNecessary() { | 1247 bool SessionModelAssociator::CryptoReadyIfNecessary() { |
1245 // We only access the cryptographer while holding a transaction. | 1248 // We only access the cryptographer while holding a transaction. |
1246 sync_api::ReadTransaction trans(FROM_HERE, sync_service_->GetUserShare()); | 1249 sync_api::ReadTransaction trans(FROM_HERE, sync_service_->GetUserShare()); |
1247 syncable::ModelTypeSet encrypted_types; | 1250 syncable::ModelTypeSet encrypted_types; |
1248 encrypted_types = sync_api::GetEncryptedTypes(&trans); | 1251 encrypted_types = sync_api::GetEncryptedTypes(&trans); |
1249 return encrypted_types.count(SESSIONS) == 0 || | 1252 return encrypted_types.count(SESSIONS) == 0 || |
1250 sync_service_->IsCryptographerReady(&trans); | 1253 sync_service_->IsCryptographerReady(&trans); |
1251 } | 1254 } |
1252 | 1255 |
1253 } // namespace browser_sync | 1256 } // namespace browser_sync |
OLD | NEW |