Add a gecko module. Disable popups.
This commit is contained in:
parent
92e37fd904
commit
5d78b148ff
1
.gitignore
vendored
1
.gitignore
vendored
@ -48,3 +48,4 @@ ltmain.sh
|
||||
po/ChangeLog
|
||||
m4/intltool.m4
|
||||
bindings/globalkeys/globalkeys.c
|
||||
bindings/gecko/gecko.c
|
||||
|
@ -7,6 +7,7 @@ from sugar.activity.Activity import Activity
|
||||
from sugar.presence.PresenceService import PresenceService
|
||||
from sugar.p2p.model.LocalModel import LocalModel
|
||||
from sugar.p2p.model.RemoteModel import RemoteModel
|
||||
import gecko
|
||||
|
||||
from NotificationBar import NotificationBar
|
||||
from NavigationToolbar import NavigationToolbar
|
||||
@ -19,6 +20,8 @@ class BrowserActivity(Activity):
|
||||
gtkmozembed.push_startup()
|
||||
gtkmozembed.set_profile_path(env.get_profile_path(), 'gecko')
|
||||
|
||||
gecko.startup()
|
||||
|
||||
self._share_service = None
|
||||
self._model_service = None
|
||||
self._notif_service = None
|
||||
|
@ -1,4 +1,4 @@
|
||||
SUBDIRS = globalkeys threadframe
|
||||
SUBDIRS = gecko globalkeys threadframe
|
||||
|
||||
bindingsdir = $(pkgdatadir)/bindings
|
||||
bindings_PYTHON = __init__.py
|
||||
|
32
bindings/gecko/Makefile.am
Normal file
32
bindings/gecko/Makefile.am
Normal file
@ -0,0 +1,32 @@
|
||||
INCLUDES = \
|
||||
$(PYTHON_INCLUDES) \
|
||||
$(PYGTK_CFLAGS) \
|
||||
$(GECKO_CFLAGS)
|
||||
|
||||
geckodir = $(pkgdatadir)/bindings
|
||||
pkgpyexecdir = $(geckodir)
|
||||
|
||||
pkgpyexec_LTLIBRARIES = gecko.la
|
||||
|
||||
gecko_la_LDFLAGS = -module -avoid-version
|
||||
gecko_la_LIBADD = $(GECKO_LIBS)
|
||||
|
||||
gecko_la_SOURCES = \
|
||||
geckomodule.c \
|
||||
gecko-browser.h \
|
||||
gecko-browser.cpp
|
||||
|
||||
nodist_gecko_la_SOURCES = gecko.c
|
||||
|
||||
gecko.c: gecko.defs gecko.override
|
||||
|
||||
CLEANFILES = gecko.c
|
||||
EXTRA_DIST = gecko.override gecko.defs
|
||||
|
||||
.defs.c:
|
||||
(cd $(srcdir)\
|
||||
&& $(PYGTK_CODEGEN) \
|
||||
--override $*.override \
|
||||
--prefix py$* $*.defs) > gen-$*.c \
|
||||
&& cp gen-$*.c $*.c \
|
||||
&& rm -f gen-$*.c
|
38
bindings/gecko/gecko-browser.cpp
Normal file
38
bindings/gecko/gecko-browser.cpp
Normal file
@ -0,0 +1,38 @@
|
||||
/*
|
||||
* Copyright (C) 2006 Red Hat, Inc
|
||||
*
|
||||
* Sugar 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 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* Sugar 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
#include "gecko-browser.h"
|
||||
|
||||
#include <nsCOMPtr.h>
|
||||
#include <nsIPrefService.h>
|
||||
#include <nsServiceManagerUtils.h>
|
||||
|
||||
void
|
||||
gecko_startup(void)
|
||||
{
|
||||
nsCOMPtr<nsIPrefService> prefService;
|
||||
|
||||
prefService = do_GetService(NS_PREFSERVICE_CONTRACTID);
|
||||
NS_ENSURE_TRUE(prefService, );
|
||||
|
||||
nsCOMPtr<nsIPrefBranch> pref;
|
||||
prefService->GetBranch("", getter_AddRefs(pref));
|
||||
NS_ENSURE_TRUE(pref, );
|
||||
|
||||
pref->SetBoolPref ("dom.disable_open_during_load", TRUE);
|
||||
}
|
30
bindings/gecko/gecko-browser.h
Normal file
30
bindings/gecko/gecko-browser.h
Normal file
@ -0,0 +1,30 @@
|
||||
/*
|
||||
* Copyright (C) 2006 Red Hat, Inc
|
||||
*
|
||||
* Sugar 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 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* Sugar 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
#ifndef __GECKO_BROWSER_H__
|
||||
#define __GECKO_BROWSER_H__
|
||||
|
||||
#include <glib.h>
|
||||
|
||||
G_BEGIN_DECLS
|
||||
|
||||
void gecko_startup (void);
|
||||
|
||||
G_END_DECLS
|
||||
|
||||
#endif
|
13
bindings/gecko/gecko.defs
Normal file
13
bindings/gecko/gecko.defs
Normal file
@ -0,0 +1,13 @@
|
||||
;; -*- scheme -*-
|
||||
; object definitions ...
|
||||
;; Enumerations and flags ...
|
||||
|
||||
|
||||
;; From sugar-browser.h
|
||||
|
||||
(define-function startup
|
||||
(c-name "gecko_startup")
|
||||
(return-type "none")
|
||||
)
|
||||
|
||||
|
7
bindings/gecko/gecko.override
Normal file
7
bindings/gecko/gecko.override
Normal file
@ -0,0 +1,7 @@
|
||||
/* -*- Mode: C; c-basic-offset: 4 -*- */
|
||||
%%
|
||||
headers
|
||||
#include <Python.h>
|
||||
|
||||
#include "gecko-browser.h"
|
||||
%%
|
23
bindings/gecko/geckomodule.c
Normal file
23
bindings/gecko/geckomodule.c
Normal file
@ -0,0 +1,23 @@
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include "config.h"
|
||||
#endif
|
||||
|
||||
/* include this first, before NO_IMPORT_PYGOBJECT is defined */
|
||||
#include <pygobject.h>
|
||||
|
||||
extern PyMethodDef pygecko_functions[];
|
||||
|
||||
DL_EXPORT(void)
|
||||
initgecko(void)
|
||||
{
|
||||
PyObject *m, *d;
|
||||
|
||||
init_pygobject ();
|
||||
|
||||
m = Py_InitModule ("gecko", pygecko_functions);
|
||||
d = PyModule_GetDict (m);
|
||||
|
||||
if (PyErr_Occurred ()) {
|
||||
Py_FatalError ("can't initialise module globalkeys");
|
||||
}
|
||||
}
|
@ -23,6 +23,7 @@ AC_PATH_PROG(PYGTK_CODEGEN, pygtk-codegen-2.0, no)
|
||||
|
||||
PKG_CHECK_MODULES(PYGTK, pygtk-2.0)
|
||||
PKG_CHECK_MODULES(GLOBALKEYS, gdk-2.0)
|
||||
PKG_CHECK_MODULES(GECKO, xulrunner-gtkmozembed)
|
||||
|
||||
#
|
||||
# Setup GETTEXT
|
||||
@ -43,6 +44,7 @@ activities/chat/Makefile
|
||||
activities/groupchat/Makefile
|
||||
activities/terminal/Makefile
|
||||
bindings/Makefile
|
||||
bindings/gecko/Makefile
|
||||
bindings/globalkeys/Makefile
|
||||
bindings/threadframe/Makefile
|
||||
services/Makefile
|
||||
|
Loading…
Reference in New Issue
Block a user