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

Side by Side Diff: chrome/browser/chromeos/extensions/file_manager_util.cc

Issue 9395077: [filebrowser] Introduce View action for supported file types (e.g. pdf). (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 8 years, 9 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 (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
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
148 // Returns index |ext| has in the |array|. If there is no |ext| in |array|, last 125 // Returns index |ext| has in the |array|. If there is no |ext| in |array|, last
149 // element's index is return (last element should have irrelevant value). 126 // element's index is return (last element should have irrelevant value).
150 int UMAExtensionIndex(const char *file_extension, 127 int UMAExtensionIndex(const char *file_extension,
151 const char** array, 128 const char** array,
152 size_t array_size) { 129 size_t array_size) {
153 for (size_t i = 0; i < array_size; i++) { 130 for (size_t i = 0; i < array_size; i++) {
154 if (base::strcasecmp(file_extension, array[i]) == 0) { 131 if (base::strcasecmp(file_extension, array[i]) == 0) {
155 return i; 132 return i;
156 } 133 }
157 } 134 }
(...skipping 303 matching lines...) Expand 10 before | Expand all | Expand 10 after
461 if (!service) 438 if (!service)
462 return; 439 return;
463 440
464 scoped_refptr<CrxInstaller> installer(CrxInstaller::Create(service, 441 scoped_refptr<CrxInstaller> installer(CrxInstaller::Create(service,
465 new ExtensionInstallUI(profile))); 442 new ExtensionInstallUI(profile)));
466 installer->set_is_gallery_install(false); 443 installer->set_is_gallery_install(false);
467 installer->set_allow_silent_install(false); 444 installer->set_allow_silent_install(false);
468 installer->InstallCrx(full_path); 445 installer->InstallCrx(full_path);
469 } 446 }
470 447
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
OLDNEW
« no previous file with comments | « chrome/browser/chromeos/extensions/file_manager_util.h ('k') | chrome/browser/resources/file_manager/js/file_manager.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698