summaryrefslogtreecommitdiffstats
path: root/webkit/glue/webframe_impl.cc
diff options
context:
space:
mode:
authordarin@chromium.org <darin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-05-05 06:33:29 +0000
committerdarin@chromium.org <darin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-05-05 06:33:29 +0000
commit26b9816a2f7b37b5ed30e415aefa333e3a4f6111 (patch)
tree949f5d2b8b56a09ce635bc86887e1780b9ed2bb1 /webkit/glue/webframe_impl.cc
parent4d4a6356e8e1a6ac0b177cb6bd398148030cb320 (diff)
downloadchromium_src-26b9816a2f7b37b5ed30e415aefa333e3a4f6111.zip
chromium_src-26b9816a2f7b37b5ed30e415aefa333e3a4f6111.tar.gz
chromium_src-26b9816a2f7b37b5ed30e415aefa333e3a4f6111.tar.bz2
Revert r15278. More unexpected test failures :(
TBR=mpcomplete Review URL: http://codereview.chromium.org/108005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15279 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit/glue/webframe_impl.cc')
-rw-r--r--webkit/glue/webframe_impl.cc15
1 files changed, 13 insertions, 2 deletions
diff --git a/webkit/glue/webframe_impl.cc b/webkit/glue/webframe_impl.cc
index b67e998..d6b39fc 100644
--- a/webkit/glue/webframe_impl.cc
+++ b/webkit/glue/webframe_impl.cc
@@ -149,6 +149,7 @@ MSVC_POP_WARNING();
#include "webkit/glue/webdatasource_impl.h"
#include "webkit/glue/weberror_impl.h"
#include "webkit/glue/webframe_impl.h"
+#include "webkit/glue/webhistoryitem_impl.h"
#include "webkit/glue/weburlrequest_impl.h"
#include "webkit/glue/webtextinput_impl.h"
#include "webkit/glue/webview_impl.h"
@@ -650,15 +651,25 @@ void WebFrameImpl::CacheCurrentRequestInfo(WebDataSourceImpl* datasource) {
// own requests, so the extra data needs to be transferred.
scoped_refptr<WebRequest::ExtraData> extra;
- // Our extra data may come from a request issued via LoadRequest.
- if (currently_loading_request_)
+ // Our extra data may come from a request issued via LoadRequest, or a
+ // history navigation from WebCore.
+ if (currently_loading_request_) {
extra = currently_loading_request_->GetExtraData();
+ } else if (currently_loading_history_item_) {
+ extra = currently_loading_history_item_->GetExtraData();
+ currently_loading_history_item_ = 0;
+ }
// We must only update this if it is valid, or the valid state will be lost.
if (extra)
datasource->SetExtraData(extra);
}
+void WebFrameImpl::set_currently_loading_history_item(
+ WebHistoryItemImpl* item) {
+ currently_loading_history_item_ = item;
+}
+
void WebFrameImpl::StopLoading() {
if (!frame_)
return;