1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "content/public/test/ppapi_test_utils.h"
7 #include "base/command_line.h"
8 #include "base/files/file_util.h"
9 #include "base/macros.h"
10 #include "base/path_service.h"
11 #include "content/public/common/content_switches.h"
12 #include "ppapi/shared_impl/ppapi_constants.h"
19 base::CommandLine
* command_line
,
20 const base::FilePath::StringType
& library_name
,
21 const base::FilePath::StringType
& extra_registration_parameters
) {
22 base::FilePath plugin_dir
;
23 if (!PathService::Get(base::DIR_MODULE
, &plugin_dir
))
26 base::FilePath plugin_path
= plugin_dir
.Append(library_name
);
28 // Append the switch to register the pepper plugin.
29 if (!base::PathExists(plugin_path
))
31 base::FilePath::StringType pepper_plugin
= plugin_path
.value();
32 pepper_plugin
.append(extra_registration_parameters
);
33 pepper_plugin
.append(FILE_PATH_LITERAL(";application/x-ppapi-tests"));
34 command_line
->AppendSwitchNative(switches::kRegisterPepperPlugins
,
41 bool RegisterTestPlugin(base::CommandLine
* command_line
) {
42 return RegisterTestPluginWithExtraParameters(command_line
,
43 FILE_PATH_LITERAL(""));
46 bool RegisterTestPluginWithExtraParameters(
47 base::CommandLine
* command_line
,
48 const base::FilePath::StringType
& extra_registration_parameters
) {
50 base::FilePath::StringType plugin_library
= L
"ppapi_tests.dll";
51 #elif defined(OS_MACOSX)
52 base::FilePath::StringType plugin_library
= "ppapi_tests.plugin";
53 #elif defined(OS_POSIX)
54 base::FilePath::StringType plugin_library
= "libppapi_tests.so";
56 return RegisterPlugin(command_line
, plugin_library
,
57 extra_registration_parameters
);
60 bool RegisterPowerSaverTestPlugin(base::CommandLine
* command_line
) {
61 base::FilePath::StringType library_name
=
62 base::FilePath::FromUTF8Unsafe(ppapi::kPowerSaverTestPluginName
).value();
63 return RegisterPlugin(command_line
, library_name
, FILE_PATH_LITERAL(""));