summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAmarnath Valluri <amarnath.valluri@linux.intel.com>2013-08-25 12:16:14 +0300
committerAmarnath Valluri <amarnath.valluri@linux.intel.com>2013-08-25 12:16:14 +0300
commit468fa19972a96e89ff043a3a4eaad80416986f76 (patch)
tree0fcca9c3692330921e4b5c02527d08303aa66eb4
parenta8690465d00ebcce8e6f12a26e6c0b0054abadec (diff)
downloadsignonui-efl-468fa19972a96e89ff043a3a4eaad80416986f76.tar.gz
signonui-efl-468fa19972a96e89ff043a3a4eaad80416986f76.tar.bz2
signonui-efl-468fa19972a96e89ff043a3a4eaad80416986f76.zip
Imported Upstream version 0.0.2upstream/0.0.2
-rw-r--r--configure.ac4
-rw-r--r--dists/rpm/signonui-efl.changes6
-rw-r--r--dists/rpm/signonui-efl.spec5
-rw-r--r--src/Makefile.am2
-rw-r--r--src/sso-ui-dialog.c65
-rw-r--r--src/sso-ui.c17
6 files changed, 80 insertions, 19 deletions
diff --git a/configure.ac b/configure.ac
index fc8c952..5b4f1df 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,5 +1,5 @@
AC_PREREQ(2.60)
-AC_INIT([signonui-efl], [0.0.1], [jussi.kukkonen@intel.com])
+AC_INIT([signonui-efl], [0.0.2], [jussi.kukkonen@intel.com])
AM_INIT_AUTOMAKE([1.11 -Wall -Werror dist-bzip2])
AM_SILENT_RULES([yes])
@@ -15,6 +15,8 @@ PKG_CHECK_MODULES(EFL,
ecore
evas
elementary)
+PKG_CHECK_MODULES(EWEBKIT,
+ ewebkit2)
PKG_CHECK_MODULES(GSIGNOND,
gsignond)
diff --git a/dists/rpm/signonui-efl.changes b/dists/rpm/signonui-efl.changes
index b2c4c1c..8c750b9 100644
--- a/dists/rpm/signonui-efl.changes
+++ b/dists/rpm/signonui-efl.changes
@@ -1,2 +1,8 @@
+* Fri Aug 22 2013 Amarnath Valluri <amarnath.valluri@linux.intel.com>
+- Release 0.0.2-2
+
+* Thu Aug 22 2013 Amarnath Valluri <amarnath.valluri@linux.intel.com>
+- Release 0.0.2
+
* Thu Jun 27 2013 Amarnath Valluri <amarnath.valluri@linux.intel.com>
- Initial RPM packaging
diff --git a/dists/rpm/signonui-efl.spec b/dists/rpm/signonui-efl.spec
index 0355f35..fa60d04 100644
--- a/dists/rpm/signonui-efl.spec
+++ b/dists/rpm/signonui-efl.spec
@@ -1,8 +1,8 @@
Name: signon-ui
Summary: EFL based Single Sign-On UI
URL: https://code.google.com/p/accounts-sso/source/checkout?repo=signonui-efl
-Version: 0.0.1
-Release: 1
+Version: 0.0.2
+Release: 2
Group: Security/Secure Storage
License: LGPL-2.1+
Source: %{name}-%{version}.tar.gz
@@ -12,6 +12,7 @@ BuildRequires: pkgconfig(glib-2.0) >= 2.30
BuildRequires: pkgconfig(gio-unix-2.0)
BuildRequires: pkgconfig(evas)
BuildRequires: pkgconfig(elementary)
+BuildRequires: pkgconfig(ewebkit2)
BuildRequires: pkgconfig(gsignond)
Provides: signon-ui
diff --git a/src/Makefile.am b/src/Makefile.am
index 19ae08a..48681cf 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -29,6 +29,7 @@ signon_ui_SOURCES = \
signon_ui_CFLAGS = \
$(GLIB_CFLAGS) \
$(EFL_CFLAGS) \
+ $(EWEBKIT_CFLAGS) \
$(GSIGNOND_CFLAGS) \
-Wall -Werror \
-I$(top_srcdir)
@@ -36,6 +37,7 @@ signon_ui_CFLAGS = \
signon_ui_LDADD = \
$(GLIB_LIBS) \
$(EFL_LIBS) \
+ $(EWEBKIT_LIBS) \
$(GSIGNOND_LIBS)
CLEANFILES = \
diff --git a/src/sso-ui-dialog.c b/src/sso-ui-dialog.c
index 2494529..5e8a1d4 100644
--- a/src/sso-ui-dialog.c
+++ b/src/sso-ui-dialog.c
@@ -22,16 +22,30 @@
*/
#include <Elementary.h>
-#include <gsignond/gsignond-signonui.h>
+#include <ewk_view.h>
#include <gsignond/gsignond-signonui-data.h>
#include "sso-ui-dialog.h"
+/*
+ FIXME : below defs should be remove once we revert
+ change in gsignond
+*/
+#ifndef gsignond_signonui_data_ref
+# define gsignond_signonui_data_ref gsignond_dictionary_ref
+#endif
+#ifndef gsignond_signonui_data_unref
+# define gsignond_signonui_data_unref gsignond_dictionary_unref
+#endif
+#ifndef gsignond_signonui_data_new
+# define gsignond_signonui_data_new gsignond_dictionary_new
+#endif
G_DEFINE_TYPE (SSOUIDialog, sso_ui_dialog, G_TYPE_OBJECT)
#define UI_DIALOG_PRIVATE(o) \
(G_TYPE_INSTANCE_GET_PRIVATE ((o), SSO_TYPE_UI_DIALOG, SSOUIDialogPrivate))
+
struct _SSOUIDialogPrivate {
GDBusMethodInvocation *invocation;
GSignondSignonuiData *params;
@@ -283,7 +297,7 @@ on_forgot_clicked (void *data, Evas_Object *obj, void *event_info)
}
static void
-on_web_uri_change (void *data, Evas_Object *obj, void *event_info)
+on_web_url_change (void *data, Evas_Object *obj, void *event_info)
{
SSOUIDialog *self = data;
const char *uri = event_info;
@@ -299,6 +313,20 @@ on_web_uri_change (void *data, Evas_Object *obj, void *event_info)
close_dialog (self);
}
+static void
+on_web_url_load_error (void *data, Evas_Object *obj, void *event_info)
+{
+ const Ewk_Error* error = (const Ewk_Error*)event_info;
+
+ g_debug ("%s, error %s", __FUNCTION__, ewk_error_description_get(error));
+}
+
+static void
+on_web_url_load_finished (void *data, Evas_Object *obj, void *event_info)
+{
+ g_debug("%s", __FUNCTION__);
+}
+
static Evas_Object*
add_entry (Evas_Object *window, Evas_Object *container, const gchar *label_text)
{
@@ -381,24 +409,29 @@ build_dialog (SSOUIDialog *self)
/* Web Dialog for Outh */
if ((str = gsignond_signonui_data_get_open_url (priv->params))) {
+ Evas *canvas = NULL;
priv->oauth_final_url = gsignond_signonui_data_get_final_url (priv->params);
- if (elm_need_web ()) {
- priv->oauth_web = elm_web_add (priv->dialog);
- if (!elm_web_uri_set(priv->oauth_web, str))
- g_warning ("Failed to set URI '%s'", str);
+ g_debug ("Loading url : %s", str);
+
+ canvas = evas_object_evas_get (priv->dialog);
+ priv->oauth_web = ewk_view_add(canvas);
- evas_object_size_hint_min_set (priv->oauth_web, 200, 200);
- evas_object_size_hint_weight_set(priv->oauth_web,
+ if (!ewk_view_url_set(priv->oauth_web, str))
+ g_warning ("Failed to set URI '%s'", str);
+
+ evas_object_size_hint_min_set (priv->oauth_web, 400, 300);
+ evas_object_size_hint_weight_set(priv->oauth_web,
EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set (priv->oauth_web,
+ evas_object_size_hint_align_set (priv->oauth_web,
EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_smart_callback_add (priv->oauth_web, "uri,changed",
- on_web_uri_change, self);
- elm_box_pack_end (content_box, priv->oauth_web);
- } else {
- g_debug ("Web login is disabled: Elementary does not have Ewebkit support");
- priv->oauth_web = NULL;
- }
+ evas_object_smart_callback_add (priv->oauth_web, "url,changed",
+ on_web_url_change, self);
+ evas_object_smart_callback_add (priv->oauth_web, "load,error",
+ on_web_url_load_error, self);
+ evas_object_smart_callback_add (priv->oauth_web, "load,finished",
+ on_web_url_load_finished, self);
+ elm_box_pack_end (content_box, priv->oauth_web);
+ evas_object_show(priv->oauth_web);
}
else {
gboolean query_username = FALSE;
diff --git a/src/sso-ui.c b/src/sso-ui.c
index a729ebc..06571ed 100644
--- a/src/sso-ui.c
+++ b/src/sso-ui.c
@@ -29,6 +29,7 @@
#include <glib/gstdio.h>
#include <Ecore.h>
#include <Elementary.h>
+#include <EWebKit2.h>
#include <gsignond/gsignond-signonui-data.h>
#include "sso-ui-dbus-glue.h"
@@ -41,6 +42,20 @@
#define SSO_UI_NAME "com.google.code.AccountsSSO.gSingleSignOn.UI"
+/*
+ FIXME : below defs should be remove once we revert
+ change in gsignond
+*/
+#ifndef gsignond_signonui_data_new_from_variant
+# define gsignond_signonui_data_new_from_variant gsignond_dictionary_new_from_variant
+#endif
+#ifndef gsignond_signonui_data_to_variant
+# define gsignond_signonui_data_to_variant gsignond_dictionary_to_variant
+#endif
+#ifndef gsignond_signonui_data_unref
+# define gsignond_signonui_data_unref gsignond_dictionary_unref
+#endif
+
GDBusServer *bus_server = NULL; /* p2p server */
GHashTable *dialogs;
gchar *socket_file_path = NULL; /* p2p file system socket path */
@@ -395,6 +410,7 @@ elm_main (int argc, char **argv)
#if !GLIB_CHECK_VERSION (2, 36, 0)
g_type_init ();
#endif
+ ewk_init ();
if (ecore_getopt_parse (&optdesc, values, argc, argv) < 0) {
fprintf (stderr, "Argument parsing failed\n");
@@ -447,6 +463,7 @@ elm_main (int argc, char **argv)
_close_server ();
g_hash_table_unref (dialogs);
+ ewk_shutdown ();
elm_shutdown ();
g_debug ("Clean shut down");