X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=Source%2FWebKit2%2FWebProcess%2FWebPage%2FWebPage.h;h=8c69ad3a26c7009a541b5b3ca2715ed0811e4484;hb=b8bed2469cb69146c1b048442418e82b9214f8bc;hp=0466ca4e678942664af733f73dbd7a951f2de5f0;hpb=ad0944515e7af33a54bdeeb09e121933ddf93afb;p=framework%2Fweb%2Fwebkit-efl.git diff --git a/Source/WebKit2/WebProcess/WebPage/WebPage.h b/Source/WebKit2/WebProcess/WebPage/WebPage.h index 0466ca4..8c69ad3 100755 --- a/Source/WebKit2/WebProcess/WebPage/WebPage.h +++ b/Source/WebKit2/WebProcess/WebPage/WebPage.h @@ -195,6 +195,42 @@ class WebUserMediaClient; #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& underlines, uint64_t cursorPosition) + : KeyPressCommand(KeyPressCommandSetComposition), compositionString(compositionString), underlines(underlines), cursorPosition(cursorPosition) { } + + String compositionString; + Vector 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 { @@ -236,6 +272,9 @@ public: #if ENABLE(TIZEN_ISF_PORT) void didCancelComposition(WebCore::Node*); + void prepareKeyDownEvent(); + void swapKeyPressCommands(Vector >&); + void getCursorOffset(int&); void getSurroundingTextAndCursorOffset(String&, int&); void getSelectionRect(bool, WebCore::IntRect&); @@ -264,6 +303,10 @@ public: void suspendJavaScriptAndResources(); void resumeJavaScriptAndResources(); + + void suspendAnimations(); + void resumeAnimations(); + #if ENABLE(TIZEN_SYNC_REQUEST_ANIMATION_FRAME) void suspendAnimationController(); void resumeAnimationController(); @@ -273,7 +316,7 @@ public: void resumePlugin(); #endif #endif -#if ENABLE(TIZEN_WEBKIT2_REMOTE_WEB_INSPECTOR) +#if ENABLE(TIZEN_REMOTE_WEB_INSPECTOR) void startInspectorServer(uint32_t port, uint32_t& assignedPort); void stopInspectorServer(bool& result); #endif @@ -293,14 +336,20 @@ public: // 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); void selectionClearAllSelection(WebCore::Frame* frame); void scrollContentByCharacter(const WebCore::IntPoint&, int direction, bool& result); + void scrollContentByLine(const WebCore::IntPoint&, int direction, bool& result); #endif #if ENABLE(TIZEN_OFFLINE_PAGE_SAVE) @@ -342,6 +391,9 @@ public: WebOpenPanelResultListener* activeOpenPanelResultListener() const { return m_activeOpenPanelResultListener.get(); } void setActiveOpenPanelResultListener(PassRefPtr); +#if OS(TIZEN) + void cancelForOpenPanel(); +#endif // -- Called from WebProcess. void didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*); @@ -732,10 +784,6 @@ public: WebCore::HTTPHeaderMap customHeaders(); #endif -#if ENABLE(TIZEN_WEBKIT2_GET_TEXT_STYLE_FOR_SELECTION) - void getTextStyleStateForSelection(); -#endif - #if PLATFORM(GTK) && USE(TEXTURE_MAPPER_GL) uint64_t nativeWindowHandle() { return m_nativeWindowHandle; } #endif @@ -749,14 +797,20 @@ public: #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(); #endif +#if ENABLE(TIZEN_SCREEN_READER) || ENABLE(TIZEN_FOCUS_UI) || ENABLE(TIZEN_WEBKIT2_TEXT_SELECTION) + WebCore::IntRect nodeRect(WebCore::Node*) const; +#endif + #if ENABLE(TIZEN_WEBKIT2_POPUP_INTERNAL) void notifyTransitionToCommitted(bool); #endif @@ -773,6 +827,14 @@ public: void setLocalStorageDirectory(const String& path); #endif +#if ENABLE(TIZEN_USE_SETTINGS_FONT) + void useSettingsFont(); +#endif + +#if OS(TIZEN) + void didChangeContents(const WebCore::IntRect&); +#endif + private: WebPage(uint64_t pageID, const WebPageCreationParameters&); @@ -1130,6 +1192,11 @@ private: #if ENABLE(TIZEN_WEBKIT2_TEXT_SELECTION) EditorState m_editorState; #endif + +#if ENABLE(TIZEN_ISF_PORT) + bool m_prepareKeyDownEvent; + Vector > m_keyPressCommands; +#endif }; #if ENABLE(TIZEN_NATIVE_MEMORY_SNAPSHOT)