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-13 06:21:01 +0000
committerdarin@chromium.org <darin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-05-13 06:21:01 +0000
commit4781156a2c2dca5839906c18f7eedf0fe808fb23 (patch)
treeebc644136085edd95ee30b72dcade4654257dce4 /webkit/glue/webframe_impl.cc
parent876b0c451041fad7be429632de5066e4e30bf625 (diff)
downloadchromium_src-4781156a2c2dca5839906c18f7eedf0fe808fb23.zip
chromium_src-4781156a2c2dca5839906c18f7eedf0fe808fb23.tar.gz
chromium_src-4781156a2c2dca5839906c18f7eedf0fe808fb23.tar.bz2
Revert r15940 again. Unexpected layout test failures :(
TBR=mpcomplete git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15942 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 6976573..834f4a8 100644
--- a/webkit/glue/webframe_impl.cc
+++ b/webkit/glue/webframe_impl.cc
@@ -154,6 +154,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"
@@ -664,15 +665,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;