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

Side by Side Diff: chrome/common/extensions/api/plugins/plugins_handler.cc

Issue 1581473002: Remove base/win/metro.{cc|h} and some associated code (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fixes Created 4 years, 11 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
OLDNEW
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/common/extensions/api/plugins/plugins_handler.h" 5 #include "chrome/common/extensions/api/plugins/plugins_handler.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include "base/files/file_util.h" 9 #include "base/files/file_util.h"
10 #include "base/strings/string_number_conversions.h" 10 #include "base/strings/string_number_conversions.h"
11 #include "base/strings/utf_string_conversions.h" 11 #include "base/strings/utf_string_conversions.h"
12 #include "base/values.h" 12 #include "base/values.h"
13 #include "build/build_config.h" 13 #include "build/build_config.h"
14 #include "chrome/grit/generated_resources.h" 14 #include "chrome/grit/generated_resources.h"
15 #include "extensions/common/error_utils.h" 15 #include "extensions/common/error_utils.h"
16 #include "extensions/common/manifest.h" 16 #include "extensions/common/manifest.h"
17 #include "extensions/common/manifest_constants.h" 17 #include "extensions/common/manifest_constants.h"
18 #include "extensions/common/manifest_handlers/permissions_parser.h" 18 #include "extensions/common/manifest_handlers/permissions_parser.h"
19 #include "extensions/common/permissions/api_permission.h" 19 #include "extensions/common/permissions/api_permission.h"
20 #include "extensions/common/permissions/api_permission_set.h" 20 #include "extensions/common/permissions/api_permission_set.h"
21 #include "ui/base/l10n/l10n_util.h" 21 #include "ui/base/l10n/l10n_util.h"
22 22
23 #if defined(OS_WIN)
24 #include "base/win/metro.h"
25 #endif
26
27 namespace extensions { 23 namespace extensions {
28 24
29 namespace keys = manifest_keys; 25 namespace keys = manifest_keys;
30 26
31 namespace { 27 namespace {
32 28
33 struct PluginManifestData : Extension::ManifestData { 29 struct PluginManifestData : Extension::ManifestData {
34 // Optional list of NPAPI plugins and associated properties for an extension. 30 // Optional list of NPAPI plugins and associated properties for an extension.
35 PluginInfo::PluginVector plugins; 31 PluginInfo::PluginVector plugins;
36 }; 32 };
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
95 // Get plugins[i].content (optional). 91 // Get plugins[i].content (optional).
96 bool is_public = false; 92 bool is_public = false;
97 if (plugin_value->HasKey(keys::kPluginsPublic)) { 93 if (plugin_value->HasKey(keys::kPluginsPublic)) {
98 if (!plugin_value->GetBoolean(keys::kPluginsPublic, &is_public)) { 94 if (!plugin_value->GetBoolean(keys::kPluginsPublic, &is_public)) {
99 *error = ErrorUtils::FormatErrorMessageUTF16( 95 *error = ErrorUtils::FormatErrorMessageUTF16(
100 manifest_errors::kInvalidPluginsPublic, base::SizeTToString(i)); 96 manifest_errors::kInvalidPluginsPublic, base::SizeTToString(i));
101 return false; 97 return false;
102 } 98 }
103 } 99 }
104 100
105 // We don't allow extensions to load NPAPI plugins on Chrome OS, or under 101 // We don't allow extensions to load NPAPI plugins on Chrome OS, but still
106 // Windows 8 Metro mode, but still parse the entries to display consistent 102 // parse the entries to display consistent error messages. If the extension
107 // error messages. If the extension actually requires the plugins then 103 // actually requires the plugins then LoadRequirements will prevent it
108 // LoadRequirements will prevent it loading. 104 // loading.
109 #if defined(OS_CHROMEOS) 105 #if defined(OS_CHROMEOS)
110 continue; 106 continue;
111 #elif defined(OS_WIN) 107 #endif // defined(OS_CHROMEOS).
112 if (base::win::IsMetroProcess()) {
113 continue;
114 }
115 #endif // defined(OS_WIN).
116 plugins_data->plugins.push_back(PluginInfo( 108 plugins_data->plugins.push_back(PluginInfo(
117 extension->path().Append(base::FilePath::FromUTF8Unsafe(path_str)), 109 extension->path().Append(base::FilePath::FromUTF8Unsafe(path_str)),
118 is_public)); 110 is_public));
119 } 111 }
120 112
121 if (!plugins_data->plugins.empty()) { 113 if (!plugins_data->plugins.empty()) {
122 extension->SetManifestData(keys::kPlugins, plugins_data.release()); 114 extension->SetManifestData(keys::kPlugins, plugins_data.release());
123 PermissionsParser::AddAPIPermission(extension, APIPermission::kPlugin); 115 PermissionsParser::AddAPIPermission(extension, APIPermission::kPlugin);
124 } 116 }
125 117
(...skipping 16 matching lines...) Expand all
142 IDS_EXTENSION_LOAD_PLUGIN_PATH_FAILED, 134 IDS_EXTENSION_LOAD_PLUGIN_PATH_FAILED,
143 plugin->path.LossyDisplayName()); 135 plugin->path.LossyDisplayName());
144 return false; 136 return false;
145 } 137 }
146 } 138 }
147 } 139 }
148 return true; 140 return true;
149 } 141 }
150 142
151 } // namespace extensions 143 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698