~l3on/ubuntu/precise/epiphany-extensions/new-release

« back to all changes in this revision

Viewing changes to extensions/sample-mozilla/ephy-sample2-extension.c

  • Committer: Bazaar Package Importer
  • Author(s): Alexander Sack
  • Date: 2009-09-18 14:08:05 UTC
  • mfrom: (1.1.36 upstream)
  • Revision ID: james.westby@ubuntu.com-20090918140805-fa8kka5uo6u5l5io
Tags: 2.27.92-0ubuntu1
* new upstream 2.27.92 ships ships epiphany-webkit extensions only
  - update debian/control - move from epiphany-browser to -webkit
  - update debian/rules - drop link creation that tried to support -browser
    and -webkit parts and run dh_pysupport on epiphany-webkit dir
  - update debian/rules - use really-all extensions
  - add debian/patches/02_greasemonkey_web_view.patch - fix greasemonkey
    extension being broken by bad web_view lookup - bgo 595814

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/*
2
 
 *  Copyright © 2003 Marco Pesenti Gritti
3
 
 *  Copyright © 2003 Christian Persch
4
 
 *
5
 
 *  This program is free software; you can redistribute it and/or modify
6
 
 *  it under the terms of the GNU General Public License as published by
7
 
 *  the Free Software Foundation; either version 2, or (at your option)
8
 
 *  any later version.
9
 
 *
10
 
 *  This program is distributed in the hope that it will be useful,
11
 
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
12
 
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13
 
 *  GNU General Public License for more details.
14
 
 *
15
 
 *  You should have received a copy of the GNU General Public License
16
 
 *  along with this program; if not, write to the Free Software
17
 
 *  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
18
 
 *
19
 
 *  $Id$
20
 
 */
21
 
 
22
 
#include "config.h"
23
 
 
24
 
#include "ephy-sample2-extension.h"
25
 
#include "mozilla-sample.h"
26
 
#include "ephy-debug.h"
27
 
 
28
 
#include <epiphany/ephy-extension.h>
29
 
 
30
 
#include <glib/gi18n-lib.h>
31
 
#include <gmodule.h>
32
 
 
33
 
#define EPHY_SAMPLE2_EXTENSION_GET_PRIVATE(object)(G_TYPE_INSTANCE_GET_PRIVATE ((object), EPHY_TYPE_SAMPLE2_EXTENSION, EphySample2ExtensionPrivate))
34
 
 
35
 
struct _EphySample2ExtensionPrivate
36
 
{
37
 
        gpointer dummy;
38
 
};
39
 
 
40
 
enum
41
 
{
42
 
        PROP_0
43
 
};
44
 
 
45
 
static GObjectClass *parent_class = NULL;
46
 
 
47
 
static GType type = 0;
48
 
 
49
 
static void
50
 
ephy_sample2_extension_init (EphySample2Extension *extension)
51
 
{
52
 
        extension->priv = EPHY_SAMPLE2_EXTENSION_GET_PRIVATE (extension);
53
 
 
54
 
        LOG ("EphySample2Extension initialising");
55
 
}
56
 
 
57
 
static void
58
 
ephy_sample2_extension_finalize (GObject *object)
59
 
{
60
 
/*
61
 
        EphySample2Extension *extension = EPHY_SAMPLE2_EXTENSION (object);
62
 
*/
63
 
        LOG ("EphySample2Extension finalising");
64
 
 
65
 
        G_OBJECT_CLASS (parent_class)->finalize (object);
66
 
}
67
 
 
68
 
static gboolean
69
 
dom_mouse_down_cb (EphyEmbed *embed,
70
 
                   EphyEmbedEvent *event,
71
 
                   EphySample2Extension *extension)
72
 
{
73
 
        gpointer dom_event;
74
 
 
75
 
        dom_event = ephy_embed_event_get_dom_event (event);
76
 
 
77
 
        LOG ("DOM Event %p", dom_event);
78
 
 
79
 
        mozilla_do_something (dom_event);
80
 
 
81
 
        return FALSE;
82
 
}
83
 
 
84
 
static void
85
 
impl_attach_window (EphyExtension *ext,
86
 
                    EphyWindow *window)
87
 
{
88
 
        GtkWidget *notebook;
89
 
 
90
 
        LOG ("EphySample2Extension attach_window");
91
 
 
92
 
        notebook = ephy_window_get_notebook (window);
93
 
}
94
 
 
95
 
static void
96
 
impl_detach_window (EphyExtension *ext,
97
 
                    EphyWindow *window)
98
 
{
99
 
        GtkWidget *notebook;
100
 
 
101
 
        LOG ("EphySample2Extension detach_window");
102
 
 
103
 
        notebook = ephy_window_get_notebook (window);
104
 
}
105
 
 
106
 
static void
107
 
impl_attach_tab (EphyExtension *ext,
108
 
                 EphyWindow *window,
109
 
                 EphyEmbed *embed)
110
 
{
111
 
        LOG ("impl_attach_tab");
112
 
 
113
 
        g_return_if_fail (EPHY_IS_EMBED (embed));
114
 
 
115
 
        g_signal_connect (embed, "ge_dom_mouse_down",
116
 
                          G_CALLBACK (dom_mouse_down_cb), ext);
117
 
}
118
 
 
119
 
static void
120
 
impl_detach_tab (EphyExtension *ext,
121
 
                 EphyWindow *window,
122
 
                 EphyEmbed *embed)
123
 
{
124
 
        LOG ("impl_detach_tab");
125
 
 
126
 
        g_return_if_fail (EPHY_IS_EMBED (embed));
127
 
 
128
 
        g_signal_handlers_disconnect_by_func
129
 
                (embed, G_CALLBACK (dom_mouse_down_cb), ext);
130
 
}
131
 
 
132
 
static void
133
 
ephy_sample2_extension_iface_init (EphyExtensionIface *iface)
134
 
{
135
 
        iface->attach_window = impl_attach_window;
136
 
        iface->detach_window = impl_detach_window;
137
 
        iface->attach_tab = impl_attach_tab;
138
 
        iface->detach_tab = impl_detach_tab;
139
 
}
140
 
 
141
 
static void
142
 
ephy_sample2_extension_class_init (EphySample2ExtensionClass *klass)
143
 
{
144
 
        GObjectClass *object_class = G_OBJECT_CLASS (klass);
145
 
 
146
 
        parent_class = g_type_class_peek_parent (klass);
147
 
 
148
 
        object_class->finalize = ephy_sample2_extension_finalize;
149
 
 
150
 
        g_type_class_add_private (object_class, sizeof (EphySample2ExtensionPrivate));
151
 
}
152
 
 
153
 
GType
154
 
ephy_sample2_extension_get_type (void)
155
 
{
156
 
        return type;
157
 
}
158
 
 
159
 
GType
160
 
ephy_sample2_extension_register_type (GTypeModule *module)
161
 
{
162
 
        const GTypeInfo our_info =
163
 
        {
164
 
                sizeof (EphySample2ExtensionClass),
165
 
                NULL, /* base_init */
166
 
                NULL, /* base_finalize */
167
 
                (GClassInitFunc) ephy_sample2_extension_class_init,
168
 
                NULL,
169
 
                NULL, /* class_data */
170
 
                sizeof (EphySample2Extension),
171
 
                0, /* n_preallocs */
172
 
                (GInstanceInitFunc) ephy_sample2_extension_init
173
 
        };
174
 
 
175
 
        const GInterfaceInfo extension_info =
176
 
        {
177
 
                (GInterfaceInitFunc) ephy_sample2_extension_iface_init,
178
 
                NULL,
179
 
                NULL
180
 
        };
181
 
 
182
 
        type = g_type_module_register_type (module,
183
 
                                            G_TYPE_OBJECT,
184
 
                                            "EphySample2Extension",
185
 
                                            &our_info, 0);
186
 
 
187
 
        g_type_module_add_interface (module,
188
 
                                     type,
189
 
                                     EPHY_TYPE_EXTENSION,
190
 
                                     &extension_info);
191
 
 
192
 
        return type;
193
 
}