22
23
#include "config.h"
23
#include "ephy-debug.h"
25
24
#include "ephy-adblock-manager.h"
26
26
#include "ephy-adblock.h"
27
#include "ephy-debug.h"
28
29
struct _EphyAdBlockManagerPrivate
33
34
G_DEFINE_TYPE (EphyAdBlockManager, ephy_adblock_manager, G_TYPE_OBJECT);
35
#define EPHY_ADBLOCK_MANAGER_GET_PRIVATE(object) \
36
(G_TYPE_INSTANCE_GET_PRIVATE ((object), \
37
EPHY_TYPE_ADBLOCK_MANAGER, EphyAdBlockManagerPrivate))
36
#define EPHY_ADBLOCK_MANAGER_GET_PRIVATE(object) (G_TYPE_INSTANCE_GET_PRIVATE ((object), EPHY_TYPE_ADBLOCK_MANAGER, EphyAdBlockManagerPrivate))
41
39
* ephy_adblock_manager_set_blocker:
67
68
ephy_adblock_manager_should_load (EphyAdBlockManager *self,
70
AdUriCheckType check_type)
71
AdUriCheckType check_type)
72
if (self->priv->blocker != NULL)
74
return ephy_adblock_should_load (self->priv->blocker,
80
/* default: let's process any url */
73
g_return_val_if_fail (EPHY_IS_ADBLOCK_MANAGER (self), TRUE);
74
g_return_val_if_fail (EPHY_IS_EMBED (embed), TRUE);
75
g_return_val_if_fail (url, TRUE);
77
if (self->priv->blocker != NULL)
78
return ephy_adblock_should_load (self->priv->blocker,
83
/* Default: let's process any url. */
85
88
ephy_adblock_manager_init (EphyAdBlockManager *self)
87
LOG ("ephy_adblock_manager_init");
90
LOG ("ephy_adblock_manager_init");
89
self->priv = EPHY_ADBLOCK_MANAGER_GET_PRIVATE(self);
92
self->priv = EPHY_ADBLOCK_MANAGER_GET_PRIVATE(self);
93
96
ephy_adblock_manager_class_init (EphyAdBlockManagerClass *klass)
95
GObjectClass *object_class = G_OBJECT_CLASS (klass);
97
g_signal_new ("rules_changed",
98
G_OBJECT_CLASS_TYPE (object_class),
100
G_STRUCT_OFFSET (EphyAdBlockManagerClass, rules_changed),
102
g_cclosure_marshal_VOID__VOID,
107
g_type_class_add_private (object_class, sizeof (EphyAdBlockManagerPrivate));
111
* ephy_adblock_manager_edit_rule:
112
* @shell: a #EphyAdBlockManager
113
* @url: the target url on which the rule is based
114
* @allowed: TRUE if the url has to be blocked.
116
* Ask to the blocker a new rule based on @url.
120
ephy_adblock_manager_edit_rule (EphyAdBlockManager *self,
124
if (self->priv->blocker != NULL)
126
ephy_adblock_edit_rule (self->priv->blocker,
98
GObjectClass *object_class = G_OBJECT_CLASS (klass);
100
g_signal_new ("rules_changed",
101
G_OBJECT_CLASS_TYPE (object_class),
103
G_STRUCT_OFFSET (EphyAdBlockManagerClass, rules_changed),
105
g_cclosure_marshal_VOID__VOID,
110
g_type_class_add_private (object_class, sizeof (EphyAdBlockManagerPrivate));