diff options
Diffstat (limited to 'chromium/content/child/npapi/plugin_instance.cc')
-rw-r--r-- | chromium/content/child/npapi/plugin_instance.cc | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/chromium/content/child/npapi/plugin_instance.cc b/chromium/content/child/npapi/plugin_instance.cc index 30b3a586339..b141c5af15b 100644 --- a/chromium/content/child/npapi/plugin_instance.cc +++ b/chromium/content/child/npapi/plugin_instance.cc @@ -5,6 +5,7 @@ #include "content/child/npapi/plugin_instance.h" #include "base/bind.h" +#include "base/command_line.h" #include "base/file_util.h" #include "base/message_loop/message_loop.h" #include "base/strings/string_number_conversions.h" @@ -18,6 +19,7 @@ #include "content/child/npapi/webplugin_delegate.h" #include "content/child/npapi/webplugin_resource_client.h" #include "content/public/common/content_constants.h" +#include "content/public/common/content_switches.h" #include "net/base/escape.h" #if defined(OS_MACOSX) @@ -184,7 +186,7 @@ bool PluginInstance::GetFormValue(base::string16* value) { return false; } // Assumes the result is UTF8 text, as Firefox does. - *value = UTF8ToUTF16(plugin_value); + *value = base::UTF8ToUTF16(plugin_value); host_->host_functions()->memfree(plugin_value); return true; } @@ -557,10 +559,18 @@ void PluginInstance::RequestRead(NPStream* stream, NPByteRange* range_list) { // is called on it. plugin_stream->set_seekable(true); - pending_range_requests_[++next_range_request_id_] = plugin_stream; - webplugin_->InitiateHTTPRangeRequest( - stream->url, range_info.c_str(), next_range_request_id_); - return; + if (CommandLine::ForCurrentProcess()->HasSwitch( + switches::kDisableDirectNPAPIRequests)) { + pending_range_requests_[++next_range_request_id_] = plugin_stream; + webplugin_->InitiateHTTPRangeRequest( + stream->url, range_info.c_str(), next_range_request_id_); + return; + } else { + PluginStreamUrl* plugin_stream_url = + static_cast<PluginStreamUrl*>(plugin_stream); + plugin_stream_url->FetchRange(range_info); + return; + } } } NOTREACHED(); |