From 84f89cacc8f09a2fbc1fd82b30af13dd35624869 Mon Sep 17 00:00:00 2001 From: "iyengar@google.com" Date: Fri, 19 Sep 2008 02:09:49 +0000 Subject: This CB fixes the following issue1. http://code.google.com/p/chromium/issues/detail?id=206This is a performance issue while loading PDF documents. The fix is to support PDF fast webview, which is basically support for the NPN_RequestRead API, which allows a plugin to request specific byte ranges in HTTP GET requests. This also needs support for seekable streams. Our support for seekable streams is limited to HTTP servers which allow byte range requests. Firefox also supports a mode in which the the browser caches the file on disk for servers which don't support byte range requests. The plugin_data_stream.cc/.h files are being removed as there is not much value in their existence. The needed functionality is available in the PluginStreamUrl class, which now services manual data streams as well. Testing this is a touch tricky as we need a HTTP server which serves byte range requests. Will add those in a subsequent CB.Also fixed a bug in the multipart parser where we need to ignore leading newline characters while parsing the header.Bug=206 Review URL: http://codereview.chromium.org/2896 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@2400 0039d316-1c4b-4281-b951-d872f2087c98 --- chrome/common/plugin_messages.h | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'chrome/common/plugin_messages.h') diff --git a/chrome/common/plugin_messages.h b/chrome/common/plugin_messages.h index fcfa97f..cbe0b31 100644 --- a/chrome/common/plugin_messages.h +++ b/chrome/common/plugin_messages.h @@ -55,6 +55,7 @@ struct PluginMsg_URLRequestReply_Params { std::string url; bool notify_needed; HANDLE notify_data; + HANDLE stream; }; struct PluginMsg_Paint_Params { @@ -227,13 +228,15 @@ struct ParamTraits { WriteParam(m, p.url); WriteParam(m, p.notify_needed); WriteParam(m, p.notify_data); + WriteParam(m, p.stream); } static bool Read(const Message* m, void** iter, param_type* p) { return ReadParam(m, iter, &p->resource_id) && ReadParam(m, iter, &p->url) && ReadParam(m, iter, &p->notify_needed) && - ReadParam(m, iter, &p->notify_data); + ReadParam(m, iter, &p->notify_data) && + ReadParam(m, iter, &p->stream); } static void Log(const param_type& p, std::wstring* l) { l->append(L"("); @@ -244,6 +247,8 @@ struct ParamTraits { LogParam(p.notify_needed, l); l->append(L", "); LogParam(p.notify_data, l); + l->append(L", "); + LogParam(p.stream, l); l->append(L")"); } }; -- cgit v1.1