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

Side by Side Diff: chrome/common/extensions/chrome_extensions_client.cc

Issue 27446002: Move permission warning message handling from PermissionSet to PermissionMessageProvider. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 7 years, 2 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/common/extensions/chrome_extensions_client.h" 5 #include "chrome/common/extensions/chrome_extensions_client.h"
6 6
7 #include "chrome/common/extensions/chrome_manifest_handlers.h" 7 #include "chrome/common/extensions/chrome_manifest_handlers.h"
8 #include "chrome/common/extensions/features/base_feature_provider.h" 8 #include "chrome/common/extensions/features/base_feature_provider.h"
9 #include "chrome/common/url_constants.h" 9 #include "chrome/common/url_constants.h"
10 #include "content/public/common/url_constants.h" 10 #include "content/public/common/url_constants.h"
11 #include "extensions/common/permissions/permission_message.h" 11 #include "extensions/common/permissions/permission_message.h"
12 #include "extensions/common/url_pattern_set.h" 12 #include "extensions/common/url_pattern_set.h"
13 #include "grit/generated_resources.h" 13 #include "grit/generated_resources.h"
14 #include "ui/base/l10n/l10n_util.h" 14 #include "ui/base/l10n/l10n_util.h"
15 #include "url/gurl.h" 15 #include "url/gurl.h"
16 16
17 namespace extensions { 17 namespace extensions {
18 18
19 static base::LazyInstance<ChromeExtensionsClient> g_client = 19 static base::LazyInstance<ChromeExtensionsClient> g_client =
20 LAZY_INSTANCE_INITIALIZER; 20 LAZY_INSTANCE_INITIALIZER;
21 21
22 ChromeExtensionsClient::ChromeExtensionsClient() 22 ChromeExtensionsClient::ChromeExtensionsClient()
23 : chrome_api_permissions_(ChromeAPIPermissions()) { 23 : chrome_api_permissions_(ChromeAPIPermissions()) {
24 } 24 }
25 25
26 ChromeExtensionsClient::~ChromeExtensionsClient() { 26 ChromeExtensionsClient::~ChromeExtensionsClient() {
27 } 27 }
28 28
29 void ChromeExtensionsClient::Initialize() {
30 RegisterChromeManifestHandlers();
31 }
32
29 const PermissionsProvider& 33 const PermissionsProvider&
30 ChromeExtensionsClient::GetPermissionsProvider() const { 34 ChromeExtensionsClient::GetPermissionsProvider() const {
31 return chrome_api_permissions_; 35 return chrome_api_permissions_;
32 } 36 }
33 37
38 const PermissionMessageProvider&
39 ChromeExtensionsClient::GetPermissionMessageProvider() const {
40 return permission_message_provider_;
41 }
42
34 FeatureProvider* ChromeExtensionsClient::GetFeatureProviderByName( 43 FeatureProvider* ChromeExtensionsClient::GetFeatureProviderByName(
35 const std::string& name) const { 44 const std::string& name) const {
36 return BaseFeatureProvider::GetByName(name); 45 return BaseFeatureProvider::GetByName(name);
37 } 46 }
38 47
39 void ChromeExtensionsClient::RegisterManifestHandlers() const {
40 RegisterChromeManifestHandlers();
41 }
42
43 void ChromeExtensionsClient::FilterHostPermissions( 48 void ChromeExtensionsClient::FilterHostPermissions(
44 const URLPatternSet& hosts, 49 const URLPatternSet& hosts,
45 URLPatternSet* new_hosts, 50 URLPatternSet* new_hosts,
46 std::set<PermissionMessage>* messages) const { 51 std::set<PermissionMessage>* messages) const {
47 for (URLPatternSet::const_iterator i = hosts.begin(); 52 for (URLPatternSet::const_iterator i = hosts.begin();
48 i != hosts.end(); ++i) { 53 i != hosts.end(); ++i) {
49 // Filters out every URL pattern that matches chrome:// scheme. 54 // Filters out every URL pattern that matches chrome:// scheme.
50 if (i->scheme() == chrome::kChromeUIScheme) { 55 if (i->scheme() == chrome::kChromeUIScheme) {
51 // chrome://favicon is the only URL for chrome:// scheme that we 56 // chrome://favicon is the only URL for chrome:// scheme that we
52 // want to support. We want to deprecate the "chrome" scheme. 57 // want to support. We want to deprecate the "chrome" scheme.
53 // We should not add any additional "host" here. 58 // We should not add any additional "host" here.
54 if (GURL(chrome::kChromeUIFaviconURL).host() != i->host()) 59 if (GURL(chrome::kChromeUIFaviconURL).host() != i->host())
55 continue; 60 continue;
56 messages->insert(PermissionMessage( 61 messages->insert(PermissionMessage(
57 PermissionMessage::kFavicon, 62 PermissionMessage::kFavicon,
58 l10n_util::GetStringUTF16(IDS_EXTENSION_PROMPT_WARNING_FAVICON))); 63 l10n_util::GetStringUTF16(IDS_EXTENSION_PROMPT_WARNING_FAVICON)));
59 } else { 64 } else {
60 new_hosts->AddPattern(*i); 65 new_hosts->AddPattern(*i);
61 } 66 }
62 } 67 }
63 } 68 }
64 69
65 // static 70 // static
66 ChromeExtensionsClient* ChromeExtensionsClient::GetInstance() { 71 ChromeExtensionsClient* ChromeExtensionsClient::GetInstance() {
67 return g_client.Pointer(); 72 return g_client.Pointer();
68 } 73 }
69 74
70 } // namespace extensions 75 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698