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

Side by Side Diff: chrome/common/extensions/extension.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: . 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
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/common/extensions/extension.h" 5 #include "chrome/common/extensions/extension.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 8
9 #include "base/base64.h" 9 #include "base/base64.h"
10 #include "base/basictypes.h" 10 #include "base/basictypes.h"
(...skipping 2806 matching lines...) Expand 10 before | Expand all | Expand 10 after
2817 return false; 2817 return false;
2818 origin_only_pattern.SetHost(origin.host()); 2818 origin_only_pattern.SetHost(origin.host());
2819 origin_only_pattern.SetPath("/*"); 2819 origin_only_pattern.SetPath("/*");
2820 2820
2821 URLPatternSet origin_only_pattern_list; 2821 URLPatternSet origin_only_pattern_list;
2822 origin_only_pattern_list.AddPattern(origin_only_pattern); 2822 origin_only_pattern_list.AddPattern(origin_only_pattern);
2823 2823
2824 return web_extent().OverlapsWith(origin_only_pattern_list); 2824 return web_extent().OverlapsWith(origin_only_pattern_list);
2825 } 2825 }
2826 2826
2827 Extension::SyncType Extension::GetSyncType() const {
2828 // TODO(akalin): Figure out if we need to allow some other types.
2829 if (location() != Extension::INTERNAL) {
2830 // We have a non-standard location.
2831 return SYNC_TYPE_NONE;
2832 }
2833
2834 // Disallow extensions with non-gallery auto-update URLs for now.
2835 //
2836 // TODO(akalin): Relax this restriction once we've put in UI to
2837 // approve synced extensions.
2838 if (!update_url().is_empty() &&
2839 (update_url() != GalleryUpdateUrl(false)) &&
2840 (update_url() != GalleryUpdateUrl(true))) {
2841 return SYNC_TYPE_NONE;
2842 }
2843
2844 // Disallow extensions with native code plugins.
2845 //
2846 // TODO(akalin): Relax this restriction once we've put in UI to
2847 // approve synced extensions.
2848 if (!plugins().empty()) {
2849 return SYNC_TYPE_NONE;
2850 }
2851
2852 switch (GetType()) {
2853 case Extension::TYPE_EXTENSION:
2854 return SYNC_TYPE_EXTENSION;
2855
2856 case Extension::TYPE_USER_SCRIPT:
2857 // We only want to sync user scripts with update URLs.
akalin 2011/08/12 03:35:02 clarify that we want to sync user scripts with gal
2858 if (update_url().is_empty())
2859 return SYNC_TYPE_NONE;
2860 else
2861 return SYNC_TYPE_EXTENSION;
2862
2863 case Extension::TYPE_HOSTED_APP:
2864 case Extension::TYPE_PACKAGED_APP:
2865 return SYNC_TYPE_APP;
2866
2867 default:
2868 return SYNC_TYPE_NONE;
2869 }
2870 }
2871
2827 ExtensionInfo::ExtensionInfo(const DictionaryValue* manifest, 2872 ExtensionInfo::ExtensionInfo(const DictionaryValue* manifest,
2828 const std::string& id, 2873 const std::string& id,
2829 const FilePath& path, 2874 const FilePath& path,
2830 Extension::Location location) 2875 Extension::Location location)
2831 : extension_id(id), 2876 : extension_id(id),
2832 extension_path(path), 2877 extension_path(path),
2833 extension_location(location) { 2878 extension_location(location) {
2834 if (manifest) 2879 if (manifest)
2835 extension_manifest.reset(manifest->DeepCopy()); 2880 extension_manifest.reset(manifest->DeepCopy());
2836 } 2881 }
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
2870 already_disabled(false), 2915 already_disabled(false),
2871 extension(extension) {} 2916 extension(extension) {}
2872 2917
2873 UpdatedExtensionPermissionsInfo::UpdatedExtensionPermissionsInfo( 2918 UpdatedExtensionPermissionsInfo::UpdatedExtensionPermissionsInfo(
2874 const Extension* extension, 2919 const Extension* extension,
2875 const ExtensionPermissionSet* permissions, 2920 const ExtensionPermissionSet* permissions,
2876 Reason reason) 2921 Reason reason)
2877 : reason(reason), 2922 : reason(reason),
2878 extension(extension), 2923 extension(extension),
2879 permissions(permissions) {} 2924 permissions(permissions) {}
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698