+2006-10-13 Maciej Stachowiak <mjs@apple.com>
+
+ Reviewed by Darin.
+
+ - split FrameLoadRequest off from ResourceRequest - it's a ResourceRequest plus frame name plus lockHistory bool
+
+ * WebCore.xcodeproj/project.pbxproj:
+ * bindings/js/kjs_window.cpp:
+ (KJS::createNewWindow):
+ (KJS::WindowFunc::callAsFunction):
+ * bridge/BrowserExtension.h:
+ * bridge/mac/BrowserExtensionMac.h:
+ * bridge/mac/BrowserExtensionMac.mm:
+ (WebCore::BrowserExtensionMac::createNewWindow):
+ * bridge/mac/FrameMac.h:
+ * bridge/mac/FrameMac.mm:
+ (WebCore::FrameMac::submitForm):
+ (WebCore::FrameMac::openURLRequest):
+ (WebCore::FrameMac::urlSelected):
+ * bridge/win/BrowserExtensionWin.h:
+ * page/Frame.cpp:
+ (WebCore::Frame::changeLocation):
+ (WebCore::Frame::urlSelected):
+ (WebCore::Frame::requestFrame):
+ (WebCore::Frame::submitForm):
+ * page/Frame.h:
+ * page/FrameLoadRequest.h: Added.
+ (WebCore::FrameLoadRequest::FrameLoadRequest):
+ (WebCore::FrameLoadRequest::lockHistory):
+ (WebCore::FrameLoadRequest::setLockHistory):
+ * page/ResourceRequest.h:
+ (WebCore::ResourceRequest::ResourceRequest):
+
2006-10-13 John Sullivan <sullivan@apple.com>
Reviewed by Maciej
6582A16209999D6D00BEEB6D /* ScreenMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = 6582A15409999D6D00BEEB6D /* ScreenMac.mm */; };
6582A16309999D6D00BEEB6D /* SystemTimeMac.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6582A15509999D6D00BEEB6D /* SystemTimeMac.cpp */; };
6582A17809999EA000BEEB6D /* DeprecatedStringMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = 6582A17709999EA000BEEB6D /* DeprecatedStringMac.mm */; };
+ 658436860AE01B7400E53753 /* FrameLoadRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = 658436850AE01B7400E53753 /* FrameLoadRequest.h */; };
65901A4409FC6039005BD752 /* WebCoreStringTruncator.h in Headers */ = {isa = PBXBuildFile; fileRef = 65901A4209FC6039005BD752 /* WebCoreStringTruncator.h */; settings = {ATTRIBUTES = (Private, ); }; };
65901A4509FC6039005BD752 /* WebCoreStringTruncator.mm in Sources */ = {isa = PBXBuildFile; fileRef = 65901A4309FC6039005BD752 /* WebCoreStringTruncator.mm */; };
6593923709AE4346002C531F /* KURL.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6593923509AE4346002C531F /* KURL.cpp */; };
6582A15409999D6D00BEEB6D /* ScreenMac.mm */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.objcpp; path = ScreenMac.mm; sourceTree = "<group>"; };
6582A15509999D6D00BEEB6D /* SystemTimeMac.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = SystemTimeMac.cpp; sourceTree = "<group>"; };
6582A17709999EA000BEEB6D /* DeprecatedStringMac.mm */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.objcpp; path = DeprecatedStringMac.mm; sourceTree = "<group>"; };
+ 658436850AE01B7400E53753 /* FrameLoadRequest.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = FrameLoadRequest.h; sourceTree = "<group>"; };
65901A4209FC6039005BD752 /* WebCoreStringTruncator.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = WebCoreStringTruncator.h; sourceTree = "<group>"; };
65901A4309FC6039005BD752 /* WebCoreStringTruncator.mm */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.objcpp; path = WebCoreStringTruncator.mm; sourceTree = "<group>"; };
6593923509AE4346002C531F /* KURL.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = KURL.cpp; sourceTree = "<group>"; };
1403B90C09EB124500797C7F /* DOMWindow.idl */,
65BF02290974816300C43196 /* Frame.cpp */,
65BF022A0974816300C43196 /* Frame.h */,
+ 658436850AE01B7400E53753 /* FrameLoadRequest.h */,
65BF022B0974816300C43196 /* FramePrivate.h */,
65A21482097A3F5300B9050A /* FrameTree.cpp */,
65A21483097A3F5300B9050A /* FrameTree.h */,
93B77B1D0ADDA10700EA4B81 /* UChar.h in Headers */,
0668E18B0ADD9624004128E0 /* PopupMenu.h in Headers */,
6563A9A70ADF4094000ED2CD /* LoaderNSURLRequestExtras.h in Headers */,
+ 658436860AE01B7400E53753 /* FrameLoadRequest.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
mainGroup = 0867D691FE84028FC02AAC07 /* WebKit */;
productRefGroup = 034768DFFF38A50411DB9C8B /* Products */;
projectDirPath = "";
- projectRoot = "";
targets = (
93F198A508245E59001E9ABC /* WebCore */,
DD041FBE09D9DDBE0010AF2A /* Derived Sources */,
#include "EventNames.h"
#include "FloatRect.h"
#include "Frame.h"
+#include "FrameLoadRequest.h"
#include "FrameTree.h"
#include "HTMLDocument.h"
#include "JSCSSRule.h"
Frame* openerPart = openerWindow->frame();
Frame* activePart = Window::retrieveActive(exec)->frame();
- ResourceRequest request(KURL(""));
- request.frameName = frameName;
+ FrameLoadRequest frameRequest;
+ frameRequest.m_request = ResourceRequest(KURL(""));
+ frameRequest.m_frameName = frameName;
if (activePart)
- request.setReferrer(activePart->referrer());
+ frameRequest.m_request.setReferrer(activePart->referrer());
// FIXME: It's much better for client API if a new window starts with a URL, here where we
// know what URL we are going to open. Unfortunately, this code passes the empty string
// We'd have to resolve all those issues to pass the URL instead of "".
Frame* newFrame = 0;
- openerPart->browserExtension()->createNewWindow(request, windowArgs, newFrame);
+ openerPart->browserExtension()->createNewWindow(frameRequest, windowArgs, newFrame);
if (!newFrame)
return 0;
if (!str.isEmpty() && activePart)
url = activePart->document()->completeURL(str.deprecatedString());
- ResourceRequest request;
- request.setURL(url);
- request.frameName = frameName.deprecatedString();
- if (request.frameName == "_top") {
+ FrameLoadRequest frameRequest;
+ frameRequest.m_request.setURL(url);
+ frameRequest.m_frameName = frameName.deprecatedString();
+ if (frameRequest.m_frameName == "_top") {
while (frame->tree()->parent())
frame = frame->tree()->parent();
}
return Window::retrieve(frame);
}
- if (request.frameName == "_parent") {
+ if (frameRequest.m_frameName == "_parent") {
if (frame->tree()->parent())
frame = frame->tree()->parent();
// request window (new or existing if framename is set)
Frame* newFrame = 0;
- request.setReferrer(activePart->referrer());
- frame->browserExtension()->createNewWindow(request, windowArgs, newFrame);
+ frameRequest.m_request.setReferrer(activePart->referrer());
+ frame->browserExtension()->createNewWindow(frameRequest, windowArgs, newFrame);
if (!newFrame)
return jsUndefined();
newFrame->setOpener(frame);
namespace WebCore {
class Frame;
+class FrameLoadRequest;
struct WindowArgs {
float x;
public:
virtual ~BrowserExtension() { }
- virtual void createNewWindow(const ResourceRequest&) = 0;
- virtual void createNewWindow(const ResourceRequest&, const WindowArgs&, Frame*&) = 0;
+ virtual void createNewWindow(const FrameLoadRequest&) = 0;
+ virtual void createNewWindow(const FrameLoadRequest&, const WindowArgs&, Frame*&) = 0;
virtual int getHistoryLength() = 0;
virtual void goBackOrForward(int distance) = 0;
public:
BrowserExtensionMac(Frame *);
- virtual void createNewWindow(const ResourceRequest&);
- virtual void createNewWindow(const ResourceRequest&,
- const WindowArgs&,
- Frame*& part);
+ virtual void createNewWindow(const FrameLoadRequest&);
+ virtual void createNewWindow(const FrameLoadRequest&, const WindowArgs&, Frame*& part);
virtual int getHistoryLength();
virtual void goBackOrForward(int distance);
virtual void runModal();
private:
- void createNewWindow(const ResourceRequest&,
+ void createNewWindow(const FrameLoadRequest&,
const WindowArgs&,
Frame** part);
#import "BlockExceptions.h"
#import "FloatRect.h"
#import "FrameMac.h"
+#import "FrameLoadRequest.h"
#import "FrameTree.h"
#import "Page.h"
#import "Screen.h"
{
}
-void BrowserExtensionMac::createNewWindow(const ResourceRequest& request)
+void BrowserExtensionMac::createNewWindow(const FrameLoadRequest& request)
{
createNewWindow(request, WindowArgs(), NULL);
}
-void BrowserExtensionMac::createNewWindow(const ResourceRequest& request,
+void BrowserExtensionMac::createNewWindow(const FrameLoadRequest& request,
const WindowArgs& winArgs,
Frame*& part)
{
createNewWindow(request, winArgs, &part);
}
-void BrowserExtensionMac::createNewWindow(const ResourceRequest& request,
+void BrowserExtensionMac::createNewWindow(const FrameLoadRequest& request,
const WindowArgs& winArgs,
Frame** partResult)
{
BEGIN_BLOCK_OBJC_EXCEPTIONS;
- ASSERT(!winArgs.dialog || request.frameName.isEmpty());
+ ASSERT(!winArgs.dialog || request.m_frameName.isEmpty());
if (partResult)
*partResult = NULL;
- const KURL& url = request.url();
+ const KURL& url = request.m_request.url();
- NSString *frameName = request.frameName.isEmpty() ? nil : (NSString*)request.frameName;
+ NSString *frameName = request.m_frameName.isEmpty() ? nil : (NSString*)request.m_frameName;
if (frameName) {
// FIXME: Can't we just use m_frame->findFrame?
if (WebCoreFrameBridge *frameBridge = [m_frame->bridge() findFrameNamed:frameName]) {
if (!url.isEmpty()) {
- String argsReferrer = request.referrer();
+ String argsReferrer = request.m_request.referrer();
NSString *referrer;
if (!argsReferrer.isEmpty())
referrer = argsReferrer;
[frameBridge loadURL:url.getNSURL()
referrer:referrer
- reload:request.reload
+ reload:request.m_request.reload
userGesture:true
target:nil
triggeringEvent:nil
WebCoreFrameBridge *frameBridge = [pageBridge mainFrame];
if ([frameBridge impl])
- [frameBridge impl]->tree()->setName(AtomicString(request.frameName));
+ [frameBridge impl]->tree()->setName(AtomicString(request.m_frameName));
if (partResult)
*partResult = [frameBridge impl];
virtual bool openURL(const KURL&);
- virtual void openURLRequest(const ResourceRequest&);
- virtual void submitForm(const ResourceRequest&);
String advanceToNextMisspelling(bool startBeforeSelection = false);
virtual void setTitle(const String&);
virtual void setStatusBarText(const String&);
- virtual void urlSelected(const ResourceRequest&);
+ virtual void submitForm(const FrameLoadRequest&);
+ virtual void openURLRequest(const FrameLoadRequest&);
+ virtual void urlSelected(const FrameLoadRequest&);
virtual ObjectContentType objectContentType(const KURL& url, const String& mimeType);
virtual Plugin* createPlugin(Element* element, const KURL& url, const Vector<String>& paramNames, const Vector<String>& paramValues, const String& mimeType);
#import "FontData.h"
#import "FoundationExtras.h"
#import "FramePrivate.h"
+#import "FrameLoadRequest.h"
#import "GraphicsContext.h"
#import "HTMLDocument.h"
#import "HTMLFormElement.h"
return true;
}
-void FrameMac::openURLRequest(const ResourceRequest& request)
-{
- BEGIN_BLOCK_OBJC_EXCEPTIONS;
-
- NSString *referrer;
- String argsReferrer = request.referrer();
- if (!argsReferrer.isEmpty())
- referrer = argsReferrer;
- else
- referrer = [_bridge referrer];
-
- [_bridge loadURL:request.url().getNSURL()
- referrer:referrer
- reload:request.reload
- userGesture:userGestureHint()
- target:request.frameName
- triggeringEvent:nil
- form:nil
- formValues:nil];
-
- END_BLOCK_OBJC_EXCEPTIONS;
-}
-
-
// Either get cached regexp or build one that matches any of the labels.
// The regexp we build is of the form: (STR1|STR2|STRN)
RegularExpression *regExpForLabels(NSArray *labels)
return nil;
}
-void FrameMac::submitForm(const ResourceRequest& request)
+void FrameMac::submitForm(const FrameLoadRequest& request)
{
BEGIN_BLOCK_OBJC_EXCEPTIONS;
// FIXME: Frame targeting is only one of the ways the submission could end up doing something other
// than replacing this frame's content, so this check is flawed. On the other hand, the check is hardly
// needed any more now that we reset d->m_submittedFormURL on each mouse or key down event.
- WebCoreFrameBridge *target = request.frameName.isEmpty() ? _bridge : [_bridge findFrameNamed:request.frameName];
+ WebCoreFrameBridge *target = request.m_frameName.isEmpty() ? _bridge : [_bridge findFrameNamed:request.m_frameName];
Frame *targetPart = [target impl];
bool willReplaceThisFrame = false;
for (Frame *p = this; p; p = p->tree()->parent()) {
}
}
if (willReplaceThisFrame) {
- if (d->m_submittedFormURL == request.url())
+ if (d->m_submittedFormURL == request.m_request.url())
return;
- d->m_submittedFormURL = request.url();
+ d->m_submittedFormURL = request.m_request.url();
}
ObjCDOMElement* submitForm = [DOMElement _elementWith:d->m_formAboutToBeSubmitted.get()];
NSMutableDictionary* formValues = createNSDictionary(d->m_formValuesAboutToBeSubmitted);
- if (!request.doPost()) {
- [_bridge loadURL:request.url().getNSURL()
+ if (!request.m_request.doPost()) {
+ [_bridge loadURL:request.m_request.url().getNSURL()
referrer:[_bridge referrer]
- reload:request.reload
+ reload:request.m_request.reload
userGesture:true
- target:request.frameName
+ target:request.m_frameName
triggeringEvent:_currentEvent
form:submitForm
formValues:formValues];
} else {
- ASSERT(request.contentType().startsWith("Content-Type: "));
- [_bridge postWithURL:request.url().getNSURL()
+ ASSERT(request.m_request.contentType().startsWith("Content-Type: "));
+ [_bridge postWithURL:request.m_request.url().getNSURL()
referrer:[_bridge referrer]
- target:request.frameName
- data:arrayFromFormData(request.postData)
- contentType:request.contentType().substring(14)
+ target:request.m_frameName
+ data:arrayFromFormData(request.m_request.postData)
+ contentType:request.m_request.contentType().substring(14)
triggeringEvent:_currentEvent
form:submitForm
formValues:formValues];
END_BLOCK_OBJC_EXCEPTIONS;
}
-void FrameMac::urlSelected(const ResourceRequest& request)
+void FrameMac::openURLRequest(const FrameLoadRequest& request)
+{
+ BEGIN_BLOCK_OBJC_EXCEPTIONS;
+
+ NSString *referrer;
+ String argsReferrer = request.m_request.referrer();
+ if (!argsReferrer.isEmpty())
+ referrer = argsReferrer;
+ else
+ referrer = [_bridge referrer];
+
+ [_bridge loadURL:request.m_request.url().getNSURL()
+ referrer:referrer
+ reload:request.m_request.reload
+ userGesture:userGestureHint()
+ target:request.m_frameName
+ triggeringEvent:nil
+ form:nil
+ formValues:nil];
+
+ END_BLOCK_OBJC_EXCEPTIONS;
+}
+
+
+void FrameMac::urlSelected(const FrameLoadRequest& request)
{
BEGIN_BLOCK_OBJC_EXCEPTIONS;
NSString* referrer;
- String argsReferrer = request.referrer();
+ String argsReferrer = request.m_request.referrer();
if (!argsReferrer.isEmpty())
referrer = argsReferrer;
else
referrer = [_bridge referrer];
- [_bridge loadURL:request.url().getNSURL()
+ [_bridge loadURL:request.m_request.url().getNSURL()
referrer:referrer
- reload:request.reload
+ reload:request.m_request.reload
userGesture:true
- target:request.frameName
+ target:request.m_frameName
triggeringEvent:_currentEvent
form:nil
formValues:nil];
public:
BrowserExtensionWin(FrameWin*);
- virtual void createNewWindow(const ResourceRequest&);
- virtual void createNewWindow(const ResourceRequest&,
+ virtual void createNewWindow(const FrameLoadRequest&);
+ virtual void createNewWindow(const FrameLoadRequest&,
const WindowArgs&,
Frame*& part);
#include "EventNames.h"
#include "FloatRect.h"
#include "Frame.h"
+#include "FrameLoadRequest.h"
#include "GraphicsContext.h"
#include "HTMLFormElement.h"
#include "HTMLFrameElement.h"
}
ResourceRequest request(completeURL(URL));
- request.setLockHistory(lockHistory);
if (!referrer.isEmpty())
request.setReferrer(referrer);
request.reload = (d->m_cachePolicy == CachePolicyReload) || (d->m_cachePolicy == CachePolicyRefresh);
- urlSelected(request, "_self");
+ urlSelected(request, "_self", lockHistory);
}
void Frame::redirectionTimerFired(Timer<Frame>*)
urlSelected(ResourceRequest(completeURL(url)), target);
}
-void Frame::urlSelected(const ResourceRequest& request, const String& _target)
+void Frame::urlSelected(const ResourceRequest& request, const String& _target, bool lockHistory)
{
String target = _target;
if (target.isEmpty() && d->m_doc)
// ### ERROR HANDLING
return;
- ResourceRequest requestCopy = request;
- requestCopy.frameName = target;
+ FrameLoadRequest frameRequest;
+ frameRequest.m_request = request;
+ frameRequest.m_frameName = target;
if (d->m_bHTTPRefresh)
d->m_bHTTPRefresh = false;
if (!d->m_referrer.isEmpty())
- requestCopy.setReferrer(d->m_referrer);
+ frameRequest.m_request.setReferrer(d->m_referrer);
- urlSelected(requestCopy);
+ urlSelected(frameRequest);
}
bool Frame::requestFrame(Element* ownerElement, const String& urlParam, const AtomicString& frameName)
ResourceRequest request(url);
request.setReferrer(d->m_referrer);
request.reload = (d->m_cachePolicy == CachePolicyReload) || (d->m_cachePolicy == CachePolicyRefresh);
- frame->openURLRequest(request);
+ FrameLoadRequest frameRequest;
+ frameRequest.m_request = request;
+ frame->openURLRequest(frameRequest);
} else
frame = loadSubframe(ownerElement, url, frameName, d->m_referrer);
return;
}
- ResourceRequest request;
+ FrameLoadRequest frameRequest;
if (!d->m_referrer.isEmpty())
- request.setReferrer(d->m_referrer);
+ frameRequest.m_request.setReferrer(d->m_referrer);
- request.frameName = _target.isEmpty() ? d->m_doc->baseTarget() : _target ;
+ frameRequest.m_frameName = _target.isEmpty() ? d->m_doc->baseTarget() : _target ;
// Handle mailto: forms
if (u.protocol() == "mailto") {
if (strcmp(action, "get") == 0) {
if (u.protocol() != "mailto")
u.setQuery(formData.flattenToString().deprecatedString());
- request.setDoPost(false);
+ frameRequest.m_request.setDoPost(false);
} else {
- request.postData = formData;
- request.setDoPost(true);
+ frameRequest.m_request.postData = formData;
+ frameRequest.m_request.setDoPost(true);
// construct some user headers if necessary
if (contentType.isNull() || contentType == "application/x-www-form-urlencoded")
- request.setContentType("Content-Type: application/x-www-form-urlencoded");
+ frameRequest.m_request.setContentType("Content-Type: application/x-www-form-urlencoded");
else // contentType must be "multipart/form-data"
- request.setContentType("Content-Type: " + contentType + "; boundary=" + boundary);
+ frameRequest.m_request.setContentType("Content-Type: " + contentType + "; boundary=" + boundary);
}
if (d->m_runningScripts > 0) {
d->m_submitForm->submitContentType = contentType;
d->m_submitForm->submitBoundary = boundary;
} else {
- request.setURL(u);
- submitForm(request);
+ frameRequest.m_request.setURL(u);
+ submitForm(frameRequest);
}
}
class DOMWindow;
class EditCommand;
class FramePrivate;
+class FrameLoadRequest;
class FrameTree;
class KJSProxy;
class Page;
void selectClosestWordFromMouseEvent(const PlatformMouseEvent&, Node* innerNode);
virtual void urlSelected(const DeprecatedString& url, const String& target);
- virtual void urlSelected(const ResourceRequest&, const String& target);
+ virtual void urlSelected(const ResourceRequest&, const String& target, bool lockHistory = false);
// Methods with platform-specific overrides (and no base class implementation).
virtual void setTitle(const String&) = 0;
virtual void saveDocumentState() = 0;
virtual void restoreDocumentState() = 0;
virtual bool canGoBackOrForward(int distance) const = 0;
- virtual void openURLRequest(const ResourceRequest&) = 0;
- virtual void submitForm(const ResourceRequest&) = 0;
- virtual void urlSelected(const ResourceRequest&) = 0;
+ virtual void openURLRequest(const FrameLoadRequest&) = 0;
+ virtual void submitForm(const FrameLoadRequest&) = 0;
+ virtual void urlSelected(const FrameLoadRequest&) = 0;
virtual bool lastEventIsMouseUp() const = 0;
virtual String overrideMediaType() const = 0;
virtual void redirectDataToPlugin(Widget* pluginWidget) { }
--- /dev/null
+// -*- mode: c++; c-basic-offset: 4 -*-
+/*
+ * Copyright (C) 2003, 2006 Apple Computer, Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef FrameLoadRequest_H_
+#define FrameLoadRequest_H_
+
+#include "ResourceRequest.h"
+
+
+namespace WebCore {
+
+ struct FrameLoadRequest {
+ public:
+ FrameLoadRequest() : m_lockHistory(false) { }
+ ResourceRequest m_request;
+ String m_frameName;
+ bool lockHistory() const { return m_lockHistory; }
+ void setLockHistory(bool lock) { m_lockHistory = lock; }
+
+ private:
+ bool m_lockHistory;
+ };
+
+}
+
+#endif // FrameLoadRequest_H_
+
struct ResourceRequest {
- ResourceRequest() : m_lockHistory(false), reload(false), m_doPost(false) { }
- explicit ResourceRequest(const KURL& url) : m_lockHistory(false), reload(false), m_url(url), m_doPost(false) { }
+ ResourceRequest() : reload(false), m_doPost(false) { }
+ explicit ResourceRequest(const KURL& url) : reload(false), m_url(url), m_doPost(false) { }
const KURL& url() const { return m_url; }
void setURL(const KURL& url) { m_url = url; }
bool doPost() const { return m_doPost; }
void setDoPost(bool post) { m_doPost = post; }
- bool lockHistory() const { return m_lockHistory; }
- void setLockHistory(bool lock) { m_lockHistory = lock; }
-
const String& referrer() const { return m_referrer; }
void setReferrer(const String& referrer) { m_referrer = referrer; }
- // FIXME: these two parameters are specific to frame opening,
- // should move to FrameRequest once we have that
- String frameName;
- private:
- bool m_lockHistory;
-
public:
FormData postData;
bool reload;