NavigationActionData.cpp [plain text]
#include "config.h"
#include "NavigationActionData.h"
#include "ArgumentCoders.h"
#include "Decoder.h"
#include "Encoder.h"
#include "WebCoreArgumentCoders.h"
using namespace WebCore;
namespace WebKit {
void NavigationActionData::encode(IPC::Encoder& encoder) const
{
encoder.encodeEnum(navigationType);
encoder.encodeEnum(modifiers);
encoder.encodeEnum(mouseButton);
encoder.encodeEnum(syntheticClickType);
encoder << userGestureTokenIdentifier;
encoder << canHandleRequest;
encoder.encodeEnum(shouldOpenExternalURLsPolicy);
encoder << downloadAttribute;
encoder << clickLocationInRootViewCoordinates;
encoder << isRedirect;
}
bool NavigationActionData::decode(IPC::Decoder& decoder, NavigationActionData& result)
{
if (!decoder.decodeEnum(result.navigationType))
return false;
if (!decoder.decodeEnum(result.modifiers))
return false;
if (!decoder.decodeEnum(result.mouseButton))
return false;
if (!decoder.decodeEnum(result.syntheticClickType))
return false;
if (!decoder.decode(result.userGestureTokenIdentifier))
return false;
if (!decoder.decode(result.canHandleRequest))
return false;
if (!decoder.decodeEnum(result.shouldOpenExternalURLsPolicy))
return false;
if (!decoder.decode(result.downloadAttribute))
return false;
if (!decoder.decode(result.clickLocationInRootViewCoordinates))
return false;
if (!decoder.decode(result.isRedirect))
return false;
return true;
}
}