diff options
author | ananta@chromium.org <ananta@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2008-12-17 17:24:13 +0000 |
---|---|---|
committer | ananta@chromium.org <ananta@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2008-12-17 17:24:13 +0000 |
commit | 943b2925ce99deafb646573cf146c63dac2f33e4 (patch) | |
tree | 459ed3bb525abd6f74857ba3e83922a086298d1c /webkit/glue/webplugin.h | |
parent | 9762f54d6f7b357b278dfffd7b47c44e63271db9 (diff) | |
download | chromium_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 'webkit/glue/webplugin.h')
-rw-r--r-- | webkit/glue/webplugin.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/webkit/glue/webplugin.h b/webkit/glue/webplugin.h index b704153..8124857 100644 --- a/webkit/glue/webplugin.h +++ b/webkit/glue/webplugin.h @@ -148,15 +148,19 @@ class WebPluginResourceClient { public: virtual ~WebPluginResourceClient() {} virtual void WillSendRequest(const GURL& url) = 0; + // The request_is_seekable parameter indicates whether byte range requests + // can be issued for the underlying stream. virtual void DidReceiveResponse(const std::string& mime_type, const std::string& headers, uint32 expected_length, uint32 last_modified, + bool request_is_seekable, bool* cancel) = 0; virtual void DidReceiveData(const char* buffer, int length, int data_offset) = 0; virtual void DidFinishLoading() = 0; virtual void DidFail() = 0; + virtual bool IsMultiByteResponseExpected() = 0; }; |