| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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_process_policy.h" | 5 #include "chrome/common/extensions/extension_process_policy.h" |
| 6 | 6 |
| 7 #include "base/command_line.h" | |
| 8 #include "base/metrics/field_trial.h" | |
| 9 #include "base/strings/string_util.h" | 7 #include "base/strings/string_util.h" |
| 10 #include "chrome/common/extensions/extension_constants.h" | 8 #include "chrome/common/extensions/extension_constants.h" |
| 11 #include "content/public/common/content_switches.h" | |
| 12 #include "extensions/common/constants.h" | 9 #include "extensions/common/constants.h" |
| 13 #include "extensions/common/extension.h" | 10 #include "extensions/common/extension.h" |
| 14 #include "extensions/common/extension_set.h" | 11 #include "extensions/common/extension_set.h" |
| 15 #include "extensions/common/manifest_handlers/app_isolation_info.h" | 12 #include "extensions/common/manifest_handlers/app_isolation_info.h" |
| 16 #include "extensions/common/switches.h" | 13 #include "extensions/common/switches.h" |
| 17 | 14 |
| 18 namespace extensions { | 15 namespace extensions { |
| 19 | 16 |
| 20 const extensions::Extension* GetNonBookmarkAppExtension( | 17 const extensions::Extension* GetNonBookmarkAppExtension( |
| 21 const ExtensionSet& extensions, const GURL& url) { | 18 const ExtensionSet& extensions, const GURL& url) { |
| (...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 61 new_url_extension->id() == extensions::kWebStoreAppId); | 58 new_url_extension->id() == extensions::kWebStoreAppId); |
| 62 if (old_url_is_hosted_app && | 59 if (old_url_is_hosted_app && |
| 63 new_url_is_normal_or_hosted && | 60 new_url_is_normal_or_hosted && |
| 64 !either_is_web_store) | 61 !either_is_web_store) |
| 65 return false; | 62 return false; |
| 66 } | 63 } |
| 67 | 64 |
| 68 return old_url_extension != new_url_extension; | 65 return old_url_extension != new_url_extension; |
| 69 } | 66 } |
| 70 | 67 |
| 71 bool IsIsolateExtensionsEnabled() { | |
| 72 if (base::CommandLine::ForCurrentProcess()->HasSwitch( | |
| 73 switches::kIsolateExtensions) || | |
| 74 base::CommandLine::ForCurrentProcess()->HasSwitch( | |
| 75 ::switches::kSitePerProcess)) { | |
| 76 return true; | |
| 77 } | |
| 78 | |
| 79 const std::string group_name = | |
| 80 base::FieldTrialList::FindFullName("SiteIsolationExtensions"); | |
| 81 // Use StartsWith() for more flexibility (e.g. multiple Enabled groups). | |
| 82 return !base::StartsWith(group_name, "Control", | |
| 83 base::CompareCase::INSENSITIVE_ASCII); | |
| 84 } | |
| 85 | |
| 86 } // namespace extensions | 68 } // namespace extensions |
| OLD | NEW |