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

Unified Diff: chrome/browser/extensions/api/synced_notifications_private/synced_notifications_shim.cc

Issue 780363003: Delete deprecated synced notifications code (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: More cleanup Created 6 years 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/extensions/api/synced_notifications_private/synced_notifications_shim.cc
diff --git a/chrome/browser/extensions/api/synced_notifications_private/synced_notifications_shim.cc b/chrome/browser/extensions/api/synced_notifications_private/synced_notifications_shim.cc
deleted file mode 100644
index 21361f1fa4d92b33bb371404caadec2147a6e6d1..0000000000000000000000000000000000000000
--- a/chrome/browser/extensions/api/synced_notifications_private/synced_notifications_shim.cc
+++ /dev/null
@@ -1,256 +0,0 @@
-// Copyright 2014 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "chrome/browser/extensions/api/synced_notifications_private/synced_notifications_shim.h"
-
-#include "extensions/browser/event_router.h"
-#include "sync/api/sync_change.h"
-#include "sync/api/sync_data.h"
-#include "sync/api/sync_error_factory.h"
-#include "sync/protocol/sync.pb.h"
-
-using namespace extensions;
-using namespace extensions::api;
-
-namespace {
-
-synced_notifications_private::ChangeType SyncerChangeTypeToJS(
- syncer::SyncChange::SyncChangeType change_type) {
- switch (change_type) {
- case syncer::SyncChange::ACTION_UPDATE:
- return synced_notifications_private::CHANGE_TYPE_UPDATED;
- case syncer::SyncChange::ACTION_DELETE:
- return synced_notifications_private::CHANGE_TYPE_DELETED;
- case syncer::SyncChange::ACTION_ADD:
- return synced_notifications_private::CHANGE_TYPE_ADDED;
- case syncer::SyncChange::ACTION_INVALID:
- return synced_notifications_private::CHANGE_TYPE_NONE;
- }
- NOTREACHED();
- return synced_notifications_private::CHANGE_TYPE_NONE;
-}
-
-syncer::ModelType JSDataTypeToSyncer(
- synced_notifications_private::SyncDataType data_type) {
- switch (data_type) {
- case synced_notifications_private::SYNC_DATA_TYPE_APP_INFO:
- return syncer::SYNCED_NOTIFICATION_APP_INFO;
- case synced_notifications_private::SYNC_DATA_TYPE_SYNCED_NOTIFICATION:
- return syncer::SYNCED_NOTIFICATIONS;
- default:
- NOTREACHED();
- return syncer::UNSPECIFIED;
- }
-}
-
-synced_notifications_private::SyncDataType SyncerModelTypeToJS(
- syncer::ModelType model_type) {
- switch (model_type) {
- case syncer::SYNCED_NOTIFICATION_APP_INFO:
- return synced_notifications_private::SYNC_DATA_TYPE_APP_INFO;
- case syncer::SYNCED_NOTIFICATIONS:
- return synced_notifications_private::SYNC_DATA_TYPE_SYNCED_NOTIFICATION;
- default:
- NOTREACHED();
- return synced_notifications_private::SYNC_DATA_TYPE_NONE;
- }
-}
-
-bool BuildNewSyncUpdate(
- const tracked_objects::Location& from_here,
- const std::string& changed_notification,
- syncer::SyncChange* sync_change) {
- sync_pb::EntitySpecifics specifics;
- sync_pb::SyncedNotificationSpecifics* notification_specifics =
- specifics.mutable_synced_notification();
- if (!notification_specifics->ParseFromArray(
- changed_notification.c_str(), changed_notification.size())) {
- return false;
- }
-
- // TODO(synced notifications): pass the tag via the JS API.
- const std::string& tag =
- notification_specifics->coalesced_notification().key();
- syncer::SyncData sync_data =
- syncer::SyncData::CreateLocalData(tag, tag, specifics);
- *sync_change = syncer::SyncChange(
- from_here, syncer::SyncChange::ACTION_UPDATE, sync_data);
- return true;
-}
-
-linked_ptr<synced_notifications_private::SyncChange> BuildNewJSSyncChange(
- const syncer::SyncChange& change) {
- linked_ptr<synced_notifications_private::SyncChange> js_change =
- make_linked_ptr<synced_notifications_private::SyncChange>(
- new synced_notifications_private::SyncChange());
- js_change->change_type = SyncerChangeTypeToJS(change.change_type());
- js_change->data.datatype =
- SyncerModelTypeToJS(change.sync_data().GetDataType());
- if (change.sync_data().GetDataType() == syncer::SYNCED_NOTIFICATIONS) {
- const sync_pb::SyncedNotificationSpecifics& specifics =
- change.sync_data().GetSpecifics().synced_notification();
- js_change->data.data_item = specifics.SerializeAsString();
- } else {
- DCHECK_EQ(change.sync_data().GetDataType(),
- syncer::SYNCED_NOTIFICATION_APP_INFO);
- const sync_pb::SyncedNotificationAppInfoSpecifics& specifics =
- change.sync_data().GetSpecifics().synced_notification_app_info();
- js_change->data.data_item = specifics.SerializeAsString();
- }
- return js_change;
-}
-
-bool PopulateJSDataListFromSync(
- const syncer::SyncDataList& sync_data_list,
- std::vector<linked_ptr<synced_notifications_private::SyncData> >*
- js_data_list) {
- for (size_t i = 0; i < sync_data_list.size(); ++i) {
- linked_ptr<synced_notifications_private::SyncData> js_data(
- new synced_notifications_private::SyncData());
- syncer::ModelType data_type = sync_data_list[i].GetDataType();
- js_data->datatype = SyncerModelTypeToJS(data_type);
- if (data_type == syncer::SYNCED_NOTIFICATIONS) {
- const sync_pb::SyncedNotificationSpecifics& specifics =
- sync_data_list[i].GetSpecifics().synced_notification();
- js_data->data_item = specifics.SerializeAsString();
- } else if (data_type == syncer::SYNCED_NOTIFICATION_APP_INFO) {
- const sync_pb::SyncedNotificationAppInfoSpecifics& specifics =
- sync_data_list[i].GetSpecifics().synced_notification_app_info();
- js_data->data_item = specifics.SerializeAsString();
- } else {
- return false;
- }
- js_data_list->push_back(js_data);
- }
- return true;
-}
-
-} // namespace
-
-SyncedNotificationsShim::SyncedNotificationsShim(
- const EventLauncher& event_launcher,
- const base::Closure& refresh_request)
- : event_launcher_(event_launcher),
- refresh_request_(refresh_request) {
-}
-
-SyncedNotificationsShim::~SyncedNotificationsShim() {
-}
-
-syncer::SyncMergeResult SyncedNotificationsShim::MergeDataAndStartSyncing(
- syncer::ModelType type,
- const syncer::SyncDataList& initial_sync_data,
- scoped_ptr<syncer::SyncChangeProcessor> sync_processor,
- scoped_ptr<syncer::SyncErrorFactory> error_handler) {
- if (type == syncer::SYNCED_NOTIFICATIONS)
- notifications_change_processor_ = sync_processor.Pass();
- else if (type == syncer::SYNCED_NOTIFICATION_APP_INFO)
- app_info_change_processor_ = sync_processor.Pass();
- else
- NOTREACHED();
-
- // Only wake up the extension if both sync data types are ready.
- if (notifications_change_processor_ && app_info_change_processor_) {
- scoped_ptr<Event> event(new Event(
- synced_notifications_private::OnSyncStartup::kEventName,
- synced_notifications_private::OnSyncStartup::Create()));
- event_launcher_.Run(event.Pass());
- }
-
- return syncer::SyncMergeResult(type);
-}
-
-void SyncedNotificationsShim::StopSyncing(syncer::ModelType type) {
- if (type == syncer::SYNCED_NOTIFICATIONS)
- notifications_change_processor_.reset();
- else if (type == syncer::SYNCED_NOTIFICATION_APP_INFO)
- app_info_change_processor_.reset();
- else
- NOTREACHED();
-}
-
-syncer::SyncError SyncedNotificationsShim::ProcessSyncChanges(
- const tracked_objects::Location& from_here,
- const syncer::SyncChangeList& changes) {
- std::vector<linked_ptr<synced_notifications_private::SyncChange> > js_changes;
- for (size_t i = 0; i < changes.size(); ++i)
- js_changes.push_back(BuildNewJSSyncChange(changes[i]));
-
- scoped_ptr<base::ListValue> args(
- synced_notifications_private::OnDataChanges::Create(js_changes));
- scoped_ptr<Event> event(new Event(
- synced_notifications_private::OnDataChanges::kEventName, args.Pass()));
- event_launcher_.Run(event.Pass());
- return syncer::SyncError();
-}
-
-syncer::SyncDataList SyncedNotificationsShim::GetAllSyncData(
- syncer::ModelType type) const {
- NOTIMPLEMENTED();
- return syncer::SyncDataList();
-}
-
-bool SyncedNotificationsShim::GetInitialData(
- synced_notifications_private::SyncDataType data_type,
- std::vector<linked_ptr<synced_notifications_private::SyncData> >*
- js_data_list) const {
- if (!IsSyncReady())
- return false;
-
- syncer::SyncDataList sync_data_list;
- if (JSDataTypeToSyncer(data_type) == syncer::SYNCED_NOTIFICATIONS) {
- sync_data_list = notifications_change_processor_->GetAllSyncData(
- syncer::SYNCED_NOTIFICATIONS);
- if (PopulateJSDataListFromSync(sync_data_list, js_data_list))
- return true;
- } else if (JSDataTypeToSyncer(data_type) ==
- syncer::SYNCED_NOTIFICATION_APP_INFO) {
- sync_data_list = app_info_change_processor_->GetAllSyncData(
- syncer::SYNCED_NOTIFICATION_APP_INFO);
- if (PopulateJSDataListFromSync(sync_data_list, js_data_list))
- return true;
- }
- return false;
-}
-
-bool SyncedNotificationsShim::UpdateNotification(
- const std::string& changed_notification) {
- if (!IsSyncReady())
- return false;
-
- syncer::SyncChange sync_change;
- if (!BuildNewSyncUpdate(FROM_HERE, changed_notification, &sync_change))
- return false;
- syncer::SyncError error = notifications_change_processor_->ProcessSyncChanges(
- FROM_HERE,
- syncer::SyncChangeList(1, sync_change));
- return !error.IsSet();
-}
-
-bool SyncedNotificationsShim::SetRenderContext(
- synced_notifications_private::RefreshRequest refresh_request,
- const std::string& new_context) {
- if (!IsSyncReady())
- return false;
-
- syncer::SyncChangeProcessor::ContextRefreshStatus sync_refresh_status =
- refresh_request ==
- synced_notifications_private::REFRESH_REQUEST_REFRESH_NEEDED
- ? syncer::SyncChangeProcessor::REFRESH_NEEDED
- : syncer::SyncChangeProcessor::NO_REFRESH;
- syncer::SyncError error =
- notifications_change_processor_->UpdateDataTypeContext(
- syncer::SYNCED_NOTIFICATIONS, sync_refresh_status, new_context);
-
- if (sync_refresh_status == syncer::SyncChangeProcessor::REFRESH_NEEDED &&
- !refresh_request_.is_null()) {
- refresh_request_.Run();
- }
-
- return !error.IsSet();
-}
-
-bool SyncedNotificationsShim::IsSyncReady() const {
- return notifications_change_processor_ && app_info_change_processor_;
-}

Powered by Google App Engine
This is Rietveld 408576698