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

Unified Diff: chrome/browser/plugin_updater.h

Issue 2955005: Factor out PluginGroup into a separate class in common/. (Closed)
Patch Set: baseline updates Created 10 years, 5 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/plugin_service.cc ('k') | chrome/browser/plugin_updater.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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_
« no previous file with comments | « chrome/browser/plugin_service.cc ('k') | chrome/browser/plugin_updater.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698