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);
void Suspend();
void Terminate();
+ void ClosePage();
+ void Exit();
+ void ProcessClosingPage();
+
std::string data_path() const { return app_data_path_; }
void set_terminator(std::function<void(void)> terminator) {
terminator_ = terminator;
}
bool launched() const { return launched_; }
+ std::list<WebView*> view_stack() const { return view_stack_; }
virtual void OnCreatedNewWebView(WebView* view, WebView* new_view);
virtual void OnClosedWebView(WebView* view);
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(
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
+ 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();
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<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_;