NavigationAction.cpp [plain text]
#include "config.h"
#include "NavigationAction.h"
#include "Event.h"
#include "FrameLoader.h"
namespace WebCore {
static NavigationType navigationType(FrameLoadType frameLoadType, bool isFormSubmission, bool haveEvent)
{
if (isFormSubmission)
return NavigationTypeFormSubmitted;
if (haveEvent)
return NavigationTypeLinkClicked;
if (frameLoadType == FrameLoadTypeReload || frameLoadType == FrameLoadTypeReloadFromOrigin)
return NavigationTypeReload;
if (isBackForwardLoadType(frameLoadType))
return NavigationTypeBackForward;
return NavigationTypeOther;
}
NavigationAction::NavigationAction()
: m_type(NavigationTypeOther)
{
}
NavigationAction::NavigationAction(const ResourceRequest& resourceRequest)
: m_resourceRequest(resourceRequest)
, m_type(NavigationTypeOther)
{
}
NavigationAction::NavigationAction(const ResourceRequest& resourceRequest, NavigationType type)
: m_resourceRequest(resourceRequest)
, m_type(type)
{
}
NavigationAction::NavigationAction(const ResourceRequest& resourceRequest, FrameLoadType frameLoadType,
bool isFormSubmission)
: m_resourceRequest(resourceRequest)
, m_type(navigationType(frameLoadType, isFormSubmission, 0))
{
}
NavigationAction::NavigationAction(const ResourceRequest& resourceRequest, NavigationType type, PassRefPtr<Event> event)
: m_resourceRequest(resourceRequest)
, m_type(type)
, m_event(event)
{
}
NavigationAction::NavigationAction(const ResourceRequest& resourceRequest, FrameLoadType frameLoadType,
bool isFormSubmission, PassRefPtr<Event> event)
: m_resourceRequest(resourceRequest)
, m_type(navigationType(frameLoadType, isFormSubmission, event))
, m_event(event)
{
}
}