Fix, When the language is changed, the window not to do the show and active
[platform/framework/web/crosswalk-tizen.git] / runtime / browser / web_application.h
index 9249b7f..9dcaa08 100755 (executable)
@@ -40,7 +40,10 @@ class SplashScreen;
 class WebApplication : public WebView::EventListener {
  public:
   WebApplication(NativeWindow* window,
-                 std::unique_ptr<common::ApplicationData> app_data);
+                 common::ApplicationData* app_data);
+  WebApplication(NativeWindow* window,
+                 common::ApplicationData* app_data,
+                 Ewk_Context* context);
   virtual ~WebApplication();
 
   void AppControl(std::unique_ptr<common::AppControl> appcontrol);
@@ -69,6 +72,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 +95,15 @@ class WebApplication : public WebView::EventListener {
   virtual void OnUsermediaPermissionRequest(
       WebView* view, const std::string& url,
       std::function<void(bool)> 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
 
  private:
   bool Initialize();
@@ -101,23 +112,27 @@ class WebApplication : public WebView::EventListener {
   void SendAppControlEvent();
   void LaunchInspector(common::AppControl* appcontrol);
   void SetupWebView(WebView* view);
+  void RemoveWebViewFromStack(WebView* view);
 
   bool launched_;
   bool debug_mode_;
   bool verbose_mode_;
   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<WebView*> view_stack_;
   std::unique_ptr<SplashScreen> splash_screen_;
   std::unique_ptr<common::LocaleManager> locale_manager_;
-  std::unique_ptr<common::ApplicationData> app_data_;
   std::unique_ptr<common::ResourceManager> resource_manager_;
   std::function<void(void)> terminator_;
   int security_model_version_;
   std::string csp_rule_;
   std::string csp_report_rule_;
+  bool lang_changed_mode_;
+
 };
 
 }  // namespace runtime