aboutsummaryrefslogtreecommitdiffstats
path: root/embed
diff options
context:
space:
mode:
authorXan Lopez <xan@gnome.org>2009-08-09 02:31:43 +0800
committerXan Lopez <xan@gnome.org>2009-08-09 02:31:43 +0800
commitbe0a6c25239a4dd25495b50b4bed22bcbcc00440 (patch)
treebddb1b33123ee27a34a2d21577d256828d6e3afa /embed
parent4aa17a82e3a1914c93720321cb275abc718c8f6a (diff)
downloadgsoc2013-epiphany-be0a6c25239a4dd25495b50b4bed22bcbcc00440.tar.gz
gsoc2013-epiphany-be0a6c25239a4dd25495b50b4bed22bcbcc00440.tar.zst
gsoc2013-epiphany-be0a6c25239a4dd25495b50b4bed22bcbcc00440.zip
Re-implement PDM's password viewer.
Patch by Holger Freyther, Prit Laes, with fixes from Xan López. Fetches the data from the GNOME keyring, which is where WebKit stores it (when compiled with keyring support). Bug #579217
Diffstat (limited to 'embed')
-rw-r--r--embed/Makefile.am2
-rw-r--r--embed/ephy-embed-single.c38
-rw-r--r--embed/ephy-password-manager.c218
-rw-r--r--embed/ephy-password-manager.h101
4 files changed, 0 insertions, 359 deletions
diff --git a/embed/Makefile.am b/embed/Makefile.am
index b1f23303b..f4a49983e 100644
--- a/embed/Makefile.am
+++ b/embed/Makefile.am
@@ -26,7 +26,6 @@ INST_H_FILES = \
ephy-embed-shell.h \
ephy-embed-utils.h \
ephy-history.h \
- ephy-password-manager.h \
ephy-permission-manager.h \
ephy-web-view.h
@@ -51,7 +50,6 @@ libephyembed_la_SOURCES = \
ephy-encodings.c \
ephy-favicon-cache.c \
ephy-history.c \
- ephy-password-manager.c \
ephy-permission-manager.c \
ephy-embed-prefs.c \
ephy-web-view.c \
diff --git a/embed/ephy-embed-single.c b/embed/ephy-embed-single.c
index b41850a2a..f3f99965d 100644
--- a/embed/ephy-embed-single.c
+++ b/embed/ephy-embed-single.c
@@ -26,7 +26,6 @@
#include "ephy-file-helpers.h"
#include "ephy-marshal.h"
#include "ephy-signal-accumulator.h"
-#include "ephy-password-manager.h"
#include "ephy-permission-manager.h"
#ifdef ENABLE_CERTIFICATE_MANAGER
@@ -50,7 +49,6 @@ enum {
static void ephy_embed_single_init (EphyEmbedSingle *single);
static void ephy_embed_single_class_init (EphyEmbedSingleClass *klass);
static void ephy_permission_manager_iface_init (EphyPermissionManagerIface *iface);
-static void ephy_password_manager_iface_init (EphyPasswordManagerIface *iface);
#ifdef ENABLE_CERTIFICATE_MANAGER
static void ephy_certificate_manager_iface_init (EphyCertificateManagerIface *iface);
#endif
@@ -96,16 +94,12 @@ ephy_embed_single_set_property (GObject *object,
#ifdef ENABLE_CERTIFICATE_MANAGER
G_DEFINE_TYPE_WITH_CODE (EphyEmbedSingle, ephy_embed_single, G_TYPE_OBJECT,
- G_IMPLEMENT_INTERFACE (EPHY_TYPE_PASSWORD_MANAGER,
- ephy_password_manager_iface_init)
G_IMPLEMENT_INTERFACE (EPHY_TYPE_CERTIFICATE_MANAGER,
ephy_certificate_manager_iface_init)
G_IMPLEMENT_INTERFACE (EPHY_TYPE_PERMISSION_MANAGER,
ephy_permission_manager_iface_init))
#else
G_DEFINE_TYPE_WITH_CODE (EphyEmbedSingle, ephy_embed_single, G_TYPE_OBJECT,
- G_IMPLEMENT_INTERFACE (EPHY_TYPE_PASSWORD_MANAGER,
- ephy_password_manager_iface_init)
G_IMPLEMENT_INTERFACE (EPHY_TYPE_PERMISSION_MANAGER,
ephy_permission_manager_iface_init))
#endif
@@ -289,38 +283,6 @@ ephy_permission_manager_iface_init (EphyPermissionManagerIface *iface)
iface->list = impl_permission_manager_list;
}
-static GList *
-impl_list_passwords (EphyPasswordManager *manager)
-{
- return NULL;
-}
-
-static void
-impl_remove_password (EphyPasswordManager *manager,
- EphyPasswordInfo *info)
-{
-}
-
-static void
-impl_remove_all_passwords (EphyPasswordManager *manager)
-{
-}
-
-static void
-impl_add_password (EphyPasswordManager *manager,
- EphyPasswordInfo *info)
-{
-}
-
-static void
-ephy_password_manager_iface_init (EphyPasswordManagerIface *iface)
-{
- iface->add = impl_add_password;
- iface->remove = impl_remove_password;
- iface->remove_all = impl_remove_all_passwords;
- iface->list = impl_list_passwords;
-}
-
#ifdef ENABLE_CERTIFICATE_MANAGER
static gboolean
diff --git a/embed/ephy-password-manager.c b/embed/ephy-password-manager.c
deleted file mode 100644
index aa757c7e4..000000000
--- a/embed/ephy-password-manager.c
+++ /dev/null
@@ -1,218 +0,0 @@
-/*
- * Copyright © 2003 Marco Pesenti Gritti
- * Copyright © 2003 Christian Persch
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2, or (at your option)
- * any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- *
- */
-
-#include "config.h"
-
-#include "ephy-password-manager.h"
-#include "ephy-marshal.h"
-#include "ephy-debug.h"
-
-/* EphyPasswordInfo */
-
-GType
-ephy_password_info_get_type (void)
-{
- static GType type = 0;
-
- if (G_UNLIKELY (type == 0))
- {
- type = g_boxed_type_register_static ("EphyPasswordInfo",
- (GBoxedCopyFunc) ephy_password_info_copy,
- (GBoxedFreeFunc) ephy_password_info_free);
- }
-
- return type;
-}
-
-/**
- * ephy_password_info_new:
- * @host: a host name
- * @username: a user name
- * @password: a password, or NULL
- *
- * Generates a new #EphyPasswordInfo.
- *
- * Return value: the new password info.
- **/
-EphyPasswordInfo *
-ephy_password_info_new (const char *host,
- const char *username,
- const char *password)
-{
- EphyPasswordInfo *info = g_slice_new0 (EphyPasswordInfo);
-
- info->host = g_strdup (host);
- info->username = g_strdup (username);
- info->password = g_strdup (password);
-
- return info;
-}
-
-/**
- * ephy_password_info_copy:
- * @info: a #EphyPasswordInfo
- *
- * Return value: a copy of @info
- **/
-EphyPasswordInfo *
-ephy_password_info_copy (const EphyPasswordInfo *info)
-{
- EphyPasswordInfo *copy = g_slice_new0 (EphyPasswordInfo);
-
- copy->host = g_strdup (info->host);
- copy->username = g_strdup (info->username);
- copy->password = g_strdup (info->password);
- copy->httpRealm = g_strdup (info->httpRealm);
- copy->passwordField = g_strdup (info->passwordField);
- copy->usernameField = g_strdup (info->usernameField);
- copy->formSubmitURL = g_strdup (info->formSubmitURL);
-
- return copy;
-}
-
-/**
- * ephy_password_info_free:
- * @info:
- *
- * Frees @info.
- **/
-void
-ephy_password_info_free (EphyPasswordInfo *info)
-{
- if (info != NULL)
- {
- g_free (info->host);
- g_free (info->username);
- g_free (info->password);
- g_slice_free (EphyPasswordInfo, info);
- }
-}
-
-/* EphyPasswordManager */
-
-static void ephy_password_manager_base_init (gpointer g_class);
-
-GType
-ephy_password_manager_get_type (void)
-{
- static GType type = 0;
-
- if (G_UNLIKELY (type == 0))
- {
- const GTypeInfo our_info =
- {
- sizeof (EphyPasswordManagerIface),
- ephy_password_manager_base_init,
- NULL,
- };
-
- type = g_type_register_static (G_TYPE_INTERFACE,
- "EphyPasswordManager",
- &our_info,
- (GTypeFlags) 0);
- }
-
- return type;
-}
-
-static void
-ephy_password_manager_base_init (gpointer g_class)
-{
- static gboolean initialised = FALSE;
-
- if (initialised == FALSE)
- {
- /**
- * EphyPasswordManager::changed
- * @manager: the #EphyPermissionManager
- *
- * The ::passwords-changed signal is emitted when the list of passwords
- * has changed.
- */
- g_signal_new ("passwords-changed",
- EPHY_TYPE_PASSWORD_MANAGER,
- G_SIGNAL_RUN_FIRST,
- G_STRUCT_OFFSET (EphyPasswordManagerIface, changed),
- NULL, NULL,
- g_cclosure_marshal_VOID__VOID,
- G_TYPE_NONE,
- 0);
-
- initialised = TRUE;
- }
-}
-
-/**
- * ephy_password_manager_add_password:
- * @manager: the #EphyPasswordManager
- * @info: a #EphyPasswordInfo
- *
- * Adds the password entry @info to the the passwords database.
- **/
-void
-ephy_password_manager_add_password (EphyPasswordManager *manager,
- EphyPasswordInfo *info)
-{
- EphyPasswordManagerIface *iface = EPHY_PASSWORD_MANAGER_GET_IFACE (manager);
- iface->add (manager, info);
-}
-
-/**
- * ephy_password_manager_remove_password:
- * @manager: the #EphyPasswordManager
- * @info: a #EphyPasswordInfo
- *
- * Removes the password entry @info from the passwords database.
- **/
-void
-ephy_password_manager_remove_password (EphyPasswordManager *manager,
- EphyPasswordInfo *info)
-{
- EphyPasswordManagerIface *iface = EPHY_PASSWORD_MANAGER_GET_IFACE (manager);
- iface->remove (manager, info);
-}
-
-/**
- * ephy_password_manager_remove_all_passwords:
- * @manager: the #EphyPasswordManager
- *
- * Removes all the password entries from the password database.
- **/
-void
-ephy_password_manager_remove_all_passwords (EphyPasswordManager *manager)
-{
- EphyPasswordManagerIface *iface = EPHY_PASSWORD_MANAGER_GET_IFACE (manager);
- iface->remove_all (manager);
-}
-
-/**
- * ephy_password_manager_list_passwords:
- * @manager: the #EphyPasswordManager
- *
- * Lists all password entries in the passwords database.
- *
- * Return value: the list of password entries
- **/
-GList *
-ephy_password_manager_list_passwords(EphyPasswordManager *manager)
-{
- EphyPasswordManagerIface *iface = EPHY_PASSWORD_MANAGER_GET_IFACE (manager);
- return iface->list (manager);
-}
diff --git a/embed/ephy-password-manager.h b/embed/ephy-password-manager.h
deleted file mode 100644
index 8e8b7bc3b..000000000
--- a/embed/ephy-password-manager.h
+++ /dev/null
@@ -1,101 +0,0 @@
-/*
- * Copyright © 2003 Marco Pesenti Gritti
- * Copyright © 2003 Christian Persch
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2, or (at your option)
- * any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- *
- */
-
-#if !defined (__EPHY_EPIPHANY_H_INSIDE__) && !defined (EPIPHANY_COMPILATION)
-#error "Only <epiphany/epiphany.h> can be included directly."
-#endif
-
-#ifndef EPHY_PASSWORD_MANAGER_H
-#define EPHY_PASSWORD_MANAGER_H
-
-#include <glib-object.h>
-#include <glib.h>
-
-G_BEGIN_DECLS
-
-#define EPHY_TYPE_PASSWORD_MANAGER (ephy_password_manager_get_type ())
-#define EPHY_PASSWORD_MANAGER(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), EPHY_TYPE_PASSWORD_MANAGER, EphyPasswordManager))
-#define EPHY_PASSWORD_MANAGER_IFACE(k) (G_TYPE_CHECK_CLASS_CAST((k), EPHY_TYPE_PASSWORD_MANAGER, EphyPasswordManagerIface))
-#define EPHY_IS_PASSWORD_MANAGER(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), EPHY_TYPE_PASSWORD_MANAGER))
-#define EPHY_IS_PASSWORD_MANAGER_IFACE(k) (G_TYPE_CHECK_CLASS_TYPE ((k), EPHY_TYPE_PASSWORD_MANAGER))
-#define EPHY_PASSWORD_MANAGER_GET_IFACE(inst) (G_TYPE_INSTANCE_GET_INTERFACE ((inst), EPHY_TYPE_PASSWORD_MANAGER, EphyPasswordManagerIface))
-
-#define EPHY_TYPE_PASSWORD_INFO (ephy_password_info_get_type ())
-
-typedef struct _EphyPasswordManager EphyPasswordManager;
-typedef struct _EphyPasswordManagerIface EphyPasswordManagerIface;
-
-typedef struct
-{
- char *host;
- char *username;
- char *password;
-
- char *httpRealm;
- char *formSubmitURL;
- char *usernameField;
- char *passwordField;
-} EphyPasswordInfo;
-
-struct _EphyPasswordManagerIface
-{
- GTypeInterface base_iface;
-
- /* Signals */
- void (* changed) (EphyPasswordManager *manager);
-
- /* Methods */
- void (* add) (EphyPasswordManager *manager,
- EphyPasswordInfo *info);
- void (* remove) (EphyPasswordManager *manager,
- EphyPasswordInfo *info);
- void (* remove_all) (EphyPasswordManager *manager);
- GList * (* list) (EphyPasswordManager *manager);
-};
-
-/* EphyPasswordInfo */
-
-GType ephy_password_info_get_type (void);
-
-EphyPasswordInfo *ephy_password_info_new (const char *host,
- const char *username,
- const char *password);
-
-EphyPasswordInfo *ephy_password_info_copy (const EphyPasswordInfo *info);
-
-void ephy_password_info_free (EphyPasswordInfo *info);
-
-/* EphyPasswordManager */
-
-GType ephy_password_manager_get_type (void);
-
-void ephy_password_manager_add_password (EphyPasswordManager *manager,
- EphyPasswordInfo *info);
-
-void ephy_password_manager_remove_password (EphyPasswordManager *manager,
- EphyPasswordInfo *info);
-
-void ephy_password_manager_remove_all_passwords (EphyPasswordManager *manager);
-
-GList * ephy_password_manager_list_passwords (EphyPasswordManager *manager);
-
-G_END_DECLS
-
-#endif