summaryrefslogtreecommitdiffstats
path: root/chrome/app
diff options
context:
space:
mode:
authoragl@chromium.org <agl@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-09-16 22:44:34 +0000
committeragl@chromium.org <agl@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-09-16 22:44:34 +0000
commit5be8fa84c198ead81d35aacb5fd106f81a3bdfe7 (patch)
tree94424816889d4c22ad2256573647ea9bff940c04 /chrome/app
parentda67d252a2c42b5fd8c46f06e42f07c9c92294bb (diff)
downloadchromium_src-5be8fa84c198ead81d35aacb5fd106f81a3bdfe7.zip
chromium_src-5be8fa84c198ead81d35aacb5fd106f81a3bdfe7.tar.gz
chromium_src-5be8fa84c198ead81d35aacb5fd106f81a3bdfe7.tar.bz2
Windows: Warn about outdated plugins.
Add the infrastructure for detecting out of date plugins and warning the user about them. Glen was ok with the infobar, although he notes that there will be a better 'notifications' UI for this sort of thing in the future. This UI will trigger at most once a day and only when we load the plugin information. This patch appears to duplicate some information from plugins2.xml, which is the plugins database that the default plugin uses to install missing plugins. I'm not reusing that information in this patch: * Note that the names of the plugins are different between the two. plugins2.xml uses a 'friendly' name, while this code needs to know the name that the plugin itself uses. * Also note that URLs are different. plugins2.xml wants a link to an exe for the installer, while we want a landing page. * The code for loading and parsing plugins2.xml is in the default plugin, and thus would require a lot of major refactoring to use here. Regarding the second point, above. One could imagine that we open a tab to "about:update-plugin#MAGICSTRING,application/x-shockwave". Javascript on that page notes the fragment in the URL and creates a plugin of the correct type on the page, passing MAGICSTRING to the plugin. The renderers are updated to know that all plugins on about pages should be directed to the default plugin. The default plugin notes the MAGICSTRING argument and uses a new NPAPI call to validate the string. MAGICSTRING will be a random string, created once per instance which is needed so that the default plugin can know that it's running on behalf of the browser, not some random webpage. When it validates, it doesn't wait for the user to click inside the plugin to trigger the download. It also doesn't trigger a page reload afterwards, instead draws text to the effect of "Successful install". This alternative design would remove the duplication, at the cost of a lot of work. Since it's a UI question, I asked Ben and Glen. However, they didn't get back to me so, for now at least, this simplier solution will suffice. BUG=21100 http://codereview.chromium.org/197053 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@26409 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/app')
-rw-r--r--chrome/app/generated_resources.grd4
1 files changed, 4 insertions, 0 deletions
diff --git a/chrome/app/generated_resources.grd b/chrome/app/generated_resources.grd
index 6aad21b..6df2aef 100644
--- a/chrome/app/generated_resources.grd
+++ b/chrome/app/generated_resources.grd
@@ -5034,6 +5034,10 @@ Keep your key file in a safe place. You will need it to create new versions of y
</message>
</if>
+ <message name="IDS_OUTDATED_PLUGIN" desc="This message is shown to the user when we detect that one of their plugins is out of date and should be upgraded (i.e. because of known security issues etc)">
+ Your <ph name="PLUGIN_NAME">$1<ex>Shockwave Flash</ex></ph> plugin is out of date. You should update it immediately!
+ </message>
+
<!-- Chrome OS Strings -->
<if expr="pp_ifdef('chromeos')">
<message name="IDS_OPTIONS_SETTINGS_SECTION_TITLE_NETWORK">