summaryrefslogtreecommitdiffstats
path: root/chrome/common/plugin_messages.h
diff options
context:
space:
mode:
authorananta@chromium.org <ananta@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2008-12-17 17:24:13 +0000
committerananta@chromium.org <ananta@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2008-12-17 17:24:13 +0000
commit943b2925ce99deafb646573cf146c63dac2f33e4 (patch)
tree459ed3bb525abd6f74857ba3e83922a086298d1c /chrome/common/plugin_messages.h
parent9762f54d6f7b357b278dfffd7b47c44e63271db9 (diff)
downloadchromium_src-943b2925ce99deafb646573cf146c63dac2f33e4.zip
chromium_src-943b2925ce99deafb646573cf146c63dac2f33e4.tar.gz
chromium_src-943b2925ce99deafb646573cf146c63dac2f33e4.tar.bz2
Handle HTTP 200 responses received in response to byte range requests issued by the plugin. This means that the server does not support byte range requests. Firefox handles this by destroying the current plugin instance and creating a new instance to handle the response. The stream which is created to pass the data off to the plugin is not seekable.Fix is to emulate Firefox behavior. Will work on unit testing the NPN_RequestRead related code in a separate CB. This fixes http://code.google.com/p/chromium/issues/detail?id=5403Bug=5403
Review URL: http://codereview.chromium.org/14122 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7139 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/common/plugin_messages.h')
-rw-r--r--chrome/common/plugin_messages.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/chrome/common/plugin_messages.h b/chrome/common/plugin_messages.h
index 6ebead6..025acc2 100644
--- a/chrome/common/plugin_messages.h
+++ b/chrome/common/plugin_messages.h
@@ -69,6 +69,7 @@ struct PluginMsg_DidReceiveResponseParams {
std::string headers;
uint32 expected_length;
uint32 last_modified;
+ bool request_is_seekable;
};
struct NPIdentifier_Param {
@@ -266,6 +267,7 @@ struct ParamTraits<PluginMsg_DidReceiveResponseParams> {
WriteParam(m, p.headers);
WriteParam(m, p.expected_length);
WriteParam(m, p.last_modified);
+ WriteParam(m, p.request_is_seekable);
}
static bool Read(const Message* m, void** iter, param_type* r) {
return
@@ -273,7 +275,8 @@ struct ParamTraits<PluginMsg_DidReceiveResponseParams> {
ReadParam(m, iter, &r->mime_type) &&
ReadParam(m, iter, &r->headers) &&
ReadParam(m, iter, &r->expected_length) &&
- ReadParam(m, iter, &r->last_modified);
+ ReadParam(m, iter, &r->last_modified) &&
+ ReadParam(m, iter, &r->request_is_seekable);
}
static void Log(const param_type& p, std::wstring* l) {
l->append(L"(");
@@ -286,6 +289,8 @@ struct ParamTraits<PluginMsg_DidReceiveResponseParams> {
LogParam(p.expected_length, l);
l->append(L", ");
LogParam(p.last_modified, l);
+ l->append(L", ");
+ LogParam(p.request_is_seekable, l);
l->append(L")");
}
};