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

Unified Diff: chrome/browser/sync/glue/extension_sync_traits.cc

Issue 7564037: Apps/Extensions Sync refactoring -- delete most of the old glue, implement new sync API. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix Release build warning :-/ Created 9 years, 4 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/sync/glue/extension_sync_traits.h ('k') | chrome/browser/sync/glue/extension_util.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/sync/glue/extension_sync_traits.cc
diff --git a/chrome/browser/sync/glue/extension_sync_traits.cc b/chrome/browser/sync/glue/extension_sync_traits.cc
deleted file mode 100644
index 3ef4eda446238e924265538fd70b922502dddb89..0000000000000000000000000000000000000000
--- a/chrome/browser/sync/glue/extension_sync_traits.cc
+++ /dev/null
@@ -1,135 +0,0 @@
-// Copyright (c) 2011 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/sync/glue/extension_sync_traits.h"
-
-#include "base/string_piece.h"
-#include "base/utf_string_conversions.h"
-#include "chrome/browser/sync/glue/extension_util.h"
-#include "chrome/browser/sync/internal_api/write_node.h"
-#include "chrome/browser/sync/protocol/app_specifics.pb.h"
-#include "chrome/browser/sync/protocol/extension_specifics.pb.h"
-#include "chrome/common/extensions/extension.h"
-
-namespace browser_sync {
-
-ExtensionSyncTraits::ExtensionSyncTraits(
- syncable::ModelType model_type,
- IsValidAndSyncablePredicate is_valid_and_syncable,
- const char* root_node_tag,
- ExtensionSpecificsGetter extension_specifics_getter,
- ExtensionSpecificsSetter extension_specifics_setter,
- ExtensionSpecificsEntityGetter extension_specifics_entity_getter)
- : model_type(model_type),
- is_valid_and_syncable(is_valid_and_syncable),
- root_node_tag(root_node_tag),
- extension_specifics_getter(extension_specifics_getter),
- extension_specifics_setter(extension_specifics_setter),
- extension_specifics_entity_getter(extension_specifics_entity_getter) {}
-
-ExtensionSyncTraits::~ExtensionSyncTraits() {}
-
-namespace {
-
-const sync_pb::ExtensionSpecifics& GetExtensionSpecifics(
- const sync_api::BaseNode& node) {
- return node.GetExtensionSpecifics();
-}
-
-void SetExtensionSpecifics(
- const sync_pb::ExtensionSpecifics& extension_specifics,
- sync_api::WriteNode* node) {
- node->SetTitle(UTF8ToWide(extension_specifics.name()));
- node->SetExtensionSpecifics(extension_specifics);
-}
-
-bool GetExtensionSpecificsFromEntity(
- const sync_pb::EntitySpecifics& entity_specifics,
- sync_pb::ExtensionSpecifics* extension_specifics) {
- if (!entity_specifics.HasExtension(sync_pb::extension)) {
- return false;
- }
- *extension_specifics = entity_specifics.GetExtension(sync_pb::extension);
- return true;
-}
-
-bool IsSyncableExtension(Extension::Type type, const GURL& update_url) {
- switch (type) {
- case Extension::TYPE_EXTENSION:
- return true;
- case Extension::TYPE_USER_SCRIPT:
- // We only want to sync user scripts with update URLs.
- return !update_url.is_empty();
- default:
- return false;
- }
-}
-
-bool IsValidAndSyncableExtension(const Extension& extension) {
- return
- IsExtensionValid(extension) &&
- IsSyncableExtension(extension.GetType(), extension.update_url());
-}
-
-} // namespace
-
-ExtensionSyncTraits GetExtensionSyncTraits() {
- return ExtensionSyncTraits(syncable::EXTENSIONS,
- &IsValidAndSyncableExtension,
- "google_chrome_extensions",
- &GetExtensionSpecifics,
- &SetExtensionSpecifics,
- &GetExtensionSpecificsFromEntity);
-}
-
-namespace {
-
-const sync_pb::ExtensionSpecifics& GetExtensionSpecificsOfApp(
- const sync_api::BaseNode& node) {
- return node.GetAppSpecifics().extension();
-}
-
-void SetExtensionSpecificsOfApp(
- const sync_pb::ExtensionSpecifics& extension_specifics,
- sync_api::WriteNode* node) {
- node->SetTitle(UTF8ToWide(extension_specifics.name()));
- sync_pb::AppSpecifics app_specifics;
- *app_specifics.mutable_extension() = extension_specifics;
- node->SetAppSpecifics(app_specifics);
-}
-
-bool GetExtensionSpecificsFromEntityOfApp(
- const sync_pb::EntitySpecifics& entity_specifics,
- sync_pb::ExtensionSpecifics* extension_specifics) {
- if (!entity_specifics.HasExtension(sync_pb::app)) {
- return false;
- }
- *extension_specifics =
- entity_specifics.GetExtension(sync_pb::app).extension();
- return true;
-}
-
-bool IsSyncableApp(Extension::Type type) {
- return
- (type == Extension::TYPE_HOSTED_APP) ||
- (type == Extension::TYPE_PACKAGED_APP);
-}
-
-bool IsValidAndSyncableApp(
- const Extension& extension) {
- return IsExtensionValid(extension) && IsSyncableApp(extension.GetType());
-}
-
-} // namespace
-
-ExtensionSyncTraits GetAppSyncTraits() {
- return ExtensionSyncTraits(syncable::APPS,
- &IsValidAndSyncableApp,
- "google_chrome_apps",
- &GetExtensionSpecificsOfApp,
- &SetExtensionSpecificsOfApp,
- &GetExtensionSpecificsFromEntityOfApp);
-}
-
-} // namespace browser_sync
« no previous file with comments | « chrome/browser/sync/glue/extension_sync_traits.h ('k') | chrome/browser/sync/glue/extension_util.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698