Started by glima as a thin wrapper around ewk_view to make webkit
work better integrated with Elementary, then grew up as a more complete
widget thanks to k-s' magic fingers, and now I screwed it up but it looks
like it works, so there..
Build WebKit-EFL, rebuild Elementary and enjoy elm_web.
git-svn-id: https://svn.enlightenment.org/svn/e/trunk/elementary@63676
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
fi
AC_SUBST(ELM_ETHUMB_DEF)
+ELM_WEB_DEF="#undef"
+have_elementary_web="no"
+want_elementary_web="auto"
+AC_ARG_ENABLE([web],
+ [AC_HELP_STRING([--disable-web], [disable web (WebKit) support. @<:@default=detect@:>@])],
+ [want_elementary_web=$enableval], [])
+
+if test "x$want_elementary_web" != "xno"; then
+ PKG_CHECK_MODULES([ELEMENTARY_WEB],
+ [
+ ewebkit
+ ],
+ [
+ AC_DEFINE(HAVE_ELEMENTARY_WEB, 1, [Web support for Elementary])
+ webkit_datadir=$($PKG_CONFIG ewebkit --variable=datadir)
+ AC_DEFINE_UNQUOTED(WEBKIT_DATADIR,
+ "$webkit_datadir",
+ "WebKit's data dir")
+ have_elementary_web="yes"
+ ELM_WEB_DEF="#define"
+ requirement_elm="web_client ${requirement_elm}"
+ ],
+ [have_elementary_web="no"]
+ )
+else
+ have_elementary_web="no"
+fi
+if test "x$want_elementary_web" = "xyes" -a "x$have_elementary_web" = "xno"; then
+ AC_MSG_ERROR([Web support requested, but no ewebkit found by pkg-config.])
+fi
+AC_SUBST(ELM_WEB_DEF)
+
ELM_DEBUG_DEF="#undef"
want_elementary_debug="no"
AC_ARG_ENABLE([debug],
echo " EWeather...............: ${have_elementary_eweather}"
echo " EMap...................: ${have_elementary_emap}"
echo " Ethumb.................: ${have_elementary_ethumb}"
+echo " Web (WebKit)...........: ${have_elementary_web}"
echo " Quick Launch...........: ${have_fork}"
echo " EIO....................: ${have_eio}"
echo " Emotion................: ${have_emotion}"
@ELEMENTARY_EFREET_CFLAGS@ \
@ELEMENTARY_EWEATHER_CFLAGS@ \
@ELEMENTARY_ETHUMB_CFLAGS@ \
-@EIO_CFLAGS@
+@EIO_CFLAGS@ \
+@ELEMENTARY_WEB_CFLAGS@
if ELEMENTARY_WINDOWS_BUILD
AM_CPPFLAGS += -DELEMENTARY_BUILD
test_tooltip.c \
test_transit.c \
test_weather.c \
+test_web.c \
test_win_inline.c \
test_win_state.c
@ELEMENTARY_EFREET_LIBS@ \
@ELEMENTARY_LIBS@ \
@EIO_LIBS@ \
+ @ELEMENTARY_WEB_LIBS@ \
@my_libs@
elementary_test_LDFLAGS =
elementary_testql_la_SOURCES = $(elementary_test_SOURCES)
elementary_testql_la_LIBADD = $(top_builddir)/src/lib/libelementary.la \
@ELEMENTARY_EWEATHER_LIBS@ \
- @EIO_LIBS@
+ @EIO_LIBS@ \
+ @ELEMENTARY_WEB_LIBS@
elementary_testql_la_CFLAGS =
elementary_testql_la_LDFLAGS = -module -avoid-version -no-undefined
@ELEMENTARY_EDBUS_LIBS@ \
@ELEMENTARY_EFREET_LIBS@ \
@ELEMENTARY_LIBS@ \
- @EIO_LIBS@
+ @EIO_LIBS@ \
+ @ELEMENTARY_WEB_LIBS@ \
@my_libs@
elementary_testql_CFLAGS = -DELM_LIB_QUICKLAUNCH=1
#ifdef HAVE_EIO
void test_eio(void *data, Evas_Object *obj, void *event_info);
#endif
+#ifdef HAVE_ELEMENTARY_WEB
+void test_web(void *data, Evas_Object *obj, void *event_info);
+#endif
struct elm_test
{
ADD_TEST("3D", test_3d);
ADD_TEST("Gesture Layer", test_gesture_layer);
ADD_TEST("Naviframe", test_naviframe);
+#ifdef HAVE_ELEMENTARY_WEB
+ ADD_TEST("Web", test_web);
+#endif
#undef ADD_TEST
if (autorun)
Eina_Bool test_win_only = EINA_FALSE;
char *autorun = NULL;
+ elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED);
+
/* tell elm about our app so it can figure out where to get files */
elm_app_compile_bin_dir_set(PACKAGE_BIN_DIR);
elm_app_compile_data_dir_set(PACKAGE_DATA_DIR);
@ELM_EDBUS_DEF@ ELM_EDBUS
@ELM_EFREET_DEF@ ELM_EFREET
@ELM_ETHUMB_DEF@ ELM_ETHUMB
+@ELM_WEB_DEF@ ELM_WEB
@ELM_EMAP_DEF@ ELM_EMAP
@ELM_DEBUG_DEF@ ELM_DEBUG
@ELM_ALLOCA_H_DEF@ ELM_ALLOCA_H
EAPI Eina_Bool elm_need_ethumb(void);
/**
+ * This must be called before any other function that handle with
+ * elm_web objects or ewk_view instances.
+ *
+ * @ingroup Web
+ */
+ EAPI Eina_Bool elm_need_web(void);
+
+ /**
* Set a new policy's value (for a given policy group/identifier).
*
* @param policy policy identifier, as in @ref Elm_Policy.
* @}
*/
-#if 0
/**
* @defgroup Web Web
*
/**
* @}
*/
-#endif
/**
* @defgroup Hoversel Hoversel
@ELEMENTARY_EDBUS_CFLAGS@ \
@ELEMENTARY_EFREET_CFLAGS@ \
@ELEMENTARY_ETHUMB_CFLAGS@ \
+@ELEMENTARY_WEB_CFLAGS@ \
@ELEMENTARY_EMAP_CFLAGS@ \
@EVIL_CFLAGS@ \
@ECORE_CON_CFLAGS@ \
elm_transit.c \
elm_util.c \
elm_video.c \
+elm_web.c \
elm_widget.c \
elm_win.c \
els_box.c \
@ELEMENTARY_EDBUS_LIBS@ \
@ELEMENTARY_EFREET_LIBS@ \
@ELEMENTARY_ETHUMB_LIBS@ \
+@ELEMENTARY_WEB_LIBS@ \
@ELEMENTARY_EMAP_LIBS@ \
@EVIL_LIBS@ \
@ECORE_CON_LIBS@ \
_elm_unneed_efreet();
_elm_unneed_e_dbus();
_elm_unneed_ethumb();
+ _elm_unneed_web();
ecore_file_shutdown();
#ifdef HAVE_ELEMENTARY_EMAP
Eina_Bool _elm_widget_top_win_focused_get(const Evas_Object *obj);
void _elm_unneed_ethumb(void);
+void _elm_unneed_web(void);
void _elm_rescale(void);
void _elm_widget_mirrored_reload(Evas_Object *obj);