OLD | NEW |
---|---|
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 539 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
550 void PluginPlaceholder::LoadPlugin() { | 550 void PluginPlaceholder::LoadPlugin() { |
551 // This is not strictly necessary but is an important defense in case the | 551 // This is not strictly necessary but is an important defense in case the |
552 // event propagation changes between "close" vs. "click-to-play". | 552 // event propagation changes between "close" vs. "click-to-play". |
553 if (hidden_) | 553 if (hidden_) |
554 return; | 554 return; |
555 if (!allow_loading_) { | 555 if (!allow_loading_) { |
556 NOTREACHED(); | 556 NOTREACHED(); |
557 return; | 557 return; |
558 } | 558 } |
559 | 559 |
560 if (status_->value == | |
561 ChromeViewHostMsg_GetPluginInfo_Status::kNpapiNotSupported) { | |
562 #if defined(OS_WIN) | |
563 RenderThread::Get()->RecordUserMetrics("Metro_RestartOnDesktop_Plugin"); | |
564 RenderThread::Get()->Send( | |
cpu_(ooo_6.6-7.5)
2012/10/18 00:42:59
we need a person from sec-team to approve this.
Bernhard Bauer
2012/10/18 09:13:57
Chris, what's your opinion?
| |
565 new ChromeViewHostMsg_RestartInDesktopMode(routing_id())); | |
566 return; | |
567 #else | |
568 NOTREACHED(); | |
569 #endif | |
570 } | |
571 | |
560 // TODO(mmenke): In the case of prerendering, feed into | 572 // TODO(mmenke): In the case of prerendering, feed into |
561 // ChromeContentRendererClient::CreatePlugin instead, to | 573 // ChromeContentRendererClient::CreatePlugin instead, to |
562 // reduce the chance of future regressions. | 574 // reduce the chance of future regressions. |
563 WebPlugin* plugin = | 575 WebPlugin* plugin = |
564 render_view()->CreatePlugin(frame_, plugin_info_, plugin_params_); | 576 render_view()->CreatePlugin(frame_, plugin_info_, plugin_params_); |
565 ReplacePlugin(plugin); | 577 ReplacePlugin(plugin); |
566 } | 578 } |
567 | 579 |
568 void PluginPlaceholder::LoadCallback(const CppArgumentList& args, | 580 void PluginPlaceholder::LoadCallback(const CppArgumentList& args, |
569 CppVariant* result) { | 581 CppVariant* result) { |
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
630 bool PluginPlaceholder::IsYouTubeURL(const GURL& url, | 642 bool PluginPlaceholder::IsYouTubeURL(const GURL& url, |
631 const std::string& mime_type) { | 643 const std::string& mime_type) { |
632 std::string host = url.host(); | 644 std::string host = url.host(); |
633 bool is_youtube = EndsWith(host, "youtube.com", true) || | 645 bool is_youtube = EndsWith(host, "youtube.com", true) || |
634 EndsWith(host, "youtube-nocookie.com", true); | 646 EndsWith(host, "youtube-nocookie.com", true); |
635 | 647 |
636 return is_youtube && IsValidYouTubeVideo(url.path()) && | 648 return is_youtube && IsValidYouTubeVideo(url.path()) && |
637 LowerCaseEqualsASCII(mime_type, kFlashPluginSwfMimeType); | 649 LowerCaseEqualsASCII(mime_type, kFlashPluginSwfMimeType); |
638 } | 650 } |
639 #endif | 651 #endif |
OLD | NEW |