Majority of EWK even handling code has been reimplemented inside RWHV.
Right now EWebView should not even care about mouse/touch/keyboard/focus
events. Remove the old and unnecessary code.
Bug: http://web.sec.samsung.net/bugzilla/show_bug.cgi?id=12028
Bug: http://web.sec.samsung.net/bugzilla/show_bug.cgi?id=12031
Change-Id: I027fa0ef4675f1f2caa14d44bd80a2859d61cbd5
Signed-off-by: Piotr Tworek <p.tworek@samsung.com>
EWebView::EWebView(tizen_webview::WebView* owner, tizen_webview::WebContext* context, Evas_Object* object)
: public_webview_(owner),
-#if defined(EWK_REFACTOR)
- evas_event_handler_(NULL),
-#endif
context_(context),
evas_object_(object),
native_view_(object),
return;
}
-#if defined(EWK_REFACTOR)
- evas_event_handler_ = new tizen_webview::WebViewEvasEventHandler(public_webview_);
-#endif
selection_controller_.reset(new content::SelectionControllerEfl(this));
InitializeContent();
back_forward_list_.reset(new tizen_webview::BackForwardList(
web_contents_->GetController()));
-#if defined(EWK_REFACTOR)
- // Activate Event handler
- evas_event_handler_->BindFocusEventHandlers();
- evas_event_handler_->BindKeyEventHandlers();
-#endif
-
geolocation_permission_cb_.reset(new WebViewGeolocationPermissionCallback(NULL, NULL));
unfocus_allow_cb_.reset(new WebViewUnfocusAllowCallback(NULL, NULL));
return;
}
StopInspectorServer(); // inside is check to Inspector is running
-#if defined(EWK_REFACTOR)
- GetEvasEventHandler()->UnbindFocusEventHandlers();
- GetEvasEventHandler()->UnbindKeyEventHandlers();
- GetEvasEventHandler()->UnbindTouchEventHandlers();
- GetEvasEventHandler()->UnbindMouseEventHandlers();
-#endif
context_menu_.reset();
mhtml_callback_map_.Clear();
formNavigation_.nextState = false;
#endif
// evas_object_del(evas_object());
-#if defined(EWK_REFACTOR)
- delete evas_event_handler_;
-#endif
public_webview_ = NULL;
// Release manually those scoped pointers to
return true;
}
-bool EWebView::HandleFocusIn() {
- if (!native_view_)
+bool EWebView::HandleTextSelectionDown(int x, int y) {
+ if (!selection_controller_)
return false;
- elm_object_focus_set(native_view_, EINA_TRUE);
- return true;
+ return selection_controller_->TextSelectionDown(x, y);
}
-bool EWebView::HandleFocusOut() {
- if (!native_view_)
+bool EWebView::HandleTextSelectionUp(int x, int y) {
+ if (!selection_controller_)
return false;
- elm_object_focus_set(native_view_, EINA_FALSE);
- return true;
-}
-
-bool EWebView::HandleEvasEvent(const Evas_Event_Mouse_Down* event) {
-#if defined(EWK_REFACTOR)
- if (rwhv()) {
- rwhv()->HandleEvasEvent(event);
- return true;
- }
- return false;
-#else
- NOTIMPLEMENTED();
- return false;
-#endif
-}
-
-bool EWebView::HandleEvasEvent(const Evas_Event_Mouse_Up* event) {
-#if defined(EWK_REFACTOR)
- if (rwhv()) {
- rwhv()->HandleEvasEvent(event);
- return true;
- }
- return false;
-#else
- NOTIMPLEMENTED();
- return false;
-#endif
-}
-
-bool EWebView::HandleEvasEvent(const Evas_Event_Mouse_Move* event) {
-#if defined(EWK_REFACTOR)
- if (rwhv()) {
- rwhv()->HandleEvasEvent(event);
- return true;
- }
- return false;
-#else
- NOTIMPLEMENTED();
- return false;
-#endif
-}
-
-bool EWebView::HandleEvasEvent(const Evas_Event_Mouse_Wheel* event) {
-#if defined(EWK_REFACTOR)
- if (rwhv()) {
- rwhv()->HandleEvasEvent(event);
- return true;
- }
- return false;
-#else
- NOTIMPLEMENTED();
- return false;
-#endif
-}
-
-bool EWebView::HandleEvasEvent(const Evas_Event_Key_Down* event) {
-#if defined(EWK_REFACTOR)
- if (rwhv()) {
- rwhv()->HandleEvasEvent(event);
- return true;
- }
- return false;
-#else
- NOTIMPLEMENTED();
- return false;
-#endif
-}
-
-bool EWebView::HandleEvasEvent(const Evas_Event_Key_Up* event) {
-#if defined(EWK_REFACTOR)
- if (rwhv()) {
- rwhv()->HandleEvasEvent(event);
- return true;
- }
- return false;
-#else
- NOTIMPLEMENTED();
- return false;
-#endif
-}
-
-bool EWebView::HandleGesture(ui::GestureEvent* event) {
-#if defined(EWK_REFACTOR)
- if (rwhv()) {
- rwhv()->HandleGesture(event);
- return true;
- }
- return false;
-#else
- NOTIMPLEMENTED();
- return false;
-#endif
-}
-
-bool EWebView::HandleTouchEvent(ui::TouchEvent* event) {
-#if defined(EWK_REFACTOR)
- if (rwhv()) {
- rwhv()->HandleTouchEvent(event);
- return true;
- }
- return false;
-#else
- NOTIMPLEMENTED();
- return false;
-#endif
+ return selection_controller_->TextSelectionUp(x, y);
}
static Evas_Object* GetHostWindowDelegate(const content::WebContents*);
tizen_webview::WebView* GetPublicWebView();
-#if defined(EWK_REFACTOR)
- tizen_webview::WebViewEvasEventHandler* GetEvasEventHandler() { return evas_event_handler_; }
-#endif
tizen_webview::WebContext* context() const { return context_.get(); }
Evas_Object* evas_object() const { return evas_object_; }
Evas* GetEvas() const { return evas_object_evas_get(evas_object_); }
bool HandleHide();
bool HandleMove(int x, int y);
bool HandleResize(int width, int height);
- bool HandleFocusIn();
- bool HandleFocusOut();
-
- bool HandleEvasEvent(const Evas_Event_Mouse_Down* event);
- bool HandleEvasEvent(const Evas_Event_Mouse_Up* event);
- bool HandleEvasEvent(const Evas_Event_Mouse_Move* event);
- bool HandleEvasEvent(const Evas_Event_Mouse_Wheel* event);
- bool HandleEvasEvent(const Evas_Event_Key_Down* event);
- bool HandleEvasEvent(const Evas_Event_Key_Up* event);
- bool HandleGesture(ui::GestureEvent* event);
- bool HandleTouchEvent(ui::TouchEvent* event);
+ bool HandleTextSelectionDown(int x, int y);
+ bool HandleTextSelectionUp(int x, int y);
+
void HandleRendererProcessCrash();
void HandlePostponedGesture(int x, int y, ui::EventType type);
private:
#endif
tizen_webview::WebView* public_webview_;
-#if defined(EWK_REFACTOR)
- tizen_webview::WebViewEvasEventHandler* evas_event_handler_;
-#endif
scoped_refptr<tizen_webview::WebContext> context_;
scoped_refptr<tizen_webview::WebContext> old_context_;
scoped_ptr<content::WebContents> web_contents_;
#include "eweb_view.h"
#include "tizen_webview/public/tw_webview_delegate.h"
-#include "tizen_webview/public/tw_webview_evas_event_handler.h"
#include "private/ewk_context_private.h"
#include "private/webview_delegate_ewk.h"
// FIXME: implement.
}
-#if defined(EWK_REFACTOR)
-Eina_Bool handleFocusIn(Ewk_View_Smart_Data* d)
+Eina_Bool handleTextSelectionDown(Ewk_View_Smart_Data* d, int x, int y)
{
WebView* wv = GetWebViewFromSmartData(d);
- if (!wv) {
+ if (!wv)
return false;
- }
- tizen_webview::WebViewEvasEventHandler* wv_handler = wv->GetEvasEventHandler();
- return wv_handler ? wv_handler->HandleEventDefault_FocusIn() : false;
-}
-
-Eina_Bool handleFocusOut(Ewk_View_Smart_Data* d)
-{
- tizen_webview::WebViewEvasEventHandler* wv_handler =
- GetWebViewFromSmartData(d)->GetEvasEventHandler();
- return wv_handler ? wv_handler->HandleEventDefault_FocusOut() : false;
-}
-
-Eina_Bool handleMouseWheel(Ewk_View_Smart_Data* d, const Evas_Event_Mouse_Wheel* event)
-{
- tizen_webview::WebViewEvasEventHandler* wv_handler =
- GetWebViewFromSmartData(d)->GetEvasEventHandler();
- return wv_handler ? wv_handler->HandleEventDefault_MouseWheel(event) : false;
-}
-
-Eina_Bool handleMouseDown(Ewk_View_Smart_Data* d, const Evas_Event_Mouse_Down* event)
-{
- tizen_webview::WebViewEvasEventHandler* wv_handler =
- GetWebViewFromSmartData(d)->GetEvasEventHandler();
- return wv_handler ? wv_handler->HandleEventDefault_MouseDown(event) : false;
-}
-
-Eina_Bool handleMouseUp(Ewk_View_Smart_Data* d, const Evas_Event_Mouse_Up* event)
-{
- tizen_webview::WebViewEvasEventHandler* wv_handler =
- GetWebViewFromSmartData(d)->GetEvasEventHandler();
- return wv_handler ? wv_handler->HandleEventDefault_MouseUp(event) : false;
-}
-
-Eina_Bool handleMouseMove(Ewk_View_Smart_Data* d, const Evas_Event_Mouse_Move* event)
-{
- tizen_webview::WebViewEvasEventHandler* wv_handler =
- GetWebViewFromSmartData(d)->GetEvasEventHandler();
- return wv_handler ? wv_handler->HandleEventDefault_MouseMove(event) : false;
-}
-
-Eina_Bool handleKeyDown(Ewk_View_Smart_Data* d, const Evas_Event_Key_Down* event)
-{
- tizen_webview::WebViewEvasEventHandler* wv_handler =
- GetWebViewFromSmartData(d)->GetEvasEventHandler();
- return wv_handler ? wv_handler->HandleEventDefault_KeyDown(event) : false;
-}
-
-Eina_Bool handleKeyUp(Ewk_View_Smart_Data* d, const Evas_Event_Key_Up* event)
-{
- tizen_webview::WebViewEvasEventHandler* wv_handler =
- GetWebViewFromSmartData(d)->GetEvasEventHandler();
- return wv_handler ? wv_handler->HandleEventDefault_KeyUp(event) : false;
-}
-
-Eina_Bool handleTextSelectionDown(Ewk_View_Smart_Data* d, int x, int y)
-{
- tizen_webview::WebViewEvasEventHandler* wv_handler =
- GetWebViewFromSmartData(d)->GetEvasEventHandler();
- return wv_handler ? wv_handler->HandleEventDefault_TextSelectionDown(x, y) : false;
+ return wv->HandleTextSelectionDown(x, y);
}
Eina_Bool handleTextSelectionUp(Ewk_View_Smart_Data* d, int x, int y)
{
- tizen_webview::WebViewEvasEventHandler* wv_handler =
- GetWebViewFromSmartData(d)->GetEvasEventHandler();
- return wv_handler ? wv_handler->HandleEventDefault_TextSelectionUp(x, y) : false;
+ WebView* wv = GetWebViewFromSmartData(d);
+ if (!wv)
+ return false;
+ return wv->HandleTextSelectionUp(x, y);
}
-#endif // EWK_REFACTOR
unsigned long long handleExceededDatabaseQuota(Ewk_View_Smart_Data *sd, const char *databaseName, const char *displayName, unsigned long long currentQuota, unsigned long long currentOriginUsage, unsigned long long currentDatabaseUsage, unsigned long long expectedUsage)
{
api.sc.color_set = &handleEvasObjectColorSet;
// Set Ewk_View_Smart_Class callbacks.
-#if defined(EWK_REFACTOR)
- api.focus_in = &handleFocusIn;
- api.focus_out = &handleFocusOut;
- api.mouse_down = &handleMouseDown;
- api.mouse_up = &handleMouseUp;
- api.mouse_wheel = &handleMouseWheel;
- api.mouse_move = &handleMouseMove;
- api.key_down = &handleKeyDown;
- api.key_up = &handleKeyUp;
api.text_selection_down = &handleTextSelectionDown;
api.text_selection_up = &handleTextSelectionUp;
-#endif
api.exceeded_database_quota = &handleExceededDatabaseQuota;
return impl_->selection_controller_.get();
}
-WebViewEvasEventHandler* WebView::GetEvasEventHandler() {
-#if defined(EWK_REFACTOR)
- return impl_->GetEvasEventHandler();
-#else
- return NULL;
-#endif
-}
-
ContextMenuController* WebView::GetContextMenuController() {
return impl_->context_menu_.get();
}
return impl_->HandleResize(width, height);
}
-bool WebView::HandleFocusIn() {
- return impl_->HandleFocusIn();
-}
-
-bool WebView::HandleFocusOut() {
- return impl_->HandleFocusOut();
-}
-
-bool WebView::HandleEvasEvent(const Evas_Event_Mouse_Down* event) {
- return impl_->HandleEvasEvent(event);
-}
-
-bool WebView::HandleEvasEvent(const Evas_Event_Mouse_Up* event) {
- return impl_->HandleEvasEvent(event);
-}
-
-bool WebView::HandleEvasEvent(const Evas_Event_Mouse_Move* event) {
- return impl_->HandleEvasEvent(event);
-}
-
-bool WebView::HandleEvasEvent(const Evas_Event_Mouse_Wheel* event) {
- return impl_->HandleEvasEvent(event);
-}
-
-bool WebView::HandleEvasEvent(const Evas_Event_Key_Down* event) {
- return impl_->HandleEvasEvent(event);
+bool WebView::HandleTextSelectionDown(int x, int y) {
+ return impl_->HandleTextSelectionDown(x, y);
}
-bool WebView::HandleEvasEvent(const Evas_Event_Key_Up* event) {
- return impl_->HandleEvasEvent(event);
+bool WebView::HandleTextSelectionUp(int x, int y) {
+ return impl_->HandleTextSelectionUp(x, y);
}
} // namespace tizen_webview
bool GetPrivateBrowsing() const;
Ewk_Settings* GetSettings();
SelectionController* GetSelectionController();
- WebViewEvasEventHandler* GetEvasEventHandler();
ContextMenuController* GetContextMenuController();
void ResetContextMenuController();
void HideSelectionHandlers();
bool HandleHide();
bool HandleMove(int x, int y);
bool HandleResize(int width, int height);
- bool HandleFocusIn();
- bool HandleFocusOut();
- bool HandleEvasEvent(const Evas_Event_Mouse_Down* event);
- bool HandleEvasEvent(const Evas_Event_Mouse_Up* event);
- bool HandleEvasEvent(const Evas_Event_Mouse_Move* event);
- bool HandleEvasEvent(const Evas_Event_Mouse_Wheel* event);
- bool HandleEvasEvent(const Evas_Event_Key_Down* event);
- bool HandleEvasEvent(const Evas_Event_Key_Up* event);
+ bool HandleTextSelectionDown(int x, int y);
+ bool HandleTextSelectionUp(int x, int y);
// TODO: move to private
typedef ::EWebView Impl;
}
}
- web_view_->HandleFocusIn();
+ web_contents_.Focus();
}