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

Side by Side Diff: chrome/renderer/plugins/plugin_placeholder.cc

Issue 11414010: Add placeholder text for unsupported plug-ins. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 1 month 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « chrome/renderer/chrome_content_renderer_client.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/renderer/plugins/plugin_placeholder.h" 5 #include "chrome/renderer/plugins/plugin_placeholder.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/bind_helpers.h" 8 #include "base/bind_helpers.h"
9 #include "base/json/string_escape.h" 9 #include "base/json/string_escape.h"
10 #include "base/string_piece.h" 10 #include "base/string_piece.h"
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after
102 // static 102 // static
103 PluginPlaceholder* PluginPlaceholder::CreateMissingPlugin( 103 PluginPlaceholder* PluginPlaceholder::CreateMissingPlugin(
104 RenderView* render_view, 104 RenderView* render_view,
105 WebFrame* frame, 105 WebFrame* frame,
106 const WebPluginParams& params) { 106 const WebPluginParams& params) {
107 const base::StringPiece template_html( 107 const base::StringPiece template_html(
108 ResourceBundle::GetSharedInstance().GetRawDataResource( 108 ResourceBundle::GetSharedInstance().GetRawDataResource(
109 IDR_BLOCKED_PLUGIN_HTML)); 109 IDR_BLOCKED_PLUGIN_HTML));
110 110
111 DictionaryValue values; 111 DictionaryValue values;
112 #if defined(ENABLE_PLUGIN_INSTALLATION)
112 values.SetString("message", l10n_util::GetStringUTF8(IDS_PLUGIN_SEARCHING)); 113 values.SetString("message", l10n_util::GetStringUTF8(IDS_PLUGIN_SEARCHING));
114 #else
115 values.SetString("message",
116 l10n_util::GetStringUTF8(IDS_PLUGIN_NOT_SUPPORTED));
117 #endif
113 118
114 std::string html_data = 119 std::string html_data =
115 jstemplate_builder::GetI18nTemplateHtml(template_html, &values); 120 jstemplate_builder::GetI18nTemplateHtml(template_html, &values);
116 121
117 // |missing_plugin| will destroy itself when its WebViewPlugin is going away. 122 // |missing_plugin| will destroy itself when its WebViewPlugin is going away.
118 PluginPlaceholder* missing_plugin = new PluginPlaceholder( 123 PluginPlaceholder* missing_plugin = new PluginPlaceholder(
119 render_view, frame, params, html_data, params.mimeType); 124 render_view, frame, params, html_data, params.mimeType);
120 missing_plugin->set_allow_loading(true); 125 missing_plugin->set_allow_loading(true);
121 #if defined(ENABLE_PLUGIN_INSTALLATION) 126 #if defined(ENABLE_PLUGIN_INSTALLATION)
122 RenderThread::Get()->Send(new ChromeViewHostMsg_FindMissingPlugin( 127 RenderThread::Get()->Send(new ChromeViewHostMsg_FindMissingPlugin(
123 missing_plugin->routing_id(), missing_plugin->CreateRoutingId(), 128 missing_plugin->routing_id(), missing_plugin->CreateRoutingId(),
124 params.mimeType.utf8())); 129 params.mimeType.utf8()));
125 #else
126 missing_plugin->OnDidNotFindMissingPlugin();
127 #endif 130 #endif
128 return missing_plugin; 131 return missing_plugin;
129 } 132 }
130 133
131 PluginPlaceholder* PluginPlaceholder::CreateErrorPlugin( 134 PluginPlaceholder* PluginPlaceholder::CreateErrorPlugin(
132 RenderView* render_view, 135 RenderView* render_view,
133 const FilePath& file_path) { 136 const FilePath& file_path) {
134 DictionaryValue values; 137 DictionaryValue values;
135 values.SetString("message", 138 values.SetString("message",
136 l10n_util::GetStringUTF8(IDS_PLUGIN_INITIALIZATION_ERROR)); 139 l10n_util::GetStringUTF8(IDS_PLUGIN_INITIALIZATION_ERROR));
(...skipping 263 matching lines...) Expand 10 before | Expand all | Expand 10 after
400 element.setAttribute("style", "display: none;"); 403 element.setAttribute("style", "display: none;");
401 } 404 }
402 } 405 }
403 } 406 }
404 } 407 }
405 408
406 void PluginPlaceholder::WillDestroyPlugin() { 409 void PluginPlaceholder::WillDestroyPlugin() {
407 delete this; 410 delete this;
408 } 411 }
409 412
410 void PluginPlaceholder::OnDidNotFindMissingPlugin() { 413 void PluginPlaceholder::OnDidNotFindMissingPlugin() {
Bernhard Bauer 2012/11/30 14:58:33 Could you move this into the #if defined(ENABLE_PL
newt (away) 2012/11/30 19:41:18 Done.
411 SetMessage(l10n_util::GetStringUTF16(IDS_PLUGIN_NOT_FOUND)); 414 SetMessage(l10n_util::GetStringUTF16(IDS_PLUGIN_NOT_FOUND));
412 } 415 }
413 416
414 #if defined(ENABLE_PLUGIN_INSTALLATION) 417 #if defined(ENABLE_PLUGIN_INSTALLATION)
415 void PluginPlaceholder::OnFoundMissingPlugin(const string16& plugin_name) { 418 void PluginPlaceholder::OnFoundMissingPlugin(const string16& plugin_name) {
416 if (status_->value == ChromeViewHostMsg_GetPluginInfo_Status::kNotFound) 419 if (status_->value == ChromeViewHostMsg_GetPluginInfo_Status::kNotFound)
417 SetMessage(l10n_util::GetStringFUTF16(IDS_PLUGIN_FOUND, plugin_name)); 420 SetMessage(l10n_util::GetStringFUTF16(IDS_PLUGIN_FOUND, plugin_name));
418 has_host_ = true; 421 has_host_ = true;
419 plugin_name_ = plugin_name; 422 plugin_name_ = plugin_name;
420 } 423 }
(...skipping 224 matching lines...) Expand 10 before | Expand all | Expand 10 after
645 bool PluginPlaceholder::IsYouTubeURL(const GURL& url, 648 bool PluginPlaceholder::IsYouTubeURL(const GURL& url,
646 const std::string& mime_type) { 649 const std::string& mime_type) {
647 std::string host = url.host(); 650 std::string host = url.host();
648 bool is_youtube = EndsWith(host, "youtube.com", true) || 651 bool is_youtube = EndsWith(host, "youtube.com", true) ||
649 EndsWith(host, "youtube-nocookie.com", true); 652 EndsWith(host, "youtube-nocookie.com", true);
650 653
651 return is_youtube && IsValidYouTubeVideo(url.path()) && 654 return is_youtube && IsValidYouTubeVideo(url.path()) &&
652 LowerCaseEqualsASCII(mime_type, kFlashPluginSwfMimeType); 655 LowerCaseEqualsASCII(mime_type, kFlashPluginSwfMimeType);
653 } 656 }
654 #endif 657 #endif
OLDNEW
« no previous file with comments | « chrome/renderer/chrome_content_renderer_client.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698