#include "UserMediaPermissionRequestManagerProxy.h"
#endif
+#if ENABLE(TIZEN_OFFLINE_PAGE_SAVE)
+#include "WebSubresourceTizen.h"
+#endif
+
#if ENABLE(TIZEN_CSS_OVERFLOW_SCROLL_ACCELERATION)
#include "WebLayerTreeInfo.h"
#endif
+#if ENABLE(TIZEN_CSP)
+#include <WebCore/ContentSecurityPolicy.h>
+#endif
+
+#if ENABLE(TIZEN_WEBKIT2_TEXT_SELECTION)
+#include <WebCore/VisibleSelection.h>
+#endif
+
namespace CoreIPC {
class ArgumentDecoder;
class Connection;
class WebOpenPanelResultListenerProxy;
class WebPageGroup;
class WebProcessProxy;
+#if ENABLE(TIZEN_OFFLINE_PAGE_SAVE)
+class WebSubresourceTizen;
+#endif
class WebURLRequest;
class WebWheelEvent;
struct AttributedString;
typedef GenericCallback<WKSerializedScriptValueRef, WebSerializedScriptValue*> ScriptValueCallback;
#if ENABLE(TIZEN_SUPPORT_WEBAPP_META_TAG)
typedef GenericCallback<WKBooleanRef> BooleanCallback;
+typedef GenericCallback<WKDictionaryRef> DictionaryCallback;
#endif
#if ENABLE(TIZEN_WEB_STORAGE)
#if ENABLE(TIZEN_WEBKIT2_NUMBER_TYPE_SUPPORT)
WebBackForwardList* backForwardList() const { return m_backForwardList.get(); }
+#if ENABLE(TIZEN_WEBKIT2_NOTIFY_SUSPEND_BY_REMOTE_WEB_INSPECTOR)
+ bool isContentSuspendedByInspector() { return m_contentSuspendedByInspector; }
+#endif
+
#if ENABLE(INSPECTOR)
WebInspectorProxy* inspector();
#endif
void initializeContextMenuClient(const WKPageContextMenuClient*);
#endif
void initializeFindClient(const WKPageFindClient*);
+ void initializeFindMatchesClient(const WKPageFindMatchesClient*);
void initializeFormClient(const WKPageFormClient*);
void initializeLoaderClient(const WKPageLoaderClient*);
void initializePolicyClient(const WKPagePolicyClient*);
HWND nativeWindow() const;
#endif
+#if PLATFORM(EFL)
+ void handleInputMethodKeydown(bool& handled);
+ void confirmComposition(const String&);
+ void setComposition(const String&, Vector<WebCore::CompositionUnderline>&, int);
+ void cancelComposition();
+#endif
#if PLATFORM(GTK)
GtkWidget* viewWidget();
#endif
#endif
#if OS(TIZEN)
- void confirmComposition(const String&);
- void setComposition(const String&, Vector<WebCore::CompositionUnderline>&, int);
- void handleInputMethodKeydown(bool&);
+#if ENABLE(TIZEN_REDUCE_KEY_LAGGING)
+ static Eina_Bool pageContentResumeTimerFired(void* data);
+#endif
#if ENABLE(TIZEN_TEXT_CARET_HANDLING_WK2)
void setCaretPosition(const WebCore::IntPoint&);
void getCaretPosition(WebCore::IntRect&);
#endif
#if ENABLE(TIZEN_WEBKIT2_HIT_TEST)
+#if ENABLE(TOUCH_ADJUSTMENT)
+ WebHitTestResult::Data hitTestResultAtPoint(const WebCore::IntPoint&, int hitTestMode = WebHitTestResult::HitTestModeDefault, const WebCore::IntSize& area = WebCore::IntSize());
+#else
WebHitTestResult::Data hitTestResultAtPoint(const WebCore::IntPoint&, int hitTestMode = WebHitTestResult::HitTestModeDefault);
#endif
+#endif
#if ENABLE(TIZEN_CONTEXT_MENU_WEBKIT_2)
void hideContextMenu();
String contextMenuAbsoluteLinkURLString();
void clipboardContextMenuSelected();
void executePasteFromClipboardItem(const String& data, const String& type);
#endif
-#if ENABLE(TIZEN_WEBKIT2_REMOTE_WEB_INSPECTOR)
+#if ENABLE(TIZEN_REMOTE_WEB_INSPECTOR)
uint32_t startInspectorServer(uint32_t port);
bool stopInspectorServer();
#endif
void suspendJavaScriptAndResource();
void resumeJavaScriptAndResource();
+ void suspendAnimations();
+ void resumeAnimations();
+
#if ENABLE(TIZEN_PLUGIN_SUSPEND_RESUME)
void suspendPlugin();
void resumePlugin();
#endif
+#if ENABLE(TIZEN_WEBKIT2_TILED_AC)
+ void purgeBackingStoresOfInactiveView();
+#endif
+
#endif // #if OS(TIZEN)
#if USE(TILED_BACKING_STORE)
// Find.
void findString(const String&, FindOptions, unsigned maxMatchCount);
+ void findStringMatches(const String&, FindOptions, unsigned maxMatchCount);
+ void getImageForFindMatch(int32_t matchIndex);
+ void selectFindMatch(int32_t matchIndex);
+ void didGetImageForFindMatch(const ShareableBitmap::Handle& contentImageHandle, uint32_t matchIndex);
void hideFindUI();
void countStringMatches(const String&, FindOptions, unsigned maxMatchCount);
void didCountStringMatches(const String&, uint32_t matchCount);
void setFindIndicator(const WebCore::FloatRect& selectionRectInWindowCoordinates, const Vector<WebCore::FloatRect>& textRectsInSelectionRectCoordinates, float contentImageScaleFactor, const ShareableBitmap::Handle& contentImageHandle, bool fadeOut, bool animate);
void didFindString(const String&, uint32_t matchCount);
void didFailToFindString(const String&);
+ void didFindStringMatches(const String&, Vector<Vector<WebCore::IntRect> > matchRects, int32_t firstIndexAfterSelection);
#if PLATFORM(WIN)
void didInstallOrUninstallPageOverlay(bool);
#endif
void getContentsAsString(PassRefPtr<StringCallback>);
+#if ENABLE(MHTML)
+ void getContentsAsMHTMLData(PassRefPtr<DataCallback>, bool useBinaryEncoding);
+#endif
void getMainResourceDataOfFrame(WebFrameProxy*, PassRefPtr<DataCallback>);
void getResourceDataFromFrame(WebFrameProxy*, WebURL*, PassRefPtr<DataCallback>);
void getRenderTreeExternalRepresentation(PassRefPtr<StringCallback>);
void unlockOrientation();
#endif
-#if ENABLE(TIZEN_FILE_SYSTEM)
- void allowFileSystem(uint64_t frameID, const String& originIdentifier, bool& result);
-#endif
-
#if PLATFORM(MAC)
// Dictionary.
void performDictionaryLookupAtLocation(const WebCore::FloatPoint&);
uint64_t renderTreeSize() const { return m_renderTreeSize; }
void setShouldSendEventsSynchronously(bool sync) { m_shouldSendEventsSynchronously = sync; };
-#if ENABLE(TIZEN_INPUT_TAG_EXTENSION)
+#if ENABLE(TIZEN_INPUT_TAG_EXTENSION) || ENABLE(TIZEN_WEBKIT2_FORM_DATABASE)
void setFocusedInputElementValue(const String& inputValue);
String getFocusedInputElementValue();
#endif
#endif
void printMainFrame();
-
-#if ENABLE(TIZEN_RECORDING_SURFACE_SET)
-void recordingSurfaceSetEnableSet(bool enable);
-#endif
#if ENABLE(TIZEN_REGISTER_PROTOCOL_HANDLER)
void registerProtocolHandler(const String& scheme, const String& baseURL, const String& url, const String& title);
void getStandaloneStatus(bool& standalone);
void getWebAppCapable(PassRefPtr<BooleanCallback>);
void getWebAppIconURL(PassRefPtr<StringCallback>);
+ void getWebAppIconURLs(PassRefPtr<DictionaryCallback>);
#endif
void setMediaVolume(float);
void replyJavaScriptAlert();
void replyJavaScriptConfirm(bool result);
void replyJavaScriptPrompt(const String& result);
+#if ENABLE(TIZEN_SUPPORT_BEFORE_UNLOAD_CONFIRM_PANEL)
+ void replyBeforeUnloadConfirmPanel(bool result);
+#endif
+#endif
+
+#if ENABLE(TIZEN_ON_AUTHENTICATION_REQUESTED)
+ void replyReceiveAuthenticationChallengeInFrame(bool result);
#endif
#if ENABLE(TIZEN_CERTIFICATE_HANDLING)
bool scrollOverflow(const WebCore::FloatPoint&);
bool setPressedNodeAtPoint(const WebCore::IntPoint&, bool checkOverflowLayer, WebLayerID&);
void setLoadingFinished(const bool isLoadingFinished) { m_isLoadingFinished = isLoadingFinished; }
- const bool isLoadingFinished() const { return m_isLoadingFinished; }
- const bool askOverflow() const { return m_askOverflow; }
+ bool isLoadingFinished() const { return m_isLoadingFinished; }
+ bool askOverflow() const { return m_askOverflow; }
void setOverflowResult(bool pressed, WebLayerID webLayerID);
#endif
#if ENABLE(TIZEN_ISF_PORT)
- void updateCursorPosition();
- int getCursorOffsetPosition();
- String getContentOfPosition();
- bool deleteSurroundingPosition();
+ void prepareKeyDownEvent();
+ int getCursorOffset();
+ void getSurroundingTextAndCursorOffset(String&, int&);
WebCore::IntRect getSelectionRect(bool);
+ void deleteSurroundingText(int, int);
+
void didCancelComposition();
+ void removeInputMethodContext(uintptr_t);
#endif
void setBackgroundColor(double red, double green, double blue, double alpha);
void didRenderFrame();
#endif
-#if ENABLE(TIZEN_WEBKIT2_GET_TEXT_STYLE_FOR_SELECTION)
- void getTextStyleStateForSelection();
- void didGetTextStyleStateForSelection(int underlineState, int italicState, int boldState);
-#endif
-
#if PLATFORM(GTK) && USE(TEXTURE_MAPPER_GL)
void widgetMapped(uint64_t nativeWindowId);
#endif
void dumpMemorySnapshot();
#endif
+#if ENABLE(TIZEN_OFFLINE_PAGE_SAVE)
+ void saveSerializedHTMLDataForMainPage(const String& serializedData, const String& fileName);
+ void saveSubresourcesData(Vector<WebSubresourceTizen> subresourceData);
+ void startOfflinePageSave(String subresourceFolderName);
+#endif
+
#if ENABLE(TIZEN_WEBKIT2_TEXT_SELECTION)
- bool selectClosestWord(const WebCore::IntPoint&, bool isStartedTextSelectionFromOutside);
- bool setLeftSelection(const WebCore::IntPoint&);
- bool setRightSelection(const WebCore::IntPoint&);
+ bool selectClosestWord(const WebCore::IntPoint&);
+ int setLeftSelection(const WebCore::IntPoint&, const int direction);
+ int setRightSelection(const WebCore::IntPoint&, const int direction);
bool getSelectionHandlers(WebCore::IntRect& leftRect, WebCore::IntRect& rightRect);
String getSelectionText();
bool selectionRangeClear();
+ bool scrollContentByCharacter(const WebCore::IntPoint&, WebCore::SelectionDirection direction);
+ bool scrollContentByLine(const WebCore::IntPoint&, WebCore::SelectionDirection direction);
+#endif
+
+#if ENABLE(TIZEN_LINK_MAGNIFIER)
+ void getLinkMagnifierRect(const WebCore::IntPoint&, const WebCore::IntSize&);
+ void openLink(const WebCore::IntPoint&);
+#endif
+
+#if ENABLE(TIZEN_SCREEN_READER)
+ bool moveScreenReaderFocus(bool);
+ void moveScreenReaderFocusByPoint(const WebCore::IntPoint&);
+ void clearScreenReaderFocus();
+ bool raiseTapEvent(const WebCore::IntPoint&);
+ void adjustScreenReaderFocusedObjectValue(bool);
+ void recalcScreenReaderFocusRect();
+ void clearScreenReader();
+
+ void didScreenReaderFocusRectChanged(const WebCore::IntRect&);
+ void didScreenReaderTextChanged(const String&);
+#endif
+
+#if ENABLE(TIZEN_CSP)
+ void setContentSecurityPolicy(const String& policy, WebCore::ContentSecurityPolicy::HeaderType type);
+#endif
+
+#if ENABLE(TIZEN_APPLICATION_CACHE)
+ void replyApplicationCachePermission(bool allow);
+#endif
+
+#if ENABLE(TIZEN_INDEXED_DATABASE)
+ void replyExceededIndexedDatabaseQuota(bool allow);
+#endif
+
+#if ENABLE(TIZEN_SQL_DATABASE)
+ void replyExceededDatabaseQuota(bool allow);
+#endif
+
+#if ENABLE(TIZEN_FILE_SYSTEM)
+ void replyExceededLocalFileSystemQuota(bool allow);
+#endif
+
+#if ENABLE(TIZEN_USE_SETTINGS_FONT)
+ void useSettingsFont();
#endif
private:
void decidePolicyForResponse(uint64_t frameID, const WebCore::ResourceResponse&, const WebCore::ResourceRequest&, uint64_t listenerID, CoreIPC::ArgumentDecoder* arguments, bool& receivedPolicyAction, uint64_t& policyAction, uint64_t& downloadID);
void unableToImplementPolicy(uint64_t frameID, const WebCore::ResourceError&, CoreIPC::ArgumentDecoder* arguments);
+#if ENABLE(TIZEN_WEBKIT2_FORM_DATABASE)
+ void willSubmitForm(uint64_t frameID, uint64_t sourceFrameID, const StringPairVector& textFieldValues, bool containsPasswordData, uint64_t listenerID, CoreIPC::ArgumentDecoder*);
+#else
void willSubmitForm(uint64_t frameID, uint64_t sourceFrameID, const StringPairVector& textFieldValues, uint64_t listenerID, CoreIPC::ArgumentDecoder*);
+#endif
// Resource load client
void didInitiateLoadForResource(uint64_t frameID, uint64_t resourceIdentifier, const WebCore::ResourceRequest&, bool pageIsProvisionallyLoading);
void getWindowFrame(WebCore::FloatRect&);
void screenToWindow(const WebCore::IntPoint& screenPoint, WebCore::IntPoint& windowPoint);
void windowToScreen(const WebCore::IntRect& viewRect, WebCore::IntRect& result);
+#if ENABLE(TIZEN_SUPPORT_BEFORE_UNLOAD_CONFIRM_PANEL)
+ void runBeforeUnloadConfirmPanel(const String& message, uint64_t frameID, PassRefPtr<Messages::WebPageProxy::RunBeforeUnloadConfirmPanel::DelayedReply>);
+#else
void runBeforeUnloadConfirmPanel(const String& message, uint64_t frameID, bool& shouldClose);
+#endif
void didChangeViewportProperties(const WebCore::ViewportAttributes&);
void pageDidScroll();
void runOpenPanel(uint64_t frameID, const WebCore::FileChooserSettings&);
void printFrame(uint64_t frameID);
+#if ENABLE(TIZEN_SQL_DATABASE)
+ void exceededDatabaseQuota(uint64_t frameID, const String& originIdentifier, const String& displayName, uint64_t expectedUsage, PassRefPtr<Messages::WebPageProxy::ExceededDatabaseQuota::DelayedReply>);
+#else
void exceededDatabaseQuota(uint64_t frameID, const String& originIdentifier, const String& databaseName, const String& displayName, uint64_t currentQuota, uint64_t currentOriginUsage, uint64_t currentDatabaseUsage, uint64_t expectedUsage, uint64_t& newQuota);
+#endif
+#if ENABLE(TIZEN_APPLICATION_CACHE)
+ void requestApplicationCachePermission(uint64_t frameID, const String& originIdentifier, PassRefPtr<Messages::WebPageProxy::RequestApplicationCachePermission::DelayedReply>);
+#endif
void requestGeolocationPermissionForFrame(uint64_t geolocationID, uint64_t frameID, String originIdentifier);
void runModal();
void notifyScrollerThumbIsVisibleInRect(const WebCore::IntRect&);
#if ENABLE(TIZEN_SUPPORT_WEBAPP_META_TAG)
void didGetWebAppCapable(const bool capable, uint64_t callbackID);
void didGetWebAppIconURL(const String& iconURL, uint64_t callbackID);
+ void didGetWebAppIconURLs(const StringPairVector& iconURLs, uint64_t callbackID);
#endif
#if ENABLE(TIZEN_ICON_DATABASE)
void didReceiveIcon();
void updateSpellingUIWithGrammarString(const String& badGrammarPhrase, const WebCore::GrammarDetail&);
void getGuessesForWord(const String& word, const String& context, Vector<String>& guesses);
#if PLATFORM(EFL)
-#if ENABLE(TIZEN_ISF_PORT)
- void setInputMethodState(bool, const String&, const String&);
-#else
- void setInputMethodState(bool active);
+#if ENABLE(TIZEN_WEBKIT2_FORM_DATABASE)
+ void textChangeInTextField(const String&, const String&);
#endif
#endif
void learnWord(const String& word);
void frameSetLargestFrameChanged(uint64_t frameID);
void canAuthenticateAgainstProtectionSpaceInFrame(uint64_t frameID, const WebCore::ProtectionSpace&, bool& canAuthenticate);
+#if ENABLE(TIZEN_ON_AUTHENTICATION_REQUESTED)
+ void didReceiveAuthenticationChallenge(uint64_t frameID, const WebCore::AuthenticationChallenge&, uint64_t challengeID, PassRefPtr<Messages::WebPageProxy::DidReceiveAuthenticationChallenge::DelayedReply>);
+#else
void didReceiveAuthenticationChallenge(uint64_t frameID, const WebCore::AuthenticationChallenge&, uint64_t challengeID);
+#endif
void didFinishLoadingDataForCustomRepresentation(const String& suggestedFilename, const CoreIPC::DataReference&);
#endif
#endif // PLATFORM(MAC)
+#if USE(SOUP)
+ void didReceiveURIRequest(String uriString, uint64_t requestID);
+#endif
+
void clearLoadDependentCallbacks();
void performDragControllerAction(DragControllerAction, WebCore::DragData*, const String& dragStorageName, const SandboxExtension::Handle&, const SandboxExtension::HandleArray&);
bool isWaitingForJavaScriptPopupReply();
#endif
+#if ENABLE(TIZEN_LINK_MAGNIFIER)
+ void didGetLinkMagnifierRect(const WebCore::IntPoint&, const WebCore::IntRect&);
+#endif
+
+#if ENABLE(TIZEN_INDEXED_DATABASE)
+ void exceededIndexedDatabaseQuota(uint64_t frameID, const String& originIdentifier, int64_t currentUsage, PassRefPtr<Messages::WebPageProxy::ExceededIndexedDatabaseQuota::DelayedReply> reply);
+#endif
+
+#if ENABLE(TIZEN_FILE_SYSTEM)
+ void exceededLocalFileSystemQuota(uint64_t frameID, const String& originIdentifier, int64_t currentUsage, PassRefPtr<Messages::WebPageProxy::ExceededLocalFileSystemQuota::DelayedReply> reply);
+#endif
+
+#if ENABLE(TIZEN_WEBKIT2_NOTIFY_SUSPEND_BY_REMOTE_WEB_INSPECTOR)
+ void setContentSuspendedByInspector(bool);
+#endif
+
PageClient* m_pageClient;
WebLoaderClient m_loaderClient;
WebPolicyClient m_policyClient;
WebResourceLoadClient m_resourceLoadClient;
WebUIClient m_uiClient;
WebFindClient m_findClient;
+ WebFindMatchesClient m_findMatchesClient;
#if ENABLE(CONTEXT_MENUS)
WebPageContextMenuClient m_contextMenuClient;
#endif
#if ENABLE(TIZEN_SUPPORT_WEBAPP_META_TAG)
HashMap<uint64_t, RefPtr<BooleanCallback> > m_booleanCallbacks;
+ HashMap<uint64_t, RefPtr<DictionaryCallback> > m_dictionaryCallbacks;
#endif
HashMap<uint64_t, RefPtr<VoidCallback> > m_voidCallbacks;
HashMap<uint64_t, RefPtr<DataCallback> > m_dataCallbacks;
WebCore::DragSession m_currentDragSession;
#endif
+#if ENABLE(TIZEN_WEBKIT2_NOTIFY_SUSPEND_BY_REMOTE_WEB_INSPECTOR)
+ bool m_contentSuspendedByInspector;
+#endif
+
String m_pendingAPIRequestURL;
bool m_mainFrameHasHorizontalScrollbar;
RefPtr<Messages::WebPageProxy::RunJavaScriptAlert::DelayedReply> m_alertReply;
RefPtr<Messages::WebPageProxy::RunJavaScriptConfirm::DelayedReply> m_confirmReply;
RefPtr<Messages::WebPageProxy::RunJavaScriptPrompt::DelayedReply> m_promptReply;
+#if ENABLE(TIZEN_SUPPORT_BEFORE_UNLOAD_CONFIRM_PANEL)
+ RefPtr<Messages::WebPageProxy::RunBeforeUnloadConfirmPanel::DelayedReply> m_beforeUnloadConfirmPanelReply;
+#endif
+#if ENABLE(TIZEN_APPLICATION_CACHE)
+ RefPtr<Messages::WebPageProxy::RequestApplicationCachePermission::DelayedReply> m_applicationCacheReply;
+#endif
+#if ENABLE(TIZEN_SQL_DATABASE)
+ RefPtr<Messages::WebPageProxy::ExceededDatabaseQuota::DelayedReply> m_exceededDatabaseQuotaReply;
+#endif
+#endif
+
+#if ENABLE(TIZEN_ON_AUTHENTICATION_REQUESTED)
+ RefPtr<Messages::WebPageProxy::DidReceiveAuthenticationChallenge::DelayedReply> m_AuthReply;
#endif
#if ENABLE(TIZEN_CERTIFICATE_HANDLING)
RefPtr<Messages::WebPageProxy::DecidePolicyForCertificateError::DelayedReply> m_allowedReply;
#endif
+#if ENABLE(TIZEN_REDUCE_KEY_LAGGING)
+ Ecore_Timer* m_pageContentResumeTimer;
+#endif
+
+#if ENABLE(TIZEN_ISF_PORT)
+ bool m_didCancelCompositionFromWebProcess;
+#endif
+
+#if ENABLE(TIZEN_INDEXED_DATABASE)
+ RefPtr<Messages::WebPageProxy::ExceededIndexedDatabaseQuota::DelayedReply> m_exceededIndexedDatabaseQuotaReply;
+#endif
+
+#if ENABLE(TIZEN_FILE_SYSTEM)
+ RefPtr<Messages::WebPageProxy::ExceededLocalFileSystemQuota::DelayedReply> m_exceededLocalFileSystemQuotaReply;
+#endif
};
} // namespace WebKit