| Index: chrome/browser/plugin_updater.h
|
| diff --git a/chrome/browser/plugin_updater.h b/chrome/browser/plugin_updater.h
|
| index a18d2225e586f1d97936e7a90c3a707ec252b16a..ba89b838dab9eb0eca2757f8be748073479a1433 100644
|
| --- a/chrome/browser/plugin_updater.h
|
| +++ b/chrome/browser/plugin_updater.h
|
| @@ -1,4 +1,4 @@
|
| -// Copyright (c) 2006-2008 The Chromium Authors. All rights reserved.
|
| +// Copyright (c) 2010 The Chromium Authors. All rights reserved.
|
| // Use of this source code is governed by a BSD-style license that can be
|
| // found in the LICENSE file.
|
|
|
| @@ -6,136 +6,32 @@
|
| #define CHROME_BROWSER_PLUGIN_UPDATER_H_
|
|
|
| #include <vector>
|
| +
|
| #include "base/basictypes.h"
|
| +#include "base/file_path.h"
|
| #include "base/linked_ptr.h"
|
| -#include "base/scoped_ptr.h"
|
| #include "base/singleton.h"
|
| -#include "base/string16.h"
|
| -#include "base/values.h"
|
| -#include "googleurl/src/gurl.h"
|
| -#include "webkit/glue/plugins/webplugininfo.h"
|
|
|
| -class Version;
|
| +class ListValue;
|
| class Profile;
|
|
|
| -// Hard-coded definitions of plugin groups.
|
| -typedef struct {
|
| - const char* const name; // Name of this group.
|
| - const char* const name_matcher; // Substring matcher for the plugin name.
|
| - const char* const version_matcher_low; // Matchers for the plugin version.
|
| - const char* const version_matcher_high;
|
| - const char* const min_version; // Minimum secure version.
|
| - const char* const update_url; // Location of latest secure version.
|
| -} PluginGroupDefinition;
|
| -
|
| -
|
| -// A PluginGroup contains at least one WebPluginInfo.
|
| -// In addition, it knows if the plugin is critically vulnerable.
|
| -class PluginGroup {
|
| - public:
|
| - // Creates a PluginGroup from a PluginGroupDefinition.
|
| - static PluginGroup* FromPluginGroupDefinition(
|
| - const PluginGroupDefinition& definition);
|
| -
|
| - // Creates a PluginGroup from a WebPluginInfo -- when no hard-coded
|
| - // definition is found.
|
| - static PluginGroup* FromWebPluginInfo(const WebPluginInfo& wpi);
|
| -
|
| - // Creates a copy of this plugin group.
|
| - PluginGroup* Copy();
|
| -
|
| - // Returns true if the given plugin matches this group.
|
| - bool Match(const WebPluginInfo& plugin) const;
|
| -
|
| - // Adds the given plugin to this group. Provide the position of the
|
| - // plugin as given by PluginList so we can display its priority.
|
| - void AddPlugin(const WebPluginInfo& plugin, int position);
|
| -
|
| - // Enables/disables this group. This enables/disables all plugins in the
|
| - // group.
|
| - void Enable(bool enable);
|
| -
|
| - // Returns this group's name
|
| - const string16 GetGroupName() const;
|
| -
|
| - // Returns a DictionaryValue with data to display in the UI.
|
| - DictionaryValue* GetData() const;
|
| -
|
| - // Returns a DictionaryValue with data to save in the preferences.
|
| - DictionaryValue* GetSummary() const;
|
| -
|
| - // Returns true if the latest plugin in this group has known
|
| - // security problems.
|
| - bool IsVulnerable() const;
|
| -
|
| - private:
|
| - PluginGroup(const string16& group_name,
|
| - const string16& name_matcher,
|
| - const std::string& version_range_low,
|
| - const std::string& version_range_high,
|
| - const std::string& min_version,
|
| - const std::string& update_url);
|
| -
|
| - string16 group_name_;
|
| - string16 name_matcher_;
|
| - std::string version_range_low_str_;
|
| - std::string version_range_high_str_;
|
| - scoped_ptr<Version> version_range_low_;
|
| - scoped_ptr<Version> version_range_high_;
|
| - string16 description_;
|
| - std::string update_url_;
|
| - bool enabled_;
|
| - std::string min_version_str_;
|
| - scoped_ptr<Version> min_version_;
|
| - scoped_ptr<Version> max_version_;
|
| - std::vector<WebPluginInfo> web_plugin_infos_;
|
| - std::vector<int> web_plugin_positions_;
|
| -
|
| - DISALLOW_COPY_AND_ASSIGN(PluginGroup);
|
| -};
|
| -
|
| -class PluginUpdater {
|
| - public:
|
| - // Returns the PluginUpdater singleton.
|
| - static PluginUpdater* GetInstance();
|
| -
|
| - static const PluginGroupDefinition* GetPluginGroupDefinitions();
|
| - static const size_t GetPluginGroupDefinitionsSize();
|
| -
|
| - // Get a list of all the Plugin groups.
|
| - ListValue* GetPluginGroupsData();
|
| -
|
| - // Get a list of all the Plugin groups.
|
| - ListValue* GetPluginGroupsSummary();
|
| -
|
| - // Enable or disable a plugin group.
|
| - void EnablePluginGroup(bool enable, const string16& group_name);
|
| -
|
| - // Enable or disable a specific plugin file.
|
| - void EnablePluginFile(bool enable, const FilePath::StringType& file_path);
|
| -
|
| - // Disable all plugin groups as defined by the user's preference file.
|
| - void DisablePluginGroupsFromPrefs(Profile* profile);
|
| -
|
| - // Write the enable/disable status to the user's preference file.
|
| - void UpdatePreferences(Profile* profile);
|
| -
|
| - private:
|
| - friend struct DefaultSingletonTraits<PluginUpdater>;
|
| +namespace plugin_updater {
|
|
|
| - PluginUpdater();
|
| - ~PluginUpdater();
|
| +// Get a list of all the Plugin groups.
|
| +ListValue* GetPluginGroupsData();
|
|
|
| - void GetPluginGroups(std::vector<linked_ptr<PluginGroup> >* plugin_groups);
|
| +// Enable or disable a plugin group.
|
| +void EnablePluginGroup(bool enable, const string16& group_name);
|
|
|
| - DictionaryValue* CreatePluginFileSummary(const WebPluginInfo& plugin);
|
| +// Enable or disable a specific plugin file.
|
| +void EnablePluginFile(bool enable, const FilePath::StringType& file_path);
|
|
|
| - std::vector<linked_ptr<PluginGroup> > plugin_group_definitions_;
|
| +// Disable all plugin groups as defined by the user's preference file.
|
| +void DisablePluginGroupsFromPrefs(Profile* profile);
|
|
|
| - // Set to true iff the internal pdf plugin is enabled by default.
|
| - static bool enable_internal_pdf_;
|
| +// Write the enable/disable status to the user's preference file.
|
| +void UpdatePreferences(Profile* profile);
|
|
|
| - DISALLOW_COPY_AND_ASSIGN(PluginUpdater);
|
| -};
|
| +} // namespace plugin_updater
|
|
|
| #endif // CHROME_BROWSER_PLUGIN_UPDATER_H_
|
|
|