#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&);
void createPagesToPDF(const WebCore::IntSize&, const WebCore::IntSize&, const String&);
#endif
#if ENABLE(TIZEN_WEBKIT2_HIT_TEST)
+#if ENABLE(TOUCH_ADJUSTMENT)
+ void hitTestResultAtPoint(const WebCore::IntPoint&, int hitTestMode, const WebCore::IntSize&, WebHitTestResult::Data&);
+#else
void hitTestResultAtPoint(const WebCore::IntPoint&, int hitTestMode, WebHitTestResult::Data&);
#endif
+#endif
#if ENABLE(TIZEN_WEB_STORAGE)
void getStorageQuotaBytes(uint64_t callbackID);
void suspendJavaScriptAndResources();
void resumeJavaScriptAndResources();
+
+ void suspendAnimations();
+ void resumeAnimations();
+
#if ENABLE(TIZEN_SYNC_REQUEST_ANIMATION_FRAME)
void suspendAnimationController();
void resumeAnimationController();
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
// 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)
WebOpenPanelResultListener* activeOpenPanelResultListener() const { return m_activeOpenPanelResultListener.get(); }
void setActiveOpenPanelResultListener(PassRefPtr<WebOpenPanelResultListener>);
+#if OS(TIZEN)
+ void cancelForOpenPanel();
+#endif
// -- Called from WebProcess.
void didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*);
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
#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_SCREEN_READER) || ENABLE(TIZEN_FOCUS_UI)
+ void didChangeFocusedRect(WebCore::Node*);
+#endif
+
#if ENABLE(TIZEN_WEBKIT2_POPUP_INTERNAL)
void notifyTransitionToCommitted(bool);
#endif
void useSettingsFont();
#endif
+#if OS(TIZEN)
+ void didChangeContents(const WebCore::IntRect&);
+#endif
+
+#if ENABLE(TIZEN_FOCUS_UI)
+ void setSpatialNavigationEnabled(bool);
+#endif
+
private:
WebPage(uint64_t pageID, const WebPageCreationParameters&);
OwnPtr<ScreenReader> m_screenReader;
#endif
+#if ENABLE(TIZEN_SCREEN_READER) || ENABLE(TIZEN_FOCUS_UI)
+ WebCore::IntRect m_focusedRect;
+#endif
+
#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)