// that the web view is only partially visible.
static const char* kVisibleContentChangedSignalName = "visible,content,changed";
+// email-app specific signal which informs that custom scrolling is started.
+const char* kCustomScrollBeginSignalName = "custom,scroll,begin";
+
+// email-app specific signal which informs that custom scrolling is finished.
+const char* kCustomScrollEndSignalName = "custom,scroll,end";
+
inline void SetDefaultStringIfNull(const char*& variable,
const char* default_string) {
if (!variable) {
void EWebView::OnCustomScrollBeginCallback(void* user_data,
Evas_Object* /*object*/,
void* /*event_info*/) {
- auto view = static_cast<EWebView*>(user_data);
- view->GetSelectionController()->SetControlsTemporarilyHidden(true, true);
+ auto* view = static_cast<EWebView*>(user_data);
+ if (auto* selection_controller = view->GetSelectionController())
+ selection_controller->SetControlsTemporarilyHidden(true,true);
}
void EWebView::OnCustomScrollEndCallback(void* user_data,
Evas_Object* /*object*/,
void* /*event_info*/) {
- auto view = static_cast<EWebView*>(user_data);
- view->GetSelectionController()->SetControlsTemporarilyHidden(false, true);
+ auto* view = static_cast<EWebView*>(user_data);
+ if (auto* selection_controller = view->GetSelectionController())
+ selection_controller->SetControlsTemporarilyHidden(false,true);
}
EWebView::EWebView(Ewk_Context* context, Evas_Object* object)
kVisibleContentChangedSignalName,
VisibleContentChangedCallback, this);
+ evas_object_smart_callback_add(evas_object_, kCustomScrollBeginSignalName,
+ OnCustomScrollBeginCallback, this);
+ evas_object_smart_callback_add(evas_object_, kCustomScrollEndSignalName,
+ OnCustomScrollEndCallback, this);
evas_object_event_callback_add(evas_object_, EVAS_CALLBACK_FOCUS_IN,
OnViewFocusIn, this);
evas_object_event_callback_add(evas_object_, EVAS_CALLBACK_FOCUS_OUT,
evas_object_smart_callback_del(evas_object_,
kVisibleContentChangedSignalName,
VisibleContentChangedCallback);
+ evas_object_smart_callback_del(evas_object_, kCustomScrollBeginSignalName,
+ OnCustomScrollBeginCallback);
+ evas_object_smart_callback_del(evas_object_, kCustomScrollEndSignalName,
+ OnCustomScrollEndCallback);
}
}