Index: webkit/glue/plugins/plugin_group.h |
diff --git a/webkit/glue/plugins/plugin_group.h b/webkit/glue/plugins/plugin_group.h |
index 097a1112da16329f00472ba2bf5c3cd7a2d6e61b..87b519cdd970576487ebcf301409d3fab0fd7368 100644 |
--- a/webkit/glue/plugins/plugin_group.h |
+++ b/webkit/glue/plugins/plugin_group.h |
@@ -24,6 +24,9 @@ struct WebPluginInfo; |
namespace NPAPI { |
class PluginList; |
}; |
+namespace plugin_test_internal { |
+class PluginListWithoutFileIO; |
+} |
// Hard-coded version ranges for plugin groups. |
struct VersionRangeDefinition { |
@@ -112,6 +115,8 @@ class PluginGroup { |
// Returns the positions of the plugins in the group. |
std::vector<int>& GetPluginPositions(); |
+ bool IsEmpty() const; |
+ |
// Enables/disables this group. This enables/disables all plugins in the |
// group. |
void Enable(bool enable); |
@@ -154,6 +159,7 @@ class PluginGroup { |
typedef std::map<std::string, PluginGroup*> PluginMap; |
friend class NPAPI::PluginList; |
+ friend class plugin_test_internal::PluginListWithoutFileIO; |
friend class PluginGroupTest; |
friend class TableModelArrayControllerTest; |
friend class PluginExceptionsTableModelTest; |
@@ -200,6 +206,12 @@ class PluginGroup { |
// enabled one, or if all plugins are disabled, simply the first one. |
void UpdateActivePlugin(const WebPluginInfo& plugin); |
+ // Used by tests to override the default PluginList singleton. |
+ NPAPI::PluginList* GetPluginList() const; |
+ void set_plugin_list(NPAPI::PluginList* plugin_list) { |
+ plugin_list_ = plugin_list; |
+ } |
+ |
static std::set<string16>* policy_disabled_plugin_patterns_; |
std::string identifier_; |
@@ -212,6 +224,7 @@ class PluginGroup { |
scoped_ptr<Version> version_; |
std::list<WebPluginInfo> web_plugin_infos_; |
std::vector<int> web_plugin_positions_; |
+ NPAPI::PluginList* plugin_list_; |
}; |
#endif // WEBKIT_GLUE_PLUGINS_PLUGIN_GROUP_H_ |