| OLD | NEW |
| 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 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/ui/omnibox/location_bar.h" | 5 #include "chrome/browser/ui/omnibox/location_bar.h" |
| 6 | 6 |
| 7 #include "chrome/browser/extensions/extension_service.h" | 7 #include "chrome/browser/extensions/extension_service.h" |
| 8 #include "chrome/browser/extensions/extension_system.h" | |
| 9 #include "chrome/browser/profiles/profile.h" | 8 #include "chrome/browser/profiles/profile.h" |
| 10 #include "chrome/common/extensions/manifest_handlers/settings_overrides_handler.
h" | 9 #include "chrome/common/extensions/manifest_handlers/settings_overrides_handler.
h" |
| 10 #include "extensions/browser/extension_system.h" |
| 11 #include "extensions/common/extension_set.h" | 11 #include "extensions/common/extension_set.h" |
| 12 #include "extensions/common/feature_switch.h" | 12 #include "extensions/common/feature_switch.h" |
| 13 #include "extensions/common/permissions/permissions_data.h" | 13 #include "extensions/common/permissions/permissions_data.h" |
| 14 | 14 |
| 15 | 15 |
| 16 LocationBar::LocationBar(Profile* profile) : profile_(profile) { | 16 LocationBar::LocationBar(Profile* profile) : profile_(profile) { |
| 17 } | 17 } |
| 18 | 18 |
| 19 LocationBar::~LocationBar() { | 19 LocationBar::~LocationBar() { |
| 20 } | 20 } |
| 21 | 21 |
| 22 bool LocationBar::IsBookmarkStarHiddenByExtension() const { | 22 bool LocationBar::IsBookmarkStarHiddenByExtension() const { |
| 23 const ExtensionService* extension_service = | 23 const ExtensionService* extension_service = |
| 24 extensions::ExtensionSystem::GetForBrowserContext( | 24 extensions::ExtensionSystem::Get(profile_)->extension_service(); |
| 25 profile_)->extension_service(); | |
| 26 // Extension service may be NULL during unit test execution. | 25 // Extension service may be NULL during unit test execution. |
| 27 if (!extension_service) | 26 if (!extension_service) |
| 28 return false; | 27 return false; |
| 29 | 28 |
| 30 const extensions::ExtensionSet* extension_set = | 29 const extensions::ExtensionSet* extension_set = |
| 31 extension_service->extensions(); | 30 extension_service->extensions(); |
| 32 for (extensions::ExtensionSet::const_iterator i = extension_set->begin(); | 31 for (extensions::ExtensionSet::const_iterator i = extension_set->begin(); |
| 33 i != extension_set->end(); ++i) { | 32 i != extension_set->end(); ++i) { |
| 34 const extensions::SettingsOverrides* settings_overrides = | 33 const extensions::SettingsOverrides* settings_overrides = |
| 35 extensions::SettingsOverrides::Get(i->get()); | 34 extensions::SettingsOverrides::Get(i->get()); |
| 36 if (settings_overrides && settings_overrides->RemovesBookmarkButton() && | 35 if (settings_overrides && settings_overrides->RemovesBookmarkButton() && |
| 37 (extensions::PermissionsData::HasAPIPermission( | 36 (extensions::PermissionsData::HasAPIPermission( |
| 38 *i, | 37 *i, |
| 39 extensions::APIPermission::kBookmarkManagerPrivate) || | 38 extensions::APIPermission::kBookmarkManagerPrivate) || |
| 40 extensions::FeatureSwitch::enable_override_bookmarks_ui()-> | 39 extensions::FeatureSwitch::enable_override_bookmarks_ui()-> |
| 41 IsEnabled())) | 40 IsEnabled())) |
| 42 return true; | 41 return true; |
| 43 } | 42 } |
| 44 | 43 |
| 45 return false; | 44 return false; |
| 46 } | 45 } |
| OLD | NEW |