| 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/pepper/pepper_plugin_instance_impl.h" | 5 #include "content/renderer/pepper/pepper_plugin_instance_impl.h" | 
| 6 | 6 | 
| 7 #include <utility> | 7 #include <utility> | 
| 8 | 8 | 
| 9 #include "base/bind.h" | 9 #include "base/bind.h" | 
| 10 #include "base/bit_cast.h" | 10 #include "base/bit_cast.h" | 
| (...skipping 154 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 165 using blink::WebFrame; | 165 using blink::WebFrame; | 
| 166 using blink::WebInputEvent; | 166 using blink::WebInputEvent; | 
| 167 using blink::WebLocalFrame; | 167 using blink::WebLocalFrame; | 
| 168 using blink::WebPlugin; | 168 using blink::WebPlugin; | 
| 169 using blink::WebPluginContainer; | 169 using blink::WebPluginContainer; | 
| 170 using blink::WebPrintParams; | 170 using blink::WebPrintParams; | 
| 171 using blink::WebPrintScalingOption; | 171 using blink::WebPrintScalingOption; | 
| 172 using blink::WebScopedUserGesture; | 172 using blink::WebScopedUserGesture; | 
| 173 using blink::WebString; | 173 using blink::WebString; | 
| 174 using blink::WebURLError; | 174 using blink::WebURLError; | 
| 175 using blink::WebURLLoader; | 175 using blink::WebAssociatedURLLoaderClient; | 
| 176 using blink::WebURLLoaderClient; |  | 
| 177 using blink::WebURLRequest; | 176 using blink::WebURLRequest; | 
| 178 using blink::WebURLResponse; | 177 using blink::WebURLResponse; | 
| 179 using blink::WebUserGestureIndicator; | 178 using blink::WebUserGestureIndicator; | 
| 180 using blink::WebUserGestureToken; | 179 using blink::WebUserGestureToken; | 
| 181 using blink::WebView; | 180 using blink::WebView; | 
| 182 using blink::WebWidget; | 181 using blink::WebWidget; | 
| 183 | 182 | 
| 184 namespace content { | 183 namespace content { | 
| 185 | 184 | 
| 186 namespace { | 185 namespace { | 
| (...skipping 211 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 398       HostGlobals::Get()->GetInstance(instance_id); | 397       HostGlobals::Get()->GetInstance(instance_id); | 
| 399   return instance; | 398   return instance; | 
| 400 } | 399 } | 
| 401 | 400 | 
| 402 PepperPluginInstanceImpl::ExternalDocumentLoader::ExternalDocumentLoader() | 401 PepperPluginInstanceImpl::ExternalDocumentLoader::ExternalDocumentLoader() | 
| 403     : finished_loading_(false) {} | 402     : finished_loading_(false) {} | 
| 404 | 403 | 
| 405 PepperPluginInstanceImpl::ExternalDocumentLoader::~ExternalDocumentLoader() {} | 404 PepperPluginInstanceImpl::ExternalDocumentLoader::~ExternalDocumentLoader() {} | 
| 406 | 405 | 
| 407 void PepperPluginInstanceImpl::ExternalDocumentLoader::ReplayReceivedData( | 406 void PepperPluginInstanceImpl::ExternalDocumentLoader::ReplayReceivedData( | 
| 408     WebURLLoaderClient* document_loader) { | 407     WebAssociatedURLLoaderClient* document_loader) { | 
| 409   for (std::list<std::string>::iterator it = data_.begin(); it != data_.end(); | 408   for (std::list<std::string>::iterator it = data_.begin(); it != data_.end(); | 
| 410        ++it) { | 409        ++it) { | 
| 411     document_loader->didReceiveData(NULL, it->c_str(), it->length(), | 410     document_loader->didReceiveData(it->c_str(), it->length()); | 
| 412                                     0 /* encoded_data_length */, it->length()); |  | 
| 413   } | 411   } | 
| 414   if (finished_loading_) { | 412   if (finished_loading_) { | 
| 415     document_loader->didFinishLoading( | 413     document_loader->didFinishLoading(0 /* finish_time */); | 
| 416         NULL, |  | 
| 417         0 /* finish_time */, |  | 
| 418         blink::WebURLLoaderClient::kUnknownEncodedDataLength); |  | 
| 419   } else if (error_.get()) { | 414   } else if (error_.get()) { | 
| 420     DCHECK(!finished_loading_); | 415     DCHECK(!finished_loading_); | 
| 421     document_loader->didFail(NULL, *error_); | 416     document_loader->didFail(*error_); | 
| 422   } | 417   } | 
| 423 } | 418 } | 
| 424 | 419 | 
| 425 void PepperPluginInstanceImpl::ExternalDocumentLoader::didReceiveData( | 420 void PepperPluginInstanceImpl::ExternalDocumentLoader::didReceiveData( | 
| 426     WebURLLoader* loader, |  | 
| 427     const char* data, | 421     const char* data, | 
| 428     int data_length, | 422     int data_length) { | 
| 429     int encoded_data_length, |  | 
| 430     int encoded_body_length) { |  | 
| 431   data_.push_back(std::string(data, data_length)); | 423   data_.push_back(std::string(data, data_length)); | 
| 432 } | 424 } | 
| 433 | 425 | 
| 434 void PepperPluginInstanceImpl::ExternalDocumentLoader::didFinishLoading( | 426 void PepperPluginInstanceImpl::ExternalDocumentLoader::didFinishLoading( | 
| 435     WebURLLoader* loader, | 427     double finish_time) { | 
| 436     double finish_time, |  | 
| 437     int64_t total_encoded_data_length) { |  | 
| 438   DCHECK(!finished_loading_); | 428   DCHECK(!finished_loading_); | 
| 439 | 429 | 
| 440   if (error_.get()) | 430   if (error_.get()) | 
| 441     return; | 431     return; | 
| 442 | 432 | 
| 443   finished_loading_ = true; | 433   finished_loading_ = true; | 
| 444 } | 434 } | 
| 445 | 435 | 
| 446 void PepperPluginInstanceImpl::ExternalDocumentLoader::didFail( | 436 void PepperPluginInstanceImpl::ExternalDocumentLoader::didFail( | 
| 447     WebURLLoader* loader, |  | 
| 448     const WebURLError& error) { | 437     const WebURLError& error) { | 
| 449   DCHECK(!error_.get()); | 438   DCHECK(!error_.get()); | 
| 450 | 439 | 
| 451   if (finished_loading_) | 440   if (finished_loading_) | 
| 452     return; | 441     return; | 
| 453 | 442 | 
| 454   error_.reset(new WebURLError(error)); | 443   error_.reset(new WebURLError(error)); | 
| 455 } | 444 } | 
| 456 | 445 | 
| 457 PepperPluginInstanceImpl::GamepadImpl::GamepadImpl() | 446 PepperPluginInstanceImpl::GamepadImpl::GamepadImpl() | 
| (...skipping 467 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 925   // Create a loader resource host for this load. Note that we have to set | 914   // Create a loader resource host for this load. Note that we have to set | 
| 926   // the document_loader before issuing the in-process | 915   // the document_loader before issuing the in-process | 
| 927   // PPP_Instance.HandleDocumentLoad call below, since this may reentrantly | 916   // PPP_Instance.HandleDocumentLoad call below, since this may reentrantly | 
| 928   // call into the instance and expect it to be valid. | 917   // call into the instance and expect it to be valid. | 
| 929   RendererPpapiHostImpl* host_impl = module_->renderer_ppapi_host(); | 918   RendererPpapiHostImpl* host_impl = module_->renderer_ppapi_host(); | 
| 930   PepperURLLoaderHost* loader_host = | 919   PepperURLLoaderHost* loader_host = | 
| 931       new PepperURLLoaderHost(host_impl, true, pp_instance(), 0); | 920       new PepperURLLoaderHost(host_impl, true, pp_instance(), 0); | 
| 932   // TODO(teravest): Remove set_document_loader() from instance and clean up | 921   // TODO(teravest): Remove set_document_loader() from instance and clean up | 
| 933   // this relationship. | 922   // this relationship. | 
| 934   set_document_loader(loader_host); | 923   set_document_loader(loader_host); | 
| 935   loader_host->didReceiveResponse(NULL, response); | 924   loader_host->didReceiveResponse(response); | 
| 936 | 925 | 
| 937   // This host will be pending until the resource object attaches to it. | 926   // This host will be pending until the resource object attaches to it. | 
| 938   // | 927   // | 
| 939   // PpapiHost now owns the pointer to loader_host, so we don't have to worry | 928   // PpapiHost now owns the pointer to loader_host, so we don't have to worry | 
| 940   // about managing it. | 929   // about managing it. | 
| 941   int pending_host_id = host_impl->GetPpapiHost()->AddPendingResourceHost( | 930   int pending_host_id = host_impl->GetPpapiHost()->AddPendingResourceHost( | 
| 942       std::unique_ptr<ppapi::host::ResourceHost>(loader_host)); | 931       std::unique_ptr<ppapi::host::ResourceHost>(loader_host)); | 
| 943   DCHECK(pending_host_id); | 932   DCHECK(pending_host_id); | 
| 944 | 933 | 
| 945   DataFromWebURLResponse( | 934   DataFromWebURLResponse( | 
| (...skipping 2500 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 3446     const cc::TextureMailbox& mailbox) const { | 3435     const cc::TextureMailbox& mailbox) const { | 
| 3447   auto it = | 3436   auto it = | 
| 3448       std::find_if(texture_ref_counts_.begin(), texture_ref_counts_.end(), | 3437       std::find_if(texture_ref_counts_.begin(), texture_ref_counts_.end(), | 
| 3449                    [&mailbox](const TextureMailboxRefCount& ref_count) { | 3438                    [&mailbox](const TextureMailboxRefCount& ref_count) { | 
| 3450                      return ref_count.first.mailbox() == mailbox.mailbox(); | 3439                      return ref_count.first.mailbox() == mailbox.mailbox(); | 
| 3451                    }); | 3440                    }); | 
| 3452   return it != texture_ref_counts_.end(); | 3441   return it != texture_ref_counts_.end(); | 
| 3453 } | 3442 } | 
| 3454 | 3443 | 
| 3455 }  // namespace content | 3444 }  // namespace content | 
| OLD | NEW | 
|---|