| 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 "content/renderer/npapi/webplugin_impl.h" | 5 #include "content/renderer/npapi/webplugin_impl.h" | 
| 6 | 6 | 
| 7 #include "base/bind.h" | 7 #include "base/bind.h" | 
| 8 #include "base/command_line.h" | 8 #include "base/command_line.h" | 
| 9 #include "base/debug/crash_logging.h" | 9 #include "base/debug/crash_logging.h" | 
| 10 #include "base/location.h" | 10 #include "base/location.h" | 
| (...skipping 745 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 756           clients_[i].loader->cancel(); | 756           clients_[i].loader->cancel(); | 
| 757           if (clients_[i].client) | 757           if (clients_[i].client) | 
| 758             clients_[i].client->DidFail(clients_[i].id); | 758             clients_[i].client->DidFail(clients_[i].id); | 
| 759         } | 759         } | 
| 760       } | 760       } | 
| 761       break; | 761       break; | 
| 762     } | 762     } | 
| 763   } | 763   } | 
| 764 } | 764 } | 
| 765 | 765 | 
| 766 bool WebPluginImpl::CheckIfRunInsecureContent(const GURL& url) { |  | 
| 767   if (!webframe_) |  | 
| 768     return true; |  | 
| 769 |  | 
| 770   return webframe_->checkIfRunInsecureContent(url); |  | 
| 771 } |  | 
| 772 |  | 
| 773 #if defined(OS_MACOSX) | 766 #if defined(OS_MACOSX) | 
| 774 WebPluginAcceleratedSurface* WebPluginImpl::GetAcceleratedSurface( | 767 WebPluginAcceleratedSurface* WebPluginImpl::GetAcceleratedSurface( | 
| 775     gfx::GpuPreference gpu_preference) { | 768     gfx::GpuPreference gpu_preference) { | 
| 776   return NULL; | 769   return NULL; | 
| 777 } | 770 } | 
| 778 | 771 | 
| 779 void WebPluginImpl::AcceleratedPluginEnabledRendering() { | 772 void WebPluginImpl::AcceleratedPluginEnabledRendering() { | 
| 780 } | 773 } | 
| 781 | 774 | 
| 782 void WebPluginImpl::AcceleratedPluginAllocatedIOSurface(int32_t width, | 775 void WebPluginImpl::AcceleratedPluginAllocatedIOSurface(int32_t width, | 
| (...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 851   return 0; | 844   return 0; | 
| 852 } | 845 } | 
| 853 | 846 | 
| 854 void WebPluginImpl::willFollowRedirect(WebURLLoader* loader, | 847 void WebPluginImpl::willFollowRedirect(WebURLLoader* loader, | 
| 855                                        WebURLRequest& new_request, | 848                                        WebURLRequest& new_request, | 
| 856                                        const WebURLResponse& response) { | 849                                        const WebURLResponse& response) { | 
| 857   // TODO(jam): THIS LOGIC IS COPIED IN PluginURLFetcher::OnReceivedRedirect | 850   // TODO(jam): THIS LOGIC IS COPIED IN PluginURLFetcher::OnReceivedRedirect | 
| 858   // until kDirectNPAPIRequests is the default and we can remove this old path. | 851   // until kDirectNPAPIRequests is the default and we can remove this old path. | 
| 859   WebPluginImpl::ClientInfo* client_info = GetClientInfoFromLoader(loader); | 852   WebPluginImpl::ClientInfo* client_info = GetClientInfoFromLoader(loader); | 
| 860   if (client_info) { | 853   if (client_info) { | 
| 861     // Currently this check is just to catch an https -> http redirect when |  | 
| 862     // loading the main plugin src URL. Longer term, we could investigate |  | 
| 863     // firing mixed diplay or scripting issues for subresource loads |  | 
| 864     // initiated by plugins. |  | 
| 865     if (client_info->is_plugin_src_load && |  | 
| 866         webframe_ && |  | 
| 867         !webframe_->checkIfRunInsecureContent(new_request.url())) { |  | 
| 868       loader->cancel(); |  | 
| 869       client_info->client->DidFail(client_info->id); |  | 
| 870       return; |  | 
| 871     } |  | 
| 872     if (net::HttpResponseHeaders::IsRedirectResponseCode( | 854     if (net::HttpResponseHeaders::IsRedirectResponseCode( | 
| 873             response.httpStatusCode())) { | 855             response.httpStatusCode())) { | 
| 874       // If the plugin does not participate in url redirect notifications then | 856       // If the plugin does not participate in url redirect notifications then | 
| 875       // just block cross origin 307 POST redirects. | 857       // just block cross origin 307 POST redirects. | 
| 876       if (!client_info->notify_redirects) { | 858       if (!client_info->notify_redirects) { | 
| 877         if (response.httpStatusCode() == 307 && | 859         if (response.httpStatusCode() == 307 && | 
| 878             base::LowerCaseEqualsASCII( | 860             base::LowerCaseEqualsASCII( | 
| 879                 new_request.httpMethod().utf8(), "post")) { | 861                 new_request.httpMethod().utf8(), "post")) { | 
| 880           GURL original_request_url(response.url()); | 862           GURL original_request_url(response.url()); | 
| 881           GURL response_url(new_request.url()); | 863           GURL response_url(new_request.url()); | 
| (...skipping 337 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 1219     case PLUGIN_SRC: | 1201     case PLUGIN_SRC: | 
| 1220       webframe_->setReferrerForRequest(*request, plugin_url_); | 1202       webframe_->setReferrerForRequest(*request, plugin_url_); | 
| 1221       break; | 1203       break; | 
| 1222 | 1204 | 
| 1223     default: | 1205     default: | 
| 1224       break; | 1206       break; | 
| 1225   } | 1207   } | 
| 1226 } | 1208 } | 
| 1227 | 1209 | 
| 1228 }  // namespace content | 1210 }  // namespace content | 
| OLD | NEW | 
|---|