summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormpcomplete@google.com <mpcomplete@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2009-02-12 20:57:54 +0000
committermpcomplete@google.com <mpcomplete@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2009-02-12 20:57:54 +0000
commitd48f1e0c85c0fda7e02a9f5d6e99740cc37b47b9 (patch)
treeac01802dbedcbc95626d8580e80d113808341d55
parent28ab0d3189c14d4061240ec4471e16de11fa0f7c (diff)
downloadchromium_src-d48f1e0c85c0fda7e02a9f5d6e99740cc37b47b9.zip
chromium_src-d48f1e0c85c0fda7e02a9f5d6e99740cc37b47b9.tar.gz
chromium_src-d48f1e0c85c0fda7e02a9f5d6e99740cc37b47b9.tar.bz2
Add a --load-plugin flag to load an NPAPI plugin from an arbitrary location.
This is to support running Chromebot to exercise a given NPAPI plugin. Review URL: http://codereview.chromium.org/21279 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9701 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--chrome/browser/plugin_service.cc8
-rw-r--r--chrome/common/chrome_switches.cc3
-rw-r--r--chrome/common/chrome_switches.h1
3 files changed, 12 insertions, 0 deletions
diff --git a/chrome/browser/plugin_service.cc b/chrome/browser/plugin_service.cc
index cf72d07..d36cc69 100644
--- a/chrome/browser/plugin_service.cc
+++ b/chrome/browser/plugin_service.cc
@@ -4,6 +4,7 @@
#include "chrome/browser/plugin_service.h"
+#include "base/command_line.h"
#include "base/singleton.h"
#include "base/thread.h"
#include "chrome/browser/browser_process.h"
@@ -13,6 +14,7 @@
#include "chrome/browser/renderer_host/render_process_host.h"
#include "chrome/browser/renderer_host/resource_message_filter.h"
#include "chrome/common/chrome_plugin_lib.h"
+#include "chrome/common/chrome_switches.h"
#include "chrome/common/logging_chrome.h"
#include "webkit/glue/plugins/plugin_list.h"
@@ -28,6 +30,12 @@ PluginService::PluginService()
plugin_shutdown_handler_(new ShutdownHandler) {
// Have the NPAPI plugin list search for Chrome plugins as well.
ChromePluginLib::RegisterPluginsWithNPAPI();
+
+ // Load the one specified on the command line as well.
+ const CommandLine* command_line = CommandLine::ForCurrentProcess();
+ std::wstring path = command_line->GetSwitchValue(switches::kLoadPlugin);
+ if (!path.empty())
+ NPAPI::PluginList::AddExtraPluginPath(FilePath::FromWStringHack(path));
}
PluginService::~PluginService() {
diff --git a/chrome/common/chrome_switches.cc b/chrome/common/chrome_switches.cc
index edd77df..39bb988 100644
--- a/chrome/common/chrome_switches.cc
+++ b/chrome/common/chrome_switches.cc
@@ -355,6 +355,9 @@ const wchar_t kInstallExtension[] = L"install-extension";
// Load an extension from the specified directory.
const wchar_t kLoadExtension[] = L"load-extension";
+// Load an NPAPI plugin from the specified path.
+const wchar_t kLoadPlugin[] = L"load-plugin";
+
// Causes the browser to launch directly in incognito mode.
const wchar_t kIncognito[] = L"incognito";
diff --git a/chrome/common/chrome_switches.h b/chrome/common/chrome_switches.h
index 6f9946b..64978c2 100644
--- a/chrome/common/chrome_switches.h
+++ b/chrome/common/chrome_switches.h
@@ -134,6 +134,7 @@ extern const wchar_t kEnableUserScripts[];
extern const wchar_t kEnableExtensions[];
extern const wchar_t kInstallExtension[];
extern const wchar_t kLoadExtension[];
+extern const wchar_t kLoadPlugin[];
extern const wchar_t kIncognito[];
extern const wchar_t kUseOldSafeBrowsing[];