Re: firefox extension with webkit?
- From: Alp Toker <alp atoker com>
- To: Matej Cepl <mcepl redhat com>
- Cc: Jürg Billeter <j bitron ch>, epiphany-list gnome org
- Subject: Re: firefox extension with webkit?
- Date: Fri, 02 May 2008 19:54:37 +0100
Matej Cepl wrote:
Hi,
how complicated is to make a firefox extension (Greasemonkey in
this case) working with WebKit-based epiphany?
* different parameters to configure or something like that
* slight C fixes
* rewrite of WebKit to support firefox extensions
Hi Matej!
There are two questions here which I'll try to answer.
Will Firefox extensions work in Epiphany?
Not at all. The WebKit extension infrastructure (its public API) is
completely different to that of Firefox, especially since WebKit is
designed to be extended using standard programming languages while
Firefox extensions are typically glued together with JavaScript.
Is it easy to implement Epiphany/WebKit extensions?
Absolutely. Extending Epiphany to support GreaseMonkey scripts out of
the box is light work if you've familiar with WebKit/JavaScriptCore --
this could be a fun project for anyone looking to cut their teeth on
extension hacking.
Implementing a GreaseMonkey extension for WebKit would involve:
1) Installing the appropriate custom script when the
script-object-cleared signal is fired on WebView.
2) Installing JS callbacks to handle the 5 GreaseMonkey functions:
* GM_log - log messages to the JavaScript Console
* GM_getValue - get script-specific configuration value
* GM_setValue - set script-specific configuration value
* GM_registerMenuCommand - add a menu item to the User Script
Commands submenu
* GM_xmlhttpRequest - make an arbitrary HTTP request
The Python binding isn't complete yet enough to do this, but you can do
it in C or check out Vala, which has some fancy language integration
with the runtime to make light work of a project like this. (Perhaps
Jürg Billeter can demonstrate how this would be done, ccing him.)
(You'll also need to make a minor modification to Epiphany or the
Epiphany Extensions system to expose the underlying WebKit instance to
hook your extension up.)
Once the pieces fall into place, Epiphany should be easier to than it
has been in the past.
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]