gtk-webkit-ruby 0.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,160 @@
1
+ %pkg-config gtk+-2.0
2
+ %pkg-config webkit-1.0
3
+ %name webkit
4
+
5
+ %{
6
+ #include <intern.h>
7
+
8
+ #include "javascript.h"
9
+
10
+ static inline VALUE strOrNil(const char *str) {
11
+ if (str) {
12
+ return rb_str_new2(str);
13
+ } else {
14
+ return Qnil;
15
+ }
16
+ }
17
+
18
+ %}
19
+
20
+ %include webkit/webkit.h
21
+ %include JavaScriptCore/JavaScript.h
22
+
23
+ %map strOrNil > VALUE : strOrNil(%%)
24
+
25
+ module WebKit
26
+ gcpool RubyFunc
27
+
28
+ class JavascriptError < StandardError
29
+ end
30
+
31
+ def self.set_web_database_path(char *path)
32
+ webkit_set_web_database_directory_path(path);
33
+ end
34
+ def self.remove_all_web_databases()
35
+ webkit_remove_all_web_databases();
36
+ end
37
+ def self.set_default_web_database_quota(guint64 quota)
38
+ webkit_set_default_web_database_quota(quota);
39
+ end
40
+
41
+ gobject WebSettings < WEBKIT_TYPE_WEB_SETTINGS
42
+ @type WebKitWebSettings
43
+ def initialize()
44
+ G_INITIALIZE(self, webkit_web_settings_new());
45
+ end
46
+ end
47
+
48
+ gobject WebFrame < WEBKIT_TYPE_WEB_FRAME
49
+ @type WebKitWebFrame
50
+ def exec_js(char *js)
51
+ return javascript_exec(webkit_web_frame_get_global_context(_self), js);
52
+ end
53
+ def add_ruby_eval()
54
+ javascript_add_ruby_eval(webkit_web_frame_get_global_context(_self));
55
+ end
56
+ def add_js_api(char *name, &block)
57
+ javascript_add_ruby_fn(webkit_web_frame_get_global_context(_self), name, block);
58
+ end
59
+ def load_string(char *content, char *mime_type, char *encoding, char *base_uri)
60
+ webkit_web_frame_load_string(_self, content, mime_type, encoding, base_uri);
61
+ end
62
+ end
63
+ gobject WebView < WEBKIT_TYPE_WEB_VIEW
64
+ @type WebKitWebView
65
+ def initialize()
66
+ RBGTK_INITIALIZE(self, webkit_web_view_new());
67
+ end
68
+ def open(char *uri)
69
+ webkit_web_view_open(_self, uri);
70
+ end
71
+ def execute_script(char *script)
72
+ webkit_web_view_execute_script(_self, script);
73
+ end
74
+ def set_settings(WebKitWebSettings *settings)
75
+ webkit_web_view_set_settings(_self, settings);
76
+ end
77
+ def load_string(char *content, char *mime_type, char *encoding, char *base_uri)
78
+ webkit_web_view_load_string(_self, content, mime_type, encoding, base_uri);
79
+ end
80
+ def load_uri(char *uri)
81
+ webkit_web_view_load_uri(_self, uri);
82
+ end
83
+ def WebKitWebFrame*:main_frame
84
+ return webkit_web_view_get_main_frame(_self);
85
+ end
86
+ def WebKitWebFrame*:focused_frame
87
+ return webkit_web_view_get_focused_frame(_self);
88
+ end
89
+ def double:progress
90
+ return webkit_web_view_get_progress(_self);
91
+ end
92
+ def char*:title
93
+ return webkit_web_view_get_title(_self);
94
+ end
95
+ def char*:uri
96
+ return webkit_web_view_get_uri(_self);
97
+ end
98
+ def reload
99
+ webkit_web_view_reload(_self);
100
+ end
101
+ def reload_bypass_cache
102
+ webkit_web_view_reload_bypass_cache(_self);
103
+ end
104
+ def set_custom_encoding(char *encoding)
105
+ webkit_web_view_set_custom_encoding(_self, encoding);
106
+ end
107
+ def stop_loading
108
+ webkit_web_view_stop_loading(_self);
109
+ end
110
+ end
111
+
112
+ gobject WebResource < WEBKIT_TYPE_WEB_RESOURCE
113
+ @type WebKitWebResource
114
+ def strOrNil:encoding
115
+ return webkit_web_resource_get_encoding(_self);
116
+ end
117
+ def strOrNil:frame_name
118
+ return webkit_web_resource_get_frame_name(_self);
119
+ end
120
+ def strOrNil:mime_type
121
+ return webkit_web_resource_get_mime_type(_self);
122
+ end
123
+ def strOrNil:uri
124
+ return webkit_web_resource_get_mime_type(_self);
125
+ end
126
+ def data
127
+ GString *data = webkit_web_resource_get_data(_self);
128
+ return rb_str_new(data->str, data->len);
129
+ end
130
+ def data=(T_STRING data)
131
+ GString *odata = webkit_web_resource_get_data(_self);
132
+ g_free(odata->str);
133
+ odata->str = g_malloc(RSTRING_LEN(data)+1);
134
+ odata->len = odata->allocated_len = RSTRING_LEN(data);
135
+ memcpy(RSTRING_PTR(data), odata->str, RSTRING_LEN(data));
136
+ return data;
137
+ end
138
+ end
139
+
140
+ gobject WebNetworkRequest < WEBKIT_TYPE_NETWORK_REQUEST
141
+ @type WebKitNetworkRequest
142
+ def char*:uri
143
+ return webkit_network_request_get_uri(_self);
144
+ end
145
+ def uri=(char *uri)
146
+ webkit_network_request_set_uri(_self, uri);
147
+ end
148
+ end
149
+
150
+ gobject WebNetworkResponse < WEBKIT_TYPE_NETWORK_RESPONSE
151
+ @type WebKitNetworkResponse
152
+ def char*:uri
153
+ return webkit_network_response_get_uri(_self);
154
+ end
155
+ def uri=(char *uri)
156
+ webkit_network_response_set_uri(_self, uri);
157
+ end
158
+ end
159
+ end
160
+
@@ -0,0 +1,89 @@
1
+ = module WebKit
2
+ --- WebKit.set_web_database_path(String path)
3
+
4
+
5
+ --- WebKit.remove_all_web_databases()
6
+
7
+
8
+ --- WebKit.set_default_web_database_quota(guint64 quota)
9
+
10
+
11
+ == class WebKit::JavascriptError < StandardError
12
+ == class WebKit::WebSettings
13
+ --- WebKit::WebSettings.new
14
+
15
+ == class WebKit::WebFrame
16
+ --- WebKit::WebFrame#exec_js(String js)
17
+
18
+
19
+ --- WebKit::WebFrame#add_ruby_eval
20
+
21
+ --- WebKit::WebFrame#add_js_api(String name, block)
22
+
23
+
24
+ --- WebKit::WebFrame#load_string(String content, String mime_type, String encoding, String base_uri)
25
+
26
+
27
+ == class WebKit::WebView
28
+ --- WebKit::WebView.new
29
+
30
+ --- WebKit::WebView#open(String uri)
31
+
32
+
33
+ --- WebKit::WebView#execute_script(String script)
34
+
35
+
36
+ --- WebKit::WebView#set_settings(WebKitWebSettings* settings)
37
+
38
+
39
+ --- WebKit::WebView#load_string(String content, String mime_type, String encoding, String base_uri)
40
+
41
+
42
+ --- WebKit::WebView#load_uri(String uri)
43
+
44
+
45
+ --- WebKit::WebView#main_frame
46
+
47
+ --- WebKit::WebView#focused_frame
48
+
49
+ --- WebKit::WebView#progress
50
+
51
+ --- WebKit::WebView#title
52
+
53
+ --- WebKit::WebView#uri
54
+
55
+ --- WebKit::WebView#reload
56
+
57
+ --- WebKit::WebView#reload_bypass_cache
58
+
59
+ --- WebKit::WebView#set_custom_encoding(String encoding)
60
+
61
+
62
+ --- WebKit::WebView#stop_loading
63
+
64
+ == class WebKit::WebResource
65
+ --- WebKit::WebResource#encoding
66
+
67
+ --- WebKit::WebResource#frame_name
68
+
69
+ --- WebKit::WebResource#mime_type
70
+
71
+ --- WebKit::WebResource#uri
72
+
73
+ --- WebKit::WebResource#data
74
+
75
+ --- WebKit::WebResource#data=(String data)
76
+
77
+
78
+ == class WebKit::WebNetworkRequest
79
+ --- WebKit::WebNetworkRequest#uri
80
+
81
+ --- WebKit::WebNetworkRequest#uri=(String uri)
82
+
83
+
84
+ == class WebKit::WebNetworkResponse
85
+ --- WebKit::WebNetworkResponse#uri
86
+
87
+ --- WebKit::WebNetworkResponse#uri=(String uri)
88
+
89
+
metadata ADDED
@@ -0,0 +1,102 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: gtk-webkit-ruby
3
+ version: !ruby/object:Gem::Version
4
+ hash: 25
5
+ prerelease: false
6
+ segments:
7
+ - 0
8
+ - 0
9
+ - 3
10
+ version: 0.0.3
11
+ platform: ruby
12
+ authors:
13
+ - Geoff Youngs
14
+ autorequire:
15
+ bindir: bin
16
+ cert_chain: []
17
+
18
+ date: 2011-06-17 00:00:00 +01:00
19
+ default_executable:
20
+ dependencies:
21
+ - !ruby/object:Gem::Dependency
22
+ name: rubber-generate
23
+ prerelease: false
24
+ requirement: &id001 !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ">="
28
+ - !ruby/object:Gem::Version
29
+ hash: 7
30
+ segments:
31
+ - 0
32
+ - 0
33
+ - 12
34
+ version: 0.0.12
35
+ type: :runtime
36
+ version_requirements: *id001
37
+ description: |
38
+ Gtk Webkit bindings for ruby. Partial coverage sufficient to embed a webview in a Ruby-GNOME2 application.
39
+
40
+ Also initial/experimental support for allowing ruby code to be called by javascript & executing javascript
41
+ from ruby.
42
+
43
+ e.g
44
+ require 'gtk2'
45
+ require 'webkit'
46
+
47
+ v = WebKit::WebView.new
48
+ v.main_frame.setup_ruby
49
+ puts v.main_frame.exec_js("ruby_eval('RUBY_DESCRIPTION')")
50
+ puts v.main_frame.exec_js("document.root.innerHTML")
51
+
52
+ email: git@intersect-uk.co.uk
53
+ executables: []
54
+
55
+ extensions:
56
+ - ext/webkit/extconf.rb
57
+ extra_rdoc_files: []
58
+
59
+ files:
60
+ - ext/webkit/webkit.c
61
+ - ext/webkit/javascript.h
62
+ - ext/webkit/webkit.cr
63
+ - ext/webkit/webkit.rd
64
+ - Rakefile
65
+ - README.md
66
+ - ext/webkit/extconf.rb
67
+ has_rdoc: true
68
+ homepage: http://github.com/geoffyoungs/gtk-webkit-ruby
69
+ licenses: []
70
+
71
+ post_install_message:
72
+ rdoc_options: []
73
+
74
+ require_paths:
75
+ - lib
76
+ required_ruby_version: !ruby/object:Gem::Requirement
77
+ none: false
78
+ requirements:
79
+ - - ">="
80
+ - !ruby/object:Gem::Version
81
+ hash: 3
82
+ segments:
83
+ - 0
84
+ version: "0"
85
+ required_rubygems_version: !ruby/object:Gem::Requirement
86
+ none: false
87
+ requirements:
88
+ - - ">="
89
+ - !ruby/object:Gem::Version
90
+ hash: 3
91
+ segments:
92
+ - 0
93
+ version: "0"
94
+ requirements: []
95
+
96
+ rubyforge_project:
97
+ rubygems_version: 1.3.7
98
+ signing_key:
99
+ specification_version: 3
100
+ summary: Webkit bindings using rubber-generate
101
+ test_files: []
102
+