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 #include "chrome/browser/chromeos/extensions/file_manager/file_manager_util.h" | 4 #include "chrome/browser/chromeos/extensions/file_manager/file_manager_util.h" |
5 | 5 |
6 #include "ash/shell.h" | 6 #include "ash/shell.h" |
7 #include "base/bind.h" | 7 #include "base/bind.h" |
8 #include "base/command_line.h" | 8 #include "base/command_line.h" |
9 #include "base/json/json_writer.h" | 9 #include "base/json/json_writer.h" |
10 #include "base/logging.h" | 10 #include "base/logging.h" |
(...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
124 return base::strcasecmp(file_extension, kCRXExtension) == 0; | 124 return base::strcasecmp(file_extension, kCRXExtension) == 0; |
125 } | 125 } |
126 | 126 |
127 bool IsPepperPluginEnabled(Profile* profile, | 127 bool IsPepperPluginEnabled(Profile* profile, |
128 const base::FilePath& plugin_path) { | 128 const base::FilePath& plugin_path) { |
129 content::PepperPluginInfo* pepper_info = | 129 content::PepperPluginInfo* pepper_info = |
130 PluginService::GetInstance()->GetRegisteredPpapiPluginInfo(plugin_path); | 130 PluginService::GetInstance()->GetRegisteredPpapiPluginInfo(plugin_path); |
131 if (!pepper_info) | 131 if (!pepper_info) |
132 return false; | 132 return false; |
133 | 133 |
134 PluginPrefs* plugin_prefs = PluginPrefs::GetForProfile(profile); | 134 scoped_refptr<PluginPrefs> plugin_prefs = PluginPrefs::GetForProfile(profile); |
135 if (!plugin_prefs) | 135 if (!plugin_prefs.get()) |
136 return false; | 136 return false; |
137 | 137 |
138 return plugin_prefs->IsPluginEnabled(pepper_info->ToWebPluginInfo()); | 138 return plugin_prefs->IsPluginEnabled(pepper_info->ToWebPluginInfo()); |
139 } | 139 } |
140 | 140 |
141 bool IsPdfPluginEnabled(Profile* profile) { | 141 bool IsPdfPluginEnabled(Profile* profile) { |
142 base::FilePath plugin_path; | 142 base::FilePath plugin_path; |
143 PathService::Get(chrome::FILE_PDF_PLUGIN, &plugin_path); | 143 PathService::Get(chrome::FILE_PDF_PLUGIN, &plugin_path); |
144 return IsPepperPluginEnabled(profile, plugin_path); | 144 return IsPepperPluginEnabled(profile, plugin_path); |
145 } | 145 } |
(...skipping 195 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
341 files.insert(std::make_pair(path, mime_type)); | 341 files.insert(std::make_pair(path, mime_type)); |
342 const extensions::FileHandlerInfo* first_handler = NULL; | 342 const extensions::FileHandlerInfo* first_handler = NULL; |
343 const extensions::Extension* extension_for_first_handler = NULL; | 343 const extensions::Extension* extension_for_first_handler = NULL; |
344 | 344 |
345 // If we find the default handler, we execute it immediately, but otherwise, | 345 // If we find the default handler, we execute it immediately, but otherwise, |
346 // we remember the first handler, and if there was no default handler, simply | 346 // we remember the first handler, and if there was no default handler, simply |
347 // execute the first one. | 347 // execute the first one. |
348 for (ExtensionSet::const_iterator iter = service->extensions()->begin(); | 348 for (ExtensionSet::const_iterator iter = service->extensions()->begin(); |
349 iter != service->extensions()->end(); | 349 iter != service->extensions()->end(); |
350 ++iter) { | 350 ++iter) { |
351 const Extension* extension = *iter; | 351 const Extension* extension = iter->get(); |
352 | 352 |
353 // We don't support using hosted apps to open files. | 353 // We don't support using hosted apps to open files. |
354 if (!extension->is_platform_app()) | 354 if (!extension->is_platform_app()) |
355 continue; | 355 continue; |
356 | 356 |
357 // We only support apps that specify "incognito: split" if in incognito | 357 // We only support apps that specify "incognito: split" if in incognito |
358 // mode. | 358 // mode. |
359 if (profile->IsOffTheRecord() && | 359 if (profile->IsOffTheRecord() && |
360 !service->IsIncognitoEnabled(extension->id())) | 360 !service->IsIncognitoEnabled(extension->id())) |
361 continue; | 361 continue; |
(...skipping 493 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
855 // If the file doesn't have an extension or its mime-type cannot be | 855 // If the file doesn't have an extension or its mime-type cannot be |
856 // determined, then indicate that it has the empty mime-type. This will | 856 // determined, then indicate that it has the empty mime-type. This will |
857 // only be matched if the Web Intents accepts "*" or "*/*". | 857 // only be matched if the Web Intents accepts "*" or "*/*". |
858 return ""; | 858 return ""; |
859 } else { | 859 } else { |
860 return mime_type; | 860 return mime_type; |
861 } | 861 } |
862 } | 862 } |
863 | 863 |
864 } // namespace file_manager_util | 864 } // namespace file_manager_util |
OLD | NEW |