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

Side by Side Diff: chrome/browser/extensions/extension_sync_service.cc

Issue 323843003: Add a do_not_sync pref to ExtensionPrefs. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: for comments in #2 Created 6 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 | Annotate | Revision Log
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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/extensions/extension_sync_service.h" 5 #include "chrome/browser/extensions/extension_sync_service.h"
6 6
7 #include <iterator> 7 #include <iterator>
8 8
9 #include "base/basictypes.h" 9 #include "base/basictypes.h"
10 #include "base/strings/utf_string_conversions.h" 10 #include "base/strings/utf_string_conversions.h"
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after
125 } 125 }
126 } 126 }
127 127
128 void ExtensionSyncService::SyncEnableExtension( 128 void ExtensionSyncService::SyncEnableExtension(
129 const extensions::Extension& extension) { 129 const extensions::Extension& extension) {
130 130
131 // Syncing may not have started yet, so handle pending enables. 131 // Syncing may not have started yet, so handle pending enables.
132 if (extensions::util::ShouldSyncApp(&extension, profile_)) 132 if (extensions::util::ShouldSyncApp(&extension, profile_))
133 pending_app_enables_.OnExtensionEnabled(extension.id()); 133 pending_app_enables_.OnExtensionEnabled(extension.id());
134 134
135 if (extensions::sync_helper::IsSyncableExtension(&extension)) 135 if (extensions::util::ShouldSyncExtension(&extension, profile_))
136 pending_extension_enables_.OnExtensionEnabled(extension.id()); 136 pending_extension_enables_.OnExtensionEnabled(extension.id());
137 137
138 SyncExtensionChangeIfNeeded(extension); 138 SyncExtensionChangeIfNeeded(extension);
139 } 139 }
140 140
141 void ExtensionSyncService::SyncDisableExtension( 141 void ExtensionSyncService::SyncDisableExtension(
142 const extensions::Extension& extension) { 142 const extensions::Extension& extension) {
143 143
144 // Syncing may not have started yet, so handle pending enables. 144 // Syncing may not have started yet, so handle pending enables.
145 if (extensions::util::ShouldSyncApp(&extension, profile_)) 145 if (extensions::util::ShouldSyncApp(&extension, profile_))
146 pending_app_enables_.OnExtensionDisabled(extension.id()); 146 pending_app_enables_.OnExtensionDisabled(extension.id());
147 147
148 if (extensions::sync_helper::IsSyncableExtension(&extension)) 148 if (extensions::util::ShouldSyncExtension(&extension, profile_))
149 pending_extension_enables_.OnExtensionDisabled(extension.id()); 149 pending_extension_enables_.OnExtensionDisabled(extension.id());
150 150
151 SyncExtensionChangeIfNeeded(extension); 151 SyncExtensionChangeIfNeeded(extension);
152 } 152 }
153 153
154 syncer::SyncMergeResult ExtensionSyncService::MergeDataAndStartSyncing( 154 syncer::SyncMergeResult ExtensionSyncService::MergeDataAndStartSyncing(
155 syncer::ModelType type, 155 syncer::ModelType type,
156 const syncer::SyncDataList& initial_sync_data, 156 const syncer::SyncDataList& initial_sync_data,
157 scoped_ptr<syncer::SyncChangeProcessor> sync_processor, 157 scoped_ptr<syncer::SyncChangeProcessor> sync_processor,
158 scoped_ptr<syncer::SyncErrorFactory> sync_error_factory) { 158 scoped_ptr<syncer::SyncErrorFactory> sync_error_factory) {
(...skipping 308 matching lines...) Expand 10 before | Expand all | Expand 10 after
467 467
468 // Set user settings. 468 // Set user settings.
469 // If the extension has been disabled from sync, it may not have 469 // If the extension has been disabled from sync, it may not have
470 // been installed yet, so we don't know if the disable reason was a 470 // been installed yet, so we don't know if the disable reason was a
471 // permissions increase. That will be updated once CheckPermissionsIncrease 471 // permissions increase. That will be updated once CheckPermissionsIncrease
472 // is called for it. 472 // is called for it.
473 // However if the extension is marked as a remote install in sync, we know 473 // However if the extension is marked as a remote install in sync, we know
474 // what the disable reason is, so set it to that directly. Note that when 474 // what the disable reason is, so set it to that directly. Note that when
475 // CheckPermissionsIncrease runs, it might still add permissions increase 475 // CheckPermissionsIncrease runs, it might still add permissions increase
476 // as a disable reason for the extension. 476 // as a disable reason for the extension.
477 if (extension_sync_data.enabled()) 477 if (extension_sync_data.enabled()) {
478 extension_service_->EnableExtension(id); 478 extension_service_->EnableExtension(id);
479 else if (!IsPendingEnable(id)) { 479 } else if (!IsPendingEnable(id)) {
480 if (extension_sync_data.remote_install()) { 480 if (extension_sync_data.remote_install()) {
481 extension_service_->DisableExtension(id, 481 extension_service_->DisableExtension(id,
482 Extension::DISABLE_REMOTE_INSTALL); 482 Extension::DISABLE_REMOTE_INSTALL);
483 } else { 483 } else {
484 extension_service_->DisableExtension( 484 extension_service_->DisableExtension(
485 id, Extension::DISABLE_UNKNOWN_FROM_SYNC); 485 id, Extension::DISABLE_UNKNOWN_FROM_SYNC);
486 } 486 }
487 } 487 }
488 488
489 // We need to cache some version information here because setting the 489 // We need to cache some version information here because setting the
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
539 return true; 539 return true;
540 } 540 }
541 541
542 void ExtensionSyncService::SyncExtensionChangeIfNeeded( 542 void ExtensionSyncService::SyncExtensionChangeIfNeeded(
543 const Extension& extension) { 543 const Extension& extension) {
544 if (extensions::util::ShouldSyncApp(&extension, profile_)) { 544 if (extensions::util::ShouldSyncApp(&extension, profile_)) {
545 if (app_sync_bundle_.IsSyncing()) 545 if (app_sync_bundle_.IsSyncing())
546 app_sync_bundle_.SyncChangeIfNeeded(extension); 546 app_sync_bundle_.SyncChangeIfNeeded(extension);
547 else if (extension_service_->is_ready() && !flare_.is_null()) 547 else if (extension_service_->is_ready() && !flare_.is_null())
548 flare_.Run(syncer::APPS); 548 flare_.Run(syncer::APPS);
549 } else if (extensions::sync_helper::IsSyncableExtension(&extension)) { 549 } else if (extensions::util::ShouldSyncExtension(&extension, profile_)) {
550 if (extension_sync_bundle_.IsSyncing()) 550 if (extension_sync_bundle_.IsSyncing())
551 extension_sync_bundle_.SyncChangeIfNeeded(extension); 551 extension_sync_bundle_.SyncChangeIfNeeded(extension);
552 else if (extension_service_->is_ready() && !flare_.is_null()) 552 else if (extension_service_->is_ready() && !flare_.is_null())
553 flare_.Run(syncer::EXTENSIONS); 553 flare_.Run(syncer::EXTENSIONS);
554 } 554 }
555 } 555 }
OLDNEW
« no previous file with comments | « chrome/browser/extensions/extension_sync_bundle.cc ('k') | chrome/browser/extensions/extension_util.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698