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 "chrome/common/extensions/extension_constants.h" | 7 #include "chrome/common/extensions/extension_constants.h" |
8 #include "chrome/common/extensions/manifest_handlers/app_isolation_info.h" | 8 #include "chrome/common/extensions/manifest_handlers/app_isolation_info.h" |
| 9 #include "extensions/common/constants.h" |
9 #include "extensions/common/extension.h" | 10 #include "extensions/common/extension.h" |
10 #include "extensions/common/extension_set.h" | 11 #include "extensions/common/extension_set.h" |
11 | 12 |
12 namespace extensions { | 13 namespace extensions { |
13 | 14 |
14 const extensions::Extension* GetNonBookmarkAppExtension( | 15 const extensions::Extension* GetNonBookmarkAppExtension( |
15 const ExtensionSet& extensions, const GURL& url) { | 16 const ExtensionSet& extensions, const GURL& url) { |
16 // Exclude bookmark apps, which do not use the app process model. | 17 // Exclude bookmark apps, which do not use the app process model. |
17 const extensions::Extension* extension = | 18 const extensions::Extension* extension = |
18 extensions.GetExtensionOrAppByURL(url); | 19 extensions.GetExtensionOrAppByURL(url); |
(...skipping 24 matching lines...) Expand all Loading... |
43 // process separation from non-app pages. | 44 // process separation from non-app pages. |
44 if (should_consider_workaround) { | 45 if (should_consider_workaround) { |
45 bool old_url_is_hosted_app = old_url_extension && | 46 bool old_url_is_hosted_app = old_url_extension && |
46 !old_url_extension->web_extent().is_empty() && | 47 !old_url_extension->web_extent().is_empty() && |
47 !AppIsolationInfo::HasIsolatedStorage(old_url_extension); | 48 !AppIsolationInfo::HasIsolatedStorage(old_url_extension); |
48 bool new_url_is_normal_or_hosted = !new_url_extension || | 49 bool new_url_is_normal_or_hosted = !new_url_extension || |
49 (!new_url_extension->web_extent().is_empty() && | 50 (!new_url_extension->web_extent().is_empty() && |
50 !AppIsolationInfo::HasIsolatedStorage(new_url_extension)); | 51 !AppIsolationInfo::HasIsolatedStorage(new_url_extension)); |
51 bool either_is_web_store = | 52 bool either_is_web_store = |
52 (old_url_extension && | 53 (old_url_extension && |
53 old_url_extension->id() == extension_misc::kWebStoreAppId) || | 54 old_url_extension->id() == extensions::kWebStoreAppId) || |
54 (new_url_extension && | 55 (new_url_extension && |
55 new_url_extension->id() == extension_misc::kWebStoreAppId); | 56 new_url_extension->id() == extensions::kWebStoreAppId); |
56 if (old_url_is_hosted_app && | 57 if (old_url_is_hosted_app && |
57 new_url_is_normal_or_hosted && | 58 new_url_is_normal_or_hosted && |
58 !either_is_web_store) | 59 !either_is_web_store) |
59 return false; | 60 return false; |
60 } | 61 } |
61 | 62 |
62 return old_url_extension != new_url_extension; | 63 return old_url_extension != new_url_extension; |
63 } | 64 } |
64 | 65 |
65 } // namespace extensions | 66 } // namespace extensions |
OLD | NEW |