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_util.h" | 4 #include "chrome/browser/chromeos/extensions/file_manager_util.h" |
5 | 5 |
6 #include "base/bind.h" | 6 #include "base/bind.h" |
7 #include "base/json/json_writer.h" | 7 #include "base/json/json_writer.h" |
8 #include "base/logging.h" | 8 #include "base/logging.h" |
9 #include "base/metrics/histogram.h" | 9 #include "base/metrics/histogram.h" |
10 #include "base/path_service.h" | 10 #include "base/path_service.h" |
(...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
115 return true; | 115 return true; |
116 } | 116 } |
117 } | 117 } |
118 return false; | 118 return false; |
119 } | 119 } |
120 | 120 |
121 bool IsCRXFile(const char* file_extension) { | 121 bool IsCRXFile(const char* file_extension) { |
122 return base::strcasecmp(file_extension, kCRXExtension) == 0; | 122 return base::strcasecmp(file_extension, kCRXExtension) == 0; |
123 } | 123 } |
124 | 124 |
| 125 // If pdf plugin is enabled, we should open pdf files in a tab. |
| 126 bool ShouldBeOpenedWithPdfPlugin(const char* file_extension) { |
| 127 if (base::strcasecmp(file_extension, kPdfExtension) != 0) |
| 128 return false; |
| 129 |
| 130 Browser* browser = BrowserList::GetLastActive(); |
| 131 if (!browser) |
| 132 return false; |
| 133 |
| 134 FilePath pdf_path; |
| 135 PathService::Get(chrome::FILE_PDF_PLUGIN, &pdf_path); |
| 136 |
| 137 webkit::WebPluginInfo plugin; |
| 138 if (!PluginService::GetInstance()->GetPluginInfoByPath(pdf_path, &plugin)) |
| 139 return false; |
| 140 |
| 141 PluginPrefs* plugin_prefs = PluginPrefs::GetForProfile(browser->profile()); |
| 142 if (!plugin_prefs) |
| 143 return false; |
| 144 |
| 145 return plugin_prefs->IsPluginEnabled(plugin); |
| 146 } |
| 147 |
125 // Returns index |ext| has in the |array|. If there is no |ext| in |array|, last | 148 // Returns index |ext| has in the |array|. If there is no |ext| in |array|, last |
126 // element's index is return (last element should have irrelevant value). | 149 // element's index is return (last element should have irrelevant value). |
127 int UMAExtensionIndex(const char *file_extension, | 150 int UMAExtensionIndex(const char *file_extension, |
128 const char** array, | 151 const char** array, |
129 size_t array_size) { | 152 size_t array_size) { |
130 for (size_t i = 0; i < array_size; i++) { | 153 for (size_t i = 0; i < array_size; i++) { |
131 if (base::strcasecmp(file_extension, array[i]) == 0) { | 154 if (base::strcasecmp(file_extension, array[i]) == 0) { |
132 return i; | 155 return i; |
133 } | 156 } |
134 } | 157 } |
(...skipping 303 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
438 if (!service) | 461 if (!service) |
439 return; | 462 return; |
440 | 463 |
441 scoped_refptr<CrxInstaller> installer(CrxInstaller::Create(service, | 464 scoped_refptr<CrxInstaller> installer(CrxInstaller::Create(service, |
442 new ExtensionInstallUI(profile))); | 465 new ExtensionInstallUI(profile))); |
443 installer->set_is_gallery_install(false); | 466 installer->set_is_gallery_install(false); |
444 installer->set_allow_silent_install(false); | 467 installer->set_allow_silent_install(false); |
445 installer->InstallCrx(full_path); | 468 installer->InstallCrx(full_path); |
446 } | 469 } |
447 | 470 |
448 // If pdf plugin is enabled, we should open pdf files in a tab. | |
449 bool ShouldBeOpenedWithPdfPlugin(const char* file_extension) { | |
450 if (base::strcasecmp(file_extension, kPdfExtension) != 0) | |
451 return false; | |
452 | |
453 Browser* browser = BrowserList::GetLastActive(); | |
454 if (!browser) | |
455 return false; | |
456 | |
457 FilePath pdf_path; | |
458 PathService::Get(chrome::FILE_PDF_PLUGIN, &pdf_path); | |
459 | |
460 webkit::WebPluginInfo plugin; | |
461 if (!PluginService::GetInstance()->GetPluginInfoByPath(pdf_path, &plugin)) | |
462 return false; | |
463 | |
464 PluginPrefs* plugin_prefs = PluginPrefs::GetForProfile(browser->profile()); | |
465 if (!plugin_prefs) | |
466 return false; | |
467 | |
468 return plugin_prefs->IsPluginEnabled(plugin); | |
469 } | |
470 | |
471 } // namespace file_manager_util | 471 } // namespace file_manager_util |
OLD | NEW |