#include "config.h"
#include "EditorState.h"
#include "Arguments.h"
#include "WebCoreArgumentCoders.h"
namespace WebKit {
void EditorState::encode(CoreIPC::ArgumentEncoder* encoder) const
{
encoder->encode(shouldIgnoreCompositionSelectionChange);
encoder->encode(selectionIsNone);
encoder->encode(selectionIsRange);
encoder->encode(isContentEditable);
encoder->encode(isContentRichlyEditable);
encoder->encode(isInPasswordField);
encoder->encode(hasComposition);
#if PLATFORM(QT)
encoder->encode(cursorPosition);
encoder->encode(anchorPosition);
encoder->encode(editorRect);
encoder->encode(cursorRect);
encoder->encode(compositionRect);
encoder->encode(inputMethodHints);
encoder->encode(selectedText);
encoder->encode(surroundingText);
#endif
}
bool EditorState::decode(CoreIPC::ArgumentDecoder* decoder, EditorState& result)
{
if (!decoder->decode(result.shouldIgnoreCompositionSelectionChange))
return false;
if (!decoder->decode(result.selectionIsNone))
return false;
if (!decoder->decode(result.selectionIsRange))
return false;
if (!decoder->decode(result.isContentEditable))
return false;
if (!decoder->decode(result.isContentRichlyEditable))
return false;
if (!decoder->decode(result.isInPasswordField))
return false;
if (!decoder->decode(result.hasComposition))
return false;
#if PLATFORM(QT)
if (!decoder->decode(result.cursorPosition))
return false;
if (!decoder->decode(result.anchorPosition))
return false;
if (!decoder->decode(result.editorRect))
return false;
if (!decoder->decode(result.cursorRect))
return false;
if (!decoder->decode(result.compositionRect))
return false;
if (!decoder->decode(result.inputMethodHints))
return false;
if (!decoder->decode(result.selectedText))
return false;
if (!decoder->decode(result.surroundingText))
return false;
#endif
return true;
}
}