#if ENABLE(TIZEN_ISF_PORT)
class NativeWebKeyboardEvent;
+
+enum {
+ KeyPressCommandSetComposition,
+ KeyPressCommandConfirmComposition,
+ KeyPressCommandDeleteText
+};
+
+struct KeyPressCommand {
+ KeyPressCommand(int type) : type(type) { }
+
+ int type;
+};
+
+struct SetCompositionKeyPressCommand : public KeyPressCommand {
+ SetCompositionKeyPressCommand(const String& compositionString, const Vector<WebCore::CompositionUnderline>& underlines, uint64_t cursorPosition)
+ : KeyPressCommand(KeyPressCommandSetComposition), compositionString(compositionString), underlines(underlines), cursorPosition(cursorPosition) { }
+
+ String compositionString;
+ Vector<WebCore::CompositionUnderline> underlines;
+ uint64_t cursorPosition;
+};
+
+struct ConfirmCompositionKeyPressCommand : public KeyPressCommand {
+ ConfirmCompositionKeyPressCommand(const String& compositionString)
+ : KeyPressCommand(KeyPressCommandConfirmComposition), compositionString(compositionString) { }
+
+ String compositionString;
+};
+
+struct DeleteTextKeyPressCommand : public KeyPressCommand {
+ DeleteTextKeyPressCommand(int offset, int count)
+ : KeyPressCommand(KeyPressCommandDeleteText), offset(offset), count(count) { }
+
+ int offset;
+ int count;
+};
#endif
class WebPage : public APIObject, public CoreIPC::MessageSender<WebPage> {
#if ENABLE(TIZEN_ISF_PORT)
void didCancelComposition(WebCore::Node*);
+ void prepareKeyDownEvent();
+ void swapKeyPressCommands(Vector<OwnPtr<KeyPressCommand> >&);
+
void getCursorOffset(int&);
void getSurroundingTextAndCursorOffset(String&, int&);
void getSelectionRect(bool, WebCore::IntRect&);
// FIXME: We could genericize these into a DrawingArea client interface. Would that be beneficial?
void drawRect(WebCore::GraphicsContext&, const WebCore::IntRect&);
#if ENABLE(TIZEN_WEBKIT2_TEXT_SELECTION)
- void selectClosestWord(const WebCore::IntPoint&, bool isStartedTextSelectionFromOutside, bool& result);
- void setLeftSelection(const WebCore::IntPoint&, bool& result);
- void setRightSelection(const WebCore::IntPoint&, bool& result);
+ enum HandleMovingDirection {
+ HandleMovingDirectionNone = 0,
+ HandleMovingDirectionNormal,
+ HandleMovingDirectionReverse,
+ };
+ void selectClosestWord(const WebCore::IntPoint&, bool& result);
+ void setLeftSelection(const WebCore::IntPoint&, const int direction, int& result);
+ void setRightSelection(const WebCore::IntPoint&, const int direction, int& result);
void getSelectionHandlers(WebCore::IntRect& leftRect, WebCore::IntRect& rightRect);
void getSelectionText(String& result);
void selectionRangeClear(bool& result);
#endif
#if ENABLE(TIZEN_SCREEN_READER)
- void raiseTapEvent(const WebCore::IntPoint&, const WebCore::IntPoint&);
void moveScreenReaderFocus(bool, bool&);
void moveScreenReaderFocusByPoint(const WebCore::IntPoint&);
+ void clearScreenReaderFocus();
+ void raiseTapEvent(const WebCore::IntPoint&, const WebCore::IntPoint&, bool&);
+ void adjustScreenReaderFocusedObjectValue(bool);
void recalcScreenReaderFocusRect();
void updateScreenReaderFocus(WebCore::RenderObject*);
void clearScreenReader();
#if ENABLE(TIZEN_WEBKIT2_TEXT_SELECTION)
EditorState m_editorState;
#endif
+
+#if ENABLE(TIZEN_ISF_PORT)
+ bool m_prepareKeyDownEvent;
+ Vector<OwnPtr<KeyPressCommand> > m_keyPressCommands;
+#endif
};
#if ENABLE(TIZEN_NATIVE_MEMORY_SNAPSHOT)