summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCedric BAIL <cedric@osg.samsung.com>2016-03-14 16:25:18 -0700
committerCedric BAIL <cedric@osg.samsung.com>2016-03-14 16:25:18 -0700
commit4e06031b9c428ba3360ef4a5c1929d23b3ef65ae (patch)
tree5b46cd3b5e8c2ffc755e80e9fe70c811bc515d9a
parent0cef757bf6e7984b490c6b3af0c74475d25b03fe (diff)
downloadelementary-4e06031b9c428ba3360ef4a5c1929d23b3ef65ae.tar.gz
web: provide a direct access to the configured web engine class.
-rw-r--r--src/lib/elm_web.h6
-rw-r--r--src/lib/elm_web2.c13
-rw-r--r--src/modules/web/none/elm_web_none.c3
-rw-r--r--src/modules/web/webkit2/elm_web_webkit2.c3
4 files changed, 24 insertions, 1 deletions
diff --git a/src/lib/elm_web.h b/src/lib/elm_web.h
index a64001a1e..07afb92ff 100644
--- a/src/lib/elm_web.h
+++ b/src/lib/elm_web.h
@@ -95,6 +95,12 @@
#include "elm_web_common.h"
#ifdef EFL_EO_API_SUPPORT
#include "elm_web_eo.h"
+
+#undef ELM_WEB_CLASS
+#define ELM_WEB_CLASS elm_web_real_class_get()
+
+EAPI const Eo_Class *elm_web_real_class_get(void);
+
#endif
#ifndef EFL_NOLEGACY_API_SUPPORT
#include "elm_web_legacy.h"
diff --git a/src/lib/elm_web2.c b/src/lib/elm_web2.c
index 3f6e59831..89db9d596 100644
--- a/src/lib/elm_web2.c
+++ b/src/lib/elm_web2.c
@@ -9,7 +9,7 @@
#include "elm_priv.h"
#include "elm_widget_web.h"
-#define MY_CLASS ELM_WEB_CLASS
+#define MY_CLASS elm_web_class_get()
#define MY_CLASS_NAME "Elm_Web"
#define MY_CLASS_NAME_LEGACY "elm_web"
@@ -81,6 +81,14 @@ elm_web_add(Evas_Object *parent)
return eo_add(ewm.class_get(), parent);
}
+EAPI const Eo_Class *
+elm_web_real_class_get(void)
+{
+ if (!ewm.class_get) return NULL;
+
+ return ewm.class_get();
+}
+
EOLIAN static Eo *
_elm_web_eo_base_constructor(Eo *obj, Elm_Web_Data *sd)
{
@@ -213,4 +221,7 @@ _elm_web_init(const char *engine)
return EINA_TRUE;
}
+#undef ELM_WEB_CLASS
+#define ELM_WEB_CLASS elm_web_class_get()
+
#include "elm_web.eo.c"
diff --git a/src/modules/web/none/elm_web_none.c b/src/modules/web/none/elm_web_none.c
index 74959eb36..e98cfe877 100644
--- a/src/modules/web/none/elm_web_none.c
+++ b/src/modules/web/none/elm_web_none.c
@@ -353,4 +353,7 @@ ewm_class_get(void)
return elm_web_none_class_get();
}
+#undef ELM_WEB_CLASS
+#define ELM_WEB_CLASS elm_web_class_get()
+
#include "elm_web_none.eo.c"
diff --git a/src/modules/web/webkit2/elm_web_webkit2.c b/src/modules/web/webkit2/elm_web_webkit2.c
index 43478440a..3c898343f 100644
--- a/src/modules/web/webkit2/elm_web_webkit2.c
+++ b/src/modules/web/webkit2/elm_web_webkit2.c
@@ -1151,4 +1151,7 @@ ewm_class_get(void)
return elm_web_webkit2_class_get();
}
+#undef ELM_WEB_CLASS
+#define ELM_WEB_CLASS elm_web_class_get()
+
#include "elm_web_webkit2.eo.c"