diff options
author | ananta@chromium.org <ananta@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-02-13 01:56:53 +0000 |
---|---|---|
committer | ananta@chromium.org <ananta@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-02-13 01:56:53 +0000 |
commit | 7619b422a8c5a58a5ecfc76766fbdd5f2642cbe5 (patch) | |
tree | 4b39ef11ae6bfac2f5c9ea7acb8bb30503d3d876 /webkit | |
parent | e25ed64e03257479f1c12145a9443ea66eb8eee9 (diff) | |
download | chromium_src-7619b422a8c5a58a5ecfc76766fbdd5f2642cbe5.zip chromium_src-7619b422a8c5a58a5ecfc76766fbdd5f2642cbe5.tar.gz chromium_src-7619b422a8c5a58a5ecfc76766fbdd5f2642cbe5.tar.bz2 |
Call the DidStartLoading/DidStopLoading methods on the WebViewDelegate interface whenever we receive the initial response for a byte range request and when the request eventually completes.
This ensures that the throbber continues to spin when these requests take a while.
It stops spinning during load when the document load is cancelled by the plugin process. This occurs when the plugin invokes NPN_RequestRead the first time on the stream.
This fixes http://code.google.com/p/chromium/issues/detail?id=7375
Bug=7375
Review URL: http://codereview.chromium.org/20333
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9732 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit')
-rw-r--r-- | webkit/glue/webplugin_impl.cc | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/webkit/glue/webplugin_impl.cc b/webkit/glue/webplugin_impl.cc index fef6f75e..2877423 100644 --- a/webkit/glue/webplugin_impl.cc +++ b/webkit/glue/webplugin_impl.cc @@ -1062,6 +1062,9 @@ void WebPluginImpl::didFinishLoading(WebCore::ResourceHandle* handle) { if (index != multi_part_response_map_.end()) { delete (*index).second; multi_part_response_map_.erase(index); + + WebView* web_view = webframe_->GetView(); + web_view->GetDelegate()->DidStopLoading(web_view); } client->DidFinishLoading(); } @@ -1293,6 +1296,9 @@ void WebPluginImpl::HandleHttpMultipartResponse( return; } + WebView* web_view = webframe_->GetView(); + web_view->GetDelegate()->DidStartLoading(web_view); + MultiPartResponseClient* multi_part_response_client = new MultiPartResponseClient(client); |