Tizen 2.2.1
[framework/osp/web.git] / src / controls / inc / FWebCtrl_WebImpl.h
index 1ed0c01..d96237c 100755 (executable)
@@ -28,7 +28,7 @@
 #include <EWebKit2.h>
 #include <FBaseColArrayList.h>
 #include <FBaseString.h>
-#include <FCntIDownloadListener.h>
+#include <FSysISettingEventListener.h>
 #include <FUiIActionEventListener.h>
 #include <FUiIOrientationEventListener.h>
 #include <FUiITextEventListener.h>
@@ -61,20 +61,20 @@ class HttpHeader;
 
 namespace Tizen { namespace System
 {
-class _VibratorImpl;
+class Vibrator;
 }} // Tizen::Sytem
 
 namespace Tizen { namespace Ui
 {
-class Contorl;
-class _Contorl;
-class _ContorlImpl;
+class Control;
+class _Control;
+class _ControlImpl;
 }} // Tizen::Ui
 
 namespace Tizen { namespace Ui {  namespace Controls
 {
 class Keypad;
-class _Form;
+class _FormImpl;
 }}} // Tizen::Ui::Controls
 
 namespace Tizen { namespace Web { namespace Json
@@ -84,8 +84,6 @@ class IJsonValue;
 
 namespace Tizen { namespace Web { namespace Controls
 {
-_OSP_EXPORT_ extern const char WEB_CTRL[];
-
 class IJavaScriptBridge;
 class ILoadingListener;
 class ITextSearchListener;
@@ -138,14 +136,17 @@ enum _WebPopupCloseId
        ID_USER_CONFIRM_USERMEDIA_CLOSE,
        ID_USER_CONFIRM_GEOLOCATION_CLOSE,
        ID_USER_CONFIRM_NOTIFICATION_CLOSE,
-       ID_USER_SCRIPT_ALERT_CLOSE
+       ID_USER_SCRIPT_ALERT_CLOSE,
+       ID_USER_SCRIPT_CONFIRM_CLOSE,
+       ID_USER_BEFORE_UNLOAD_CONFIRM_CLOSE,
+       ID_USER_SCRIPT_SELECTBOX_CLOSE
 };
 
 class _OSP_EXPORT_ _WebImpl
        : public Tizen::Ui::_ContainerImpl
        , public Tizen::Ui::ITextEventListener
        , public Tizen::Web::Controls::_IWebEventListener
-       , public Tizen::Content::IDownloadListener
+       , public Tizen::System::ISettingEventListener
 {
 public:
        _WebImpl(Web* pWeb, Tizen::Ui::_Control* pCore);
@@ -297,10 +298,6 @@ public:
 
        Tizen::Graphics::Dimension GetPageSize(void) const;
 
-       result AddHttpHeaderField(const Tizen::Base::String& name, const Tizen::Base::String& value);
-
-       result RemoveHttpHeaderField(const Tizen::Base::String& name);
-
        virtual bool IsLayoutable(void) const;
 
        void SetEventListenerCallback(void) const;
@@ -329,7 +326,6 @@ public:
        bool IsCertificateRequested(void) const;
        void SetCertificateConfirmed(bool arg);
        bool IsCertificateConfirmed(void) const;
-       void ClearCertificateDb(void);
 
        void SetOrientationChanged(bool arg);
        bool IsOrientationChanged(void) const;
@@ -349,7 +345,10 @@ public:
 
        void SetKeypadOpened(bool isKeypadOpened);
 
-       bool IsPresenterAlived(_WebPresenter* pPresenter) const;
+       bool IsWinFocusLost(void) const;
+
+       void SetWinFocusLost(bool isWinFocusLost);
+
        Tizen::Graphics::Rectangle GetPreviousKeypadBounds(void) const;
 
        void SetPreviousKeypadBounds(Tizen::Graphics::Rectangle& bounds);
@@ -363,7 +362,7 @@ public:
        result ShowUserConfirmPopup(_UserConfirmMode userConfirmMode, void* pPolicy, Tizen::Base::String msg = L"");
        result ShowUserConfirmPopupAsync(_UserConfirmMode userConfirmMode, void* pPolicy, Tizen::Base::String msg = L"");
 
-       Tizen::Ui::Controls::_Form* GetParentFormCore(Tizen::Ui::_Control* pControlCore);
+       Tizen::Ui::Controls::_FormImpl* GetParentFormImpl(Tizen::Ui::_ControlImpl* pControlImpl);
 
        result ShowSelectBoxPopup(bool isMultiSelect, const Tizen::Base::String& title, Eina_List* pItems, Evas_Object* pWebView, int selectedIndex);
        result UpdateSelectBoxPopup(Eina_List* pItems, int selectedIndex, bool isGroupedList);
@@ -391,6 +390,8 @@ public:
 
        virtual result OnPreAttachedToMainTree(void);
 
+       virtual result OnDetachingFromMainTree(void);
+
        virtual void OnChangeLayout(Tizen::Ui::_ControlRotation rotation);
 
        virtual void OnChangeLayout(Tizen::Ui::_ControlOrientation orientation);
@@ -445,16 +446,14 @@ private:
        result OnHandleWebUiEventF(const Tizen::Base::Runtime::IEventArg& arg);
        result OnHandleTextSearchEvent(const Tizen::Base::Runtime::IEventArg& arg);
 
-       virtual void OnDownloadCanceled(RequestId reqId) {}
-       virtual void OnDownloadCompleted(RequestId reqId, const Tizen::Base::String &path);
-       virtual void OnDownloadFailed(RequestId reqId, result r, const Tizen::Base::String &errorCode) {}
-       virtual void OnDownloadInProgress(RequestId reqId, unsigned long long receivedSize, unsigned long long totalSize) {}
-       virtual void OnDownloadPaused(RequestId reqId) {}
+       virtual void OnSettingChanged(Tizen::Base::String& key);
 
+       static Eina_Bool OnBeforeUnloadConfirmRequested(Evas_Object* pView, const char* pMessage, void* pUserData);
 private:
        bool __isFooterVisible;
        bool __isKeypadVisible;
        bool __isKeypadOpened;
+       bool __isWinFocusLost;
        bool __isLoadingErrorOccurred;
        bool __isRedirectRequested;
        bool __isCertificateRequested;
@@ -489,6 +488,8 @@ private:
        std::unique_ptr<_UserConfirmPopup> __pGeolocationConfirmPopup;
        std::unique_ptr<_UserConfirmPopup> __pNotificationConfirmPopup;
        std::unique_ptr<_UserConfirmPopup> __pScriptAlertConfirmPopup;
+       std::unique_ptr<_UserConfirmPopup> __pScriptConfirmPopup;
+       std::unique_ptr<_UserConfirmPopup> __pBeforeUnloadConfirmPopup;
        std::unique_ptr<_UserConfirmPopup> __pAppCacheConfirmPopup;
        std::unique_ptr<_UserConfirmPopup> __pDbQuotaConfirmPopup;
        std::unique_ptr<_UserConfirmPopup> __pLocalFsQuotaConfirmPopup;
@@ -502,14 +503,12 @@ private:
        std::unique_ptr<_InputPickerPopup> __pColorPicker;
        std::unique_ptr<_FormDataWindow> __pFormDataWindow;
 
-       std::unique_ptr<Tizen::System::_VibratorImpl> __pVibrator;
+       std::unique_ptr<Tizen::System::Vibrator> __pVibrator;
 
        Tizen::Base::Runtime::Mutex __mutex;
 
        _TextSearch __textSearch;
 
-       Tizen::Base::Collection::ArrayList __callbackList;
-
        Tizen::Base::Collection::ArrayList __webNotificationList;
 
        DecisionPolicy __policy;
@@ -517,6 +516,8 @@ private:
        Tizen::Base::String __defaultUserAgent;
 
        Eina_List* __pFormDataList;
+
+       bool __popupClosed;
 }; // _WebImpl
 
 }}} // Tizen::Web::Controls