Reviewed by Geoff.
- stray bits of my FrameLoader patch that I left out by accident
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::createWindow): Use m_outgoingReferrer instead of outgoingReferrer()
inside the FrameLoader class.
(WebCore::FrameLoader::requestFrame): Use less DeprecatedString.
(WebCore::FrameLoader::clear): Stop the redirection timer.
(WebCore::FrameLoader::receivedFirstData): Added an early return instead of nesting the
entire function in an if statement. Use less DeprecatedString.
(WebCore::FrameLoader::scheduleLocationChange): Fix backwards ? : operator.
(WebCore::FrameLoader::scheduleRefresh): Ditto.
(WebCore::FrameLoader::urlSelected): Use m_outgoingReferrer instead of outgoingReferrer()
inside the FrameLoader class.
* loader/mac/FrameLoaderMac.mm:
(WebCore::FrameLoader::load): Ditto.
(WebCore::FrameLoader::loadResourceSynchronously): Ditto.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@17659 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 992bbba..2685134 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,24 @@
+2006-11-08 Darin Adler <darin@apple.com>
+
+ Reviewed by Geoff.
+
+ - stray bits of my FrameLoader patch that I left out by accident
+
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::createWindow): Use m_outgoingReferrer instead of outgoingReferrer()
+ inside the FrameLoader class.
+ (WebCore::FrameLoader::requestFrame): Use less DeprecatedString.
+ (WebCore::FrameLoader::clear): Stop the redirection timer.
+ (WebCore::FrameLoader::receivedFirstData): Added an early return instead of nesting the
+ entire function in an if statement. Use less DeprecatedString.
+ (WebCore::FrameLoader::scheduleLocationChange): Fix backwards ? : operator.
+ (WebCore::FrameLoader::scheduleRefresh): Ditto.
+ (WebCore::FrameLoader::urlSelected): Use m_outgoingReferrer instead of outgoingReferrer()
+ inside the FrameLoader class.
+ * loader/mac/FrameLoaderMac.mm:
+ (WebCore::FrameLoader::load): Ditto.
+ (WebCore::FrameLoader::loadResourceSynchronously): Ditto.
+
2006-11-07 Beth Dakin <bdakin@apple.com>
Reviewed by Hyatt.
diff --git a/WebCore/loader/FrameLoader.cpp b/WebCore/loader/FrameLoader.cpp
index 6fe7246..a0f4d9d 100644
--- a/WebCore/loader/FrameLoader.cpp
+++ b/WebCore/loader/FrameLoader.cpp
@@ -272,7 +272,7 @@
// FIXME: Setting the referrer should be the caller's responsibility.
FrameLoadRequest requestWithReferrer = request;
- requestWithReferrer.resourceRequest().setHTTPReferrer(outgoingReferrer());
+ requestWithReferrer.resourceRequest().setHTTPReferrer(m_outgoingReferrer);
Page* page;
if (features.dialog)
@@ -356,15 +356,13 @@
urlSelected(frameRequest, triggeringEvent);
}
-bool FrameLoader::requestFrame(Element* ownerElement, const String& urlParam, const AtomicString& frameName)
+bool FrameLoader::requestFrame(Element* ownerElement, const String& urlString, const AtomicString& frameName)
{
- DeprecatedString urlString = urlParam.deprecatedString();
-
// Support for <frame src="javascript:string">
KURL scriptURL;
KURL url;
if (urlString.startsWith("javascript:", false)) {
- scriptURL = urlString;
+ scriptURL = urlString.deprecatedString();
url = "about:blank";
} else
url = completeURL(urlString);
@@ -738,6 +736,7 @@
m_containsPlugIns = false;
m_frame->cleanupPluginObjects();
+ m_redirectionTimer.stop();
m_scheduledRedirection.clear();
m_receivedData = false;
@@ -755,44 +754,45 @@
m_frame->document()->docLoader()->setCachePolicy(m_cachePolicy);
m_workingURL = KURL();
- DeprecatedString refresh = m_responseRefreshHeader.deprecatedString();
- if (!refresh.isEmpty()) {
- double delay;
- String URL;
+ const String& refresh = m_responseRefreshHeader;
+ if (refresh.isEmpty())
+ return;
- int pos = refresh.find(';');
- if (pos == -1)
- pos = refresh.find(',');
- if (pos == -1) {
- delay = refresh.stripWhiteSpace().toDouble();
- URL = m_URL.url();
- } else {
- int end_pos = refresh.length();
- delay = refresh.left(pos).stripWhiteSpace().toDouble();
- while (refresh[++pos] == ' ')
- ;
- if (refresh.find("url", pos, false) == pos) {
- pos += 3;
- while (refresh[pos] == ' ' || refresh[pos] == '=')
- pos++;
- if (refresh[pos] == '"') {
- pos++;
- int index = end_pos-1;
- while (index > pos) {
- if (refresh[index] == '"')
- break;
- index--;
- }
- if (index > pos)
- end_pos = index;
+ double delay;
+ String URL;
+
+ int pos = refresh.find(';');
+ if (pos == -1)
+ pos = refresh.find(',');
+ if (pos == -1) {
+ delay = refresh.stripWhiteSpace().toDouble();
+ URL = m_URL.url();
+ } else {
+ int endPos = refresh.length();
+ delay = refresh.left(pos).stripWhiteSpace().toDouble();
+ while (refresh[++pos] == ' ')
+ ;
+ if (refresh.find("url", pos, false) == pos) {
+ pos += 3;
+ while (refresh[pos] == ' ' || refresh[pos] == '=')
+ pos++;
+ if (refresh[pos] == '"') {
+ pos++;
+ int index = endPos - 1;
+ while (index > pos) {
+ if (refresh[index] == '"')
+ break;
+ index--;
}
+ if (index > pos)
+ endPos = index;
}
- URL = m_frame->document()->completeURL(refresh.mid(pos, end_pos));
}
-
- // We want a new history item if the refresh timeout > 1 second
- scheduleRedirection(delay, URL, delay <= 1);
+ URL = m_frame->document()->completeURL(refresh.substring(pos, endPos - pos));
}
+
+ // We want a new history item if the refresh timeout > 1 second
+ scheduleRedirection(delay, URL, delay <= 1);
}
const String& FrameLoader::responseMIMEType() const
@@ -1140,7 +1140,7 @@
stopLoading(true);
ScheduledRedirection::Type type = duringLoad
- ? ScheduledRedirection::locationChange : ScheduledRedirection::locationChangeDuringLoad;
+ ? ScheduledRedirection::locationChangeDuringLoad : ScheduledRedirection::locationChange;
scheduleRedirection(new ScheduledRedirection(type, url, referrer, lockHistory, wasUserGesture));
}
@@ -1157,7 +1157,7 @@
stopLoading(true);
ScheduledRedirection::Type type = duringLoad
- ? ScheduledRedirection::locationChange : ScheduledRedirection::locationChangeDuringLoad;
+ ? ScheduledRedirection::locationChangeDuringLoad : ScheduledRedirection::locationChange;
scheduleRedirection(new ScheduledRedirection(type, m_URL.url(), m_outgoingReferrer, true, wasUserGesture));
m_cachePolicy = CachePolicyRefresh;
}
@@ -2192,7 +2192,7 @@
{
FrameLoadRequest copy = request;
if (copy.resourceRequest().httpReferrer().isEmpty())
- copy.resourceRequest().setHTTPReferrer(outgoingReferrer());
+ copy.resourceRequest().setHTTPReferrer(m_outgoingReferrer);
// FIXME: Why do we always pass true for userGesture?
load(copy, true, event, 0, HashMap<String, String>());
diff --git a/WebCore/loader/mac/FrameLoaderMac.mm b/WebCore/loader/mac/FrameLoaderMac.mm
index 34665c3..20123f4 100644
--- a/WebCore/loader/mac/FrameLoaderMac.mm
+++ b/WebCore/loader/mac/FrameLoaderMac.mm
@@ -81,7 +81,7 @@
if (!argsReferrer.isEmpty())
referrer = argsReferrer;
else
- referrer = outgoingReferrer();
+ referrer = m_outgoingReferrer;
bool hideReferrer;
if (!canLoad(request.resourceRequest().url().getNSURL(), referrer, hideReferrer))
@@ -1199,7 +1199,7 @@
// Since this is a subresource, we can load any URL (we ignore the return value).
// But we still want to know whether we should hide the referrer or not, so we call the canLoadURL method.
- String referrer = outgoingReferrer();
+ String referrer = m_outgoingReferrer;
bool hideReferrer;
canLoad(URL, referrer, hideReferrer);
if (hideReferrer)