X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=runtime%2Fbrowser%2Fweb_application.h;h=f35fd04cf2797213a3a83540b48c94286fd51262;hb=90e768451af2f3542b90e45743d169a2a3974cde;hp=0eea5becd6470b710985ac233d2dcbb261f30770;hpb=d6f0dd850546bed2ae7d1f04dd80c7f94c456f2d;p=platform%2Fframework%2Fweb%2Fcrosswalk-tizen.git diff --git a/runtime/browser/web_application.h b/runtime/browser/web_application.h old mode 100644 new mode 100755 index 0eea5be..f35fd04 --- a/runtime/browser/web_application.h +++ b/runtime/browser/web_application.h @@ -40,7 +40,10 @@ class SplashScreen; class WebApplication : public WebView::EventListener { public: WebApplication(NativeWindow* window, - std::unique_ptr app_data); + common::ApplicationData* app_data); + WebApplication(NativeWindow* window, + common::ApplicationData* app_data, + Ewk_Context* context); virtual ~WebApplication(); void AppControl(std::unique_ptr appcontrol); @@ -49,11 +52,16 @@ class WebApplication : public WebView::EventListener { void Suspend(); void Terminate(); + void ClosePage(); + void Exit(); + void ProcessClosingPage(); + std::string data_path() const { return app_data_path_; } void set_terminator(std::function terminator) { terminator_ = terminator; } bool launched() const { return launched_; } + std::list view_stack() const { return view_stack_; } virtual void OnCreatedNewWebView(WebView* view, WebView* new_view); virtual void OnClosedWebView(WebView* view); @@ -69,6 +77,9 @@ class WebApplication : public WebView::EventListener { virtual void OnRendered(WebView* view); virtual void OnLanguageChanged(); virtual void OnLowMemory(); + virtual void OnTimeTick(long time); + virtual void OnAmbientTick(long time); + virtual void OnAmbientChanged(bool ambient_mode); virtual bool OnContextMenuDisabled(WebView* view); virtual bool OnDidNavigation(WebView* view, const std::string& url); virtual void OnNotificationPermissionRequest( @@ -89,10 +100,22 @@ class WebApplication : public WebView::EventListener { virtual void OnUsermediaPermissionRequest( WebView* view, const std::string& url, std::function result_handler); -#ifdef PROFILE_WEARABLE - virtual void OnRotaryEvent(WebView* view, - RotaryEventType type); -#endif // PROFILE_WEARABLE + virtual void OnSoftKeyboardChangeEvent( + WebView* view, SoftKeyboardChangeEventValue softkeyboard_value); +#ifdef ROTARY_EVENT_FEATURE_SUPPORT + virtual void OnRotaryEvent( + WebView* view, RotaryEventType type); +#endif // ROTARY_EVENT_FEATURE_SUPPORT +#ifdef MANUAL_ROTATE_FEATURE_SUPPORT + virtual void OnRotatePrepared(WebView* view); +#endif // MANUAL_ROTATE_FEATURE_SUPPORT + static Eina_Bool CheckPluginSession(void* user_data); + static Eina_Bool ClosePageInExtendedMainLoop(void* user_data); + struct Timer + { + WebApplication* application; + Ecore_Timer* timer; + } main_loop, session_counter; private: bool Initialize(); @@ -101,17 +124,33 @@ class WebApplication : public WebView::EventListener { void SendAppControlEvent(); void LaunchInspector(common::AppControl* appcontrol); void SetupWebView(WebView* view); + void SetupWebViewCompatibilitySettings(WebView* view); + void RemoveWebViewFromStack(WebView* view); + + void SetupTizenVersion(); + bool tizenWebKitCompatibilityEnabled() const; + struct { + unsigned m_major; + unsigned m_minor; + unsigned m_release; + bool tizenWebKitCompatibilityEnabled() const { return (m_major && m_major < 3); } + } m_tizenCompatibilitySettings; bool launched_; bool debug_mode_; + bool verbose_mode_; + bool lang_changed_mode_; + bool is_terminate_called_; + bool is_close_page_called_; Ewk_Context* ewk_context_; + bool has_ownership_of_ewk_context_; NativeWindow* window_; std::string appid_; std::string app_data_path_; + common::ApplicationData* app_data_; std::list view_stack_; std::unique_ptr splash_screen_; std::unique_ptr locale_manager_; - std::unique_ptr app_data_; std::unique_ptr resource_manager_; std::function terminator_; int security_model_version_;