diff options
author | viettrungluu@chromium.org <viettrungluu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-06-05 05:56:21 +0000 |
---|---|---|
committer | viettrungluu@chromium.org <viettrungluu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-06-05 05:56:21 +0000 |
commit | fff14f6e66a778ee2dc02be1621195355f50333b (patch) | |
tree | 4500ac7eda743bdacfd78aacabb20941919dc5c7 /chrome/browser/plugin_updater.h | |
parent | 495ec72daeceb31a000decb7d374a2a0178b6f29 (diff) | |
download | chromium_src-fff14f6e66a778ee2dc02be1621195355f50333b.zip chromium_src-fff14f6e66a778ee2dc02be1621195355f50333b.tar.gz chromium_src-fff14f6e66a778ee2dc02be1621195355f50333b.tar.bz2 |
Revert 48997 [causes Windows unit_tests to hang] - Group plugins in about:plugins and show update link for out-of-date ones.
Patch by mavrommatis, original review here:
<http://codereview.chromium.org/1991005>.
Original description follows:
(1) Group plugins with the same name together. (2) Show a download link for
plugin versions with known security problems in about:plugins.
BUG=3910
TEST=Open "chrome://plugins", see that plugins are grouped, and that any vulnerable plugins are marked red. Try enabling and disabling plugin groups.
Review URL: http://codereview.chromium.org/2686001
TBR=viettrungluu@chromium.org
Review URL: http://codereview.chromium.org/2652002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@49003 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/plugin_updater.h')
-rw-r--r-- | chrome/browser/plugin_updater.h | 141 |
1 files changed, 0 insertions, 141 deletions
diff --git a/chrome/browser/plugin_updater.h b/chrome/browser/plugin_updater.h deleted file mode 100644 index a18d222..0000000 --- a/chrome/browser/plugin_updater.h +++ /dev/null @@ -1,141 +0,0 @@ -// Copyright (c) 2006-2008 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. - -#ifndef CHROME_BROWSER_PLUGIN_UPDATER_H_ -#define CHROME_BROWSER_PLUGIN_UPDATER_H_ - -#include <vector> -#include "base/basictypes.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 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>; - - PluginUpdater(); - ~PluginUpdater(); - - void GetPluginGroups(std::vector<linked_ptr<PluginGroup> >* plugin_groups); - - DictionaryValue* CreatePluginFileSummary(const WebPluginInfo& plugin); - - std::vector<linked_ptr<PluginGroup> > plugin_group_definitions_; - - // Set to true iff the internal pdf plugin is enabled by default. - static bool enable_internal_pdf_; - - DISALLOW_COPY_AND_ASSIGN(PluginUpdater); -}; - -#endif // CHROME_BROWSER_PLUGIN_UPDATER_H_ |