Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(400)

Side by Side Diff: components/ntp_snippets/ntp_snippets_service.cc

Issue 2061803002: 📰 The Status card reports disabled sync states (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@simplifyBridge
Patch Set: [NTP Snippets] The Status card reports disabled sync states Created 4 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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/ntp_snippets/ntp_snippets_service.h" 5 #include "components/ntp_snippets/ntp_snippets_service.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <iterator> 8 #include <iterator>
9 #include <utility> 9 #include <utility>
10 10
(...skipping 640 matching lines...) Expand 10 before | Expand all | Expand 10 after
651 sync_service_observer_.Add(sync_service_); 651 sync_service_observer_.Add(sync_service_);
652 652
653 // Change state after we started loading the snippets. During startup, the 653 // Change state after we started loading the snippets. During startup, the
654 // Sync service might not be completely loaded when we initialize this 654 // Sync service might not be completely loaded when we initialize this
655 // service, so we might stay in the NOT_INITED state until the sync state is 655 // service, so we might stay in the NOT_INITED state until the sync state is
656 // updated. See |GetStateForDependenciesStatus|. 656 // updated. See |GetStateForDependenciesStatus|.
657 EnterState(GetStateForDependenciesStatus()); 657 EnterState(GetStateForDependenciesStatus());
658 658
659 FOR_EACH_OBSERVER(NTPSnippetsServiceObserver, observers_, 659 FOR_EACH_OBSERVER(NTPSnippetsServiceObserver, observers_,
660 NTPSnippetsServiceLoaded()); 660 NTPSnippetsServiceLoaded());
661
662 // Start a fetch if we don't have any snippets yet, or a fetch was requested
663 // earlier.
664 if (ready() && (snippets_.empty() || fetch_after_load_)) {
dgn 2016/06/13 17:27:15 redundant, if we transition to ready, we have the
665 fetch_after_load_ = false;
666 FetchSnippets();
667 }
668 } 661 }
669 662
670 NTPSnippetsService::State NTPSnippetsService::GetStateForDependenciesStatus() { 663 NTPSnippetsService::State NTPSnippetsService::GetStateForDependenciesStatus() {
671 switch (GetDisabledReason()) { 664 switch (GetDisabledReason()) {
672 case DisabledReason::NONE: 665 case DisabledReason::NONE:
673 return State::READY; 666 return State::READY;
674 667
675 case DisabledReason::HISTORY_SYNC_STATE_UNKNOWN: 668 case DisabledReason::HISTORY_SYNC_STATE_UNKNOWN:
676 // HistorySync is not initialized yet, so we don't know what the actual 669 // HistorySync is not initialized yet, so we don't know what the actual
677 // state is and we just return the current one. If things change, 670 // state is and we just return the current one. If things change,
(...skipping 20 matching lines...) Expand all
698 case State::NOT_INITED: 691 case State::NOT_INITED:
699 // Initial state, it should not be possible to get back there. 692 // Initial state, it should not be possible to get back there.
700 NOTREACHED(); 693 NOTREACHED();
701 return; 694 return;
702 695
703 case State::READY: { 696 case State::READY: {
704 DCHECK(state_ == State::NOT_INITED || state_ == State::DISABLED); 697 DCHECK(state_ == State::NOT_INITED || state_ == State::DISABLED);
705 698
706 // If the service was previously disabled, we will need to start a fetch 699 // If the service was previously disabled, we will need to start a fetch
707 // because otherwise there won't be any. 700 // because otherwise there won't be any.
708 bool fetch_snippets = state_ == State::DISABLED || fetch_after_load_; 701 bool fetch_snippets = snippets_.empty() || fetch_after_load_;
709 DVLOG(1) << "Entering state: READY"; 702 DVLOG(1) << "Entering state: READY";
710 state_ = State::READY; 703 state_ = State::READY;
711 fetch_after_load_ = false; 704 fetch_after_load_ = false;
712 EnterStateEnabled(fetch_snippets); 705 EnterStateEnabled(fetch_snippets);
713 return; 706 return;
714 } 707 }
715 708
716 case State::DISABLED: 709 case State::DISABLED:
717 DCHECK(state_ == State::NOT_INITED || state_ == State::READY); 710 DCHECK(state_ == State::NOT_INITED || state_ == State::READY);
718 711
719 DVLOG(1) << "Entering state: DISABLED"; 712 DVLOG(1) << "Entering state: DISABLED";
720 state_ = State::DISABLED; 713 state_ = State::DISABLED;
721 EnterStateDisabled(); 714 EnterStateDisabled();
722 return; 715 return;
723 716
724 case State::SHUT_DOWN: 717 case State::SHUT_DOWN:
725 DVLOG(1) << "Entering state: SHUT_DOWN"; 718 DVLOG(1) << "Entering state: SHUT_DOWN";
726 state_ = State::SHUT_DOWN; 719 state_ = State::SHUT_DOWN;
727 EnterStateShutdown(); 720 EnterStateShutdown();
728 return; 721 return;
729 } 722 }
730 } 723 }
731 724
732 void NTPSnippetsService::ClearDeprecatedPrefs() { 725 void NTPSnippetsService::ClearDeprecatedPrefs() {
733 pref_service_->ClearPref(prefs::kDeprecatedSnippets); 726 pref_service_->ClearPref(prefs::kDeprecatedSnippets);
734 pref_service_->ClearPref(prefs::kDeprecatedDiscardedSnippets); 727 pref_service_->ClearPref(prefs::kDeprecatedDiscardedSnippets);
735 } 728 }
736 729
737 } // namespace ntp_snippets 730 } // namespace ntp_snippets
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698