gtk-webkit-ruby 0.0.3 → 0.0.4

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.
data/ext/webkit/webkit.c CHANGED
@@ -1,9 +1,17 @@
1
+ #pragma GCC diagnostic ignored "-Wunused-but-set-variable"
1
2
  /* Includes */
2
3
  #include <ruby.h>
3
4
  #include <stdlib.h>
4
5
  #include <stdio.h>
5
6
  #include <string.h>
7
+ #include "dlfcn.h"
8
+ #include "errno.h"
9
+ #include "ffi.h"
10
+ #include "rbgobject.h"
11
+ #include "sys/mman.h"
12
+ #include "intern.h"
6
13
  #include "webkit/webkit.h"
14
+ #include "webkit/webkitenumtypes.h"
7
15
  #include "JavaScriptCore/JavaScript.h"
8
16
 
9
17
  /* Setup types */
@@ -37,14 +45,24 @@ static VALUE
37
45
  WebKit_CLASS_remove_all_web_databases(VALUE self);
38
46
  static VALUE
39
47
  WebKit_CLASS_set_default_web_database_quota(VALUE self, VALUE __v_quota);
48
+ static VALUE cJsPtr;
40
49
  static VALUE cJavascriptError;
41
50
  static VALUE cWebSettings;
42
51
  static VALUE
43
52
  WebSettings_initialize(VALUE self);
53
+ static VALUE cWebPolicyDecision;
54
+ static VALUE
55
+ WebPolicyDecision_download(VALUE self);
56
+ static VALUE
57
+ WebPolicyDecision_use(VALUE self);
58
+ static VALUE
59
+ WebPolicyDecision_ignore(VALUE self);
44
60
  static VALUE cWebFrame;
45
61
  static VALUE
46
62
  WebFrame_exec_js(VALUE self, VALUE __v_js);
47
63
  static VALUE
64
+ WebFrame_add_ruby_class(VALUE self, VALUE __v_name, VALUE klass);
65
+ static VALUE
48
66
  WebFrame_add_ruby_eval(VALUE self);
49
67
  static VALUE
50
68
  WebFrame_add_js_api(VALUE self, VALUE __v_name);
@@ -81,6 +99,21 @@ static VALUE
81
99
  WebView_set_custom_encoding(VALUE self, VALUE __v_encoding);
82
100
  static VALUE
83
101
  WebView_stop_loading(VALUE self);
102
+ static VALUE
103
+ WebView_has_selection_query(VALUE self);
104
+ static VALUE
105
+ WebView_inspector(VALUE self);
106
+ static VALUE cWebInspector;
107
+ static VALUE
108
+ WebInspector_inspect_coordinates(VALUE self, VALUE __v_x, VALUE __v_y);
109
+ static VALUE
110
+ WebInspector_uri(VALUE self);
111
+ static VALUE
112
+ WebInspector_show(VALUE self);
113
+ static VALUE
114
+ WebInspector_close(VALUE self);
115
+ static VALUE
116
+ WebInspector_view(VALUE self);
84
117
  static VALUE cWebResource;
85
118
  static VALUE
86
119
  WebResource_encoding(VALUE self);
@@ -99,11 +132,44 @@ static VALUE
99
132
  WebNetworkRequest_uri(VALUE self);
100
133
  static VALUE
101
134
  WebNetworkRequest_uri_equals(VALUE self, VALUE __v_uri);
135
+ static VALUE
136
+ WebNetworkRequest_message(VALUE self);
102
137
  static VALUE cWebNetworkResponse;
103
138
  static VALUE
104
139
  WebNetworkResponse_uri(VALUE self);
105
140
  static VALUE
106
141
  WebNetworkResponse_uri_equals(VALUE self, VALUE __v_uri);
142
+ static VALUE
143
+ WebNetworkResponse_message(VALUE self);
144
+ static VALUE cDownload;
145
+ static VALUE
146
+ Download_initialize(VALUE self, VALUE __v_request);
147
+ static VALUE
148
+ Download_start(VALUE self);
149
+ static VALUE
150
+ Download_cancel(VALUE self);
151
+ static VALUE
152
+ Download_progress(VALUE self);
153
+ static VALUE
154
+ Download_current_size(VALUE self);
155
+ static VALUE
156
+ Download_total_size(VALUE self);
157
+ static VALUE
158
+ Download_uri(VALUE self);
159
+ static VALUE
160
+ Download_suggested_filename(VALUE self);
161
+ VALUE genumTargetInfo = Qnil;
162
+ VALUE genumDownloadStatus = Qnil;
163
+ VALUE genumDownloadError = Qnil;
164
+ VALUE genumNetworkError = Qnil;
165
+ VALUE genumPolicyError = Qnil;
166
+ VALUE genumPluginError = Qnil;
167
+ VALUE genumCacheModel = Qnil;
168
+ VALUE genumLoadStatus = Qnil;
169
+ VALUE genumNavigationReason = Qnil;
170
+ VALUE genumHitTestResultContext = Qnil;
171
+ VALUE genumEditingBehavior = Qnil;
172
+ VALUE genumNavigationResponse = Qnil;
107
173
  static VALUE _gcpool_RubyFunc = Qnil;
108
174
  static void __gcpool_RubyFunc_add(VALUE val);
109
175
  static void __gcpool_RubyFunc_del(VALUE val);
@@ -113,7 +179,6 @@ static void __gcpool_RubyFunc_del(VALUE val);
113
179
  /* Inline C code */
114
180
 
115
181
  #include <intern.h>
116
-
117
182
  #include "javascript.h"
118
183
 
119
184
  static inline VALUE strOrNil(const char *str) {
@@ -132,7 +197,7 @@ WebKit_CLASS_set_web_database_path(VALUE self, VALUE __v_path)
132
197
  char * path; char * __orig_path;
133
198
  __orig_path = path = ( NIL_P(__v_path) ? NULL : StringValuePtr(__v_path) );
134
199
 
135
- #line 31 "/home/geoff/Projects/gtk-webkit-ruby/ext/webkit/webkit.cr"
200
+ #line 45 "/home/geoff/Projects/gtk-webkit-ruby/ext/webkit/webkit.cr"
136
201
  webkit_set_web_database_directory_path(path);
137
202
 
138
203
  return self;
@@ -142,7 +207,7 @@ static VALUE
142
207
  WebKit_CLASS_remove_all_web_databases(VALUE self)
143
208
  {
144
209
 
145
- #line 34 "/home/geoff/Projects/gtk-webkit-ruby/ext/webkit/webkit.cr"
210
+ #line 48 "/home/geoff/Projects/gtk-webkit-ruby/ext/webkit/webkit.cr"
146
211
  webkit_remove_all_web_databases();
147
212
 
148
213
  return Qnil;
@@ -154,7 +219,7 @@ WebKit_CLASS_set_default_web_database_quota(VALUE self, VALUE __v_quota)
154
219
  guint64 quota; guint64 __orig_quota;
155
220
  __orig_quota = quota = rb_num2ull(__v_quota);
156
221
 
157
- #line 37 "/home/geoff/Projects/gtk-webkit-ruby/ext/webkit/webkit.cr"
222
+ #line 51 "/home/geoff/Projects/gtk-webkit-ruby/ext/webkit/webkit.cr"
158
223
  webkit_set_default_web_database_quota(quota);
159
224
 
160
225
  return self;
@@ -164,12 +229,45 @@ static VALUE
164
229
  WebSettings_initialize(VALUE self)
165
230
  {
166
231
 
167
- #line 43 "/home/geoff/Projects/gtk-webkit-ruby/ext/webkit/webkit.cr"
232
+ #line 57 "/home/geoff/Projects/gtk-webkit-ruby/ext/webkit/webkit.cr"
168
233
  G_INITIALIZE(self, webkit_web_settings_new());
169
234
 
170
235
  return Qnil;
171
236
  }
172
237
 
238
+ static VALUE
239
+ WebPolicyDecision_download(VALUE self)
240
+ {
241
+ WebKitWebPolicyDecision *_self = ((WebKitWebPolicyDecision*)RVAL2GOBJ(self));
242
+
243
+ #line 64 "/home/geoff/Projects/gtk-webkit-ruby/ext/webkit/webkit.cr"
244
+ webkit_web_policy_decision_download(_self);
245
+
246
+ return Qnil;
247
+ }
248
+
249
+ static VALUE
250
+ WebPolicyDecision_use(VALUE self)
251
+ {
252
+ WebKitWebPolicyDecision *_self = ((WebKitWebPolicyDecision*)RVAL2GOBJ(self));
253
+
254
+ #line 67 "/home/geoff/Projects/gtk-webkit-ruby/ext/webkit/webkit.cr"
255
+ webkit_web_policy_decision_use(_self);
256
+
257
+ return Qnil;
258
+ }
259
+
260
+ static VALUE
261
+ WebPolicyDecision_ignore(VALUE self)
262
+ {
263
+ WebKitWebPolicyDecision *_self = ((WebKitWebPolicyDecision*)RVAL2GOBJ(self));
264
+
265
+ #line 70 "/home/geoff/Projects/gtk-webkit-ruby/ext/webkit/webkit.cr"
266
+ webkit_web_policy_decision_ignore(_self);
267
+
268
+ return Qnil;
269
+ }
270
+
173
271
  static VALUE
174
272
  WebFrame_exec_js(VALUE self, VALUE __v_js)
175
273
  {
@@ -178,18 +276,33 @@ WebFrame_exec_js(VALUE self, VALUE __v_js)
178
276
  WebKitWebFrame *_self = ((WebKitWebFrame*)RVAL2GOBJ(self));
179
277
  __orig_js = js = ( NIL_P(__v_js) ? NULL : StringValuePtr(__v_js) );
180
278
 
181
- #line 50 "/home/geoff/Projects/gtk-webkit-ruby/ext/webkit/webkit.cr"
279
+ #line 77 "/home/geoff/Projects/gtk-webkit-ruby/ext/webkit/webkit.cr"
182
280
  do { __p_retval = javascript_exec(webkit_web_frame_get_global_context(_self), js); goto out; } while(0);
183
281
  out:
184
282
  return __p_retval;
185
283
  }
186
284
 
285
+ static VALUE
286
+ WebFrame_add_ruby_class(VALUE self, VALUE __v_name, VALUE klass)
287
+ {
288
+ char * name; char * __orig_name;
289
+ WebKitWebFrame *_self = ((WebKitWebFrame*)RVAL2GOBJ(self));
290
+ __orig_name = name = ( NIL_P(__v_name) ? NULL : StringValuePtr(__v_name) );
291
+ if (! ((TYPE(klass) == T_CLASS) || (TYPE(klass) == T_MODULE)) )
292
+ rb_raise(rb_eArgError, "klass argument must be one of Class, Module");
293
+
294
+ #line 80 "/home/geoff/Projects/gtk-webkit-ruby/ext/webkit/webkit.cr"
295
+ javascript_add_class(webkit_web_frame_get_global_context(_self), name, klass);
296
+
297
+ return Qnil;
298
+ }
299
+
187
300
  static VALUE
188
301
  WebFrame_add_ruby_eval(VALUE self)
189
302
  {
190
303
  WebKitWebFrame *_self = ((WebKitWebFrame*)RVAL2GOBJ(self));
191
304
 
192
- #line 53 "/home/geoff/Projects/gtk-webkit-ruby/ext/webkit/webkit.cr"
305
+ #line 83 "/home/geoff/Projects/gtk-webkit-ruby/ext/webkit/webkit.cr"
193
306
  javascript_add_ruby_eval(webkit_web_frame_get_global_context(_self));
194
307
 
195
308
  return Qnil;
@@ -203,7 +316,7 @@ WebFrame_add_js_api(VALUE self, VALUE __v_name)
203
316
  __orig_name = name = ( NIL_P(__v_name) ? NULL : StringValuePtr(__v_name) );
204
317
  VALUE block = rb_block_proc();
205
318
 
206
- #line 56 "/home/geoff/Projects/gtk-webkit-ruby/ext/webkit/webkit.cr"
319
+ #line 86 "/home/geoff/Projects/gtk-webkit-ruby/ext/webkit/webkit.cr"
207
320
  javascript_add_ruby_fn(webkit_web_frame_get_global_context(_self), name, block);
208
321
 
209
322
  return Qnil;
@@ -222,7 +335,7 @@ WebFrame_load_string(VALUE self, VALUE __v_content, VALUE __v_mime_type, VALUE _
222
335
  __orig_encoding = encoding = ( NIL_P(__v_encoding) ? NULL : StringValuePtr(__v_encoding) );
223
336
  __orig_base_uri = base_uri = ( NIL_P(__v_base_uri) ? NULL : StringValuePtr(__v_base_uri) );
224
337
 
225
- #line 59 "/home/geoff/Projects/gtk-webkit-ruby/ext/webkit/webkit.cr"
338
+ #line 89 "/home/geoff/Projects/gtk-webkit-ruby/ext/webkit/webkit.cr"
226
339
  webkit_web_frame_load_string(_self, content, mime_type, encoding, base_uri);
227
340
 
228
341
  return Qnil;
@@ -232,7 +345,7 @@ static VALUE
232
345
  WebView_initialize(VALUE self)
233
346
  {
234
347
 
235
- #line 65 "/home/geoff/Projects/gtk-webkit-ruby/ext/webkit/webkit.cr"
348
+ #line 96 "/home/geoff/Projects/gtk-webkit-ruby/ext/webkit/webkit.cr"
236
349
  RBGTK_INITIALIZE(self, webkit_web_view_new());
237
350
 
238
351
  return Qnil;
@@ -245,7 +358,7 @@ WebView_open(VALUE self, VALUE __v_uri)
245
358
  WebKitWebView *_self = ((WebKitWebView*)RVAL2GOBJ(self));
246
359
  __orig_uri = uri = ( NIL_P(__v_uri) ? NULL : StringValuePtr(__v_uri) );
247
360
 
248
- #line 68 "/home/geoff/Projects/gtk-webkit-ruby/ext/webkit/webkit.cr"
361
+ #line 99 "/home/geoff/Projects/gtk-webkit-ruby/ext/webkit/webkit.cr"
249
362
  webkit_web_view_open(_self, uri);
250
363
 
251
364
  return Qnil;
@@ -258,7 +371,7 @@ WebView_execute_script(VALUE self, VALUE __v_script)
258
371
  WebKitWebView *_self = ((WebKitWebView*)RVAL2GOBJ(self));
259
372
  __orig_script = script = ( NIL_P(__v_script) ? NULL : StringValuePtr(__v_script) );
260
373
 
261
- #line 71 "/home/geoff/Projects/gtk-webkit-ruby/ext/webkit/webkit.cr"
374
+ #line 102 "/home/geoff/Projects/gtk-webkit-ruby/ext/webkit/webkit.cr"
262
375
  webkit_web_view_execute_script(_self, script);
263
376
 
264
377
  return Qnil;
@@ -271,7 +384,7 @@ WebView_set_settings(VALUE self, VALUE __v_settings)
271
384
  WebKitWebView *_self = ((WebKitWebView*)RVAL2GOBJ(self));
272
385
  __orig_settings = settings = RVAL2GOBJ(__v_settings);
273
386
 
274
- #line 74 "/home/geoff/Projects/gtk-webkit-ruby/ext/webkit/webkit.cr"
387
+ #line 105 "/home/geoff/Projects/gtk-webkit-ruby/ext/webkit/webkit.cr"
275
388
  webkit_web_view_set_settings(_self, settings);
276
389
 
277
390
  return self;
@@ -290,7 +403,7 @@ WebView_load_string(VALUE self, VALUE __v_content, VALUE __v_mime_type, VALUE __
290
403
  __orig_encoding = encoding = ( NIL_P(__v_encoding) ? NULL : StringValuePtr(__v_encoding) );
291
404
  __orig_base_uri = base_uri = ( NIL_P(__v_base_uri) ? NULL : StringValuePtr(__v_base_uri) );
292
405
 
293
- #line 77 "/home/geoff/Projects/gtk-webkit-ruby/ext/webkit/webkit.cr"
406
+ #line 108 "/home/geoff/Projects/gtk-webkit-ruby/ext/webkit/webkit.cr"
294
407
  webkit_web_view_load_string(_self, content, mime_type, encoding, base_uri);
295
408
 
296
409
  return Qnil;
@@ -303,7 +416,7 @@ WebView_load_uri(VALUE self, VALUE __v_uri)
303
416
  WebKitWebView *_self = ((WebKitWebView*)RVAL2GOBJ(self));
304
417
  __orig_uri = uri = ( NIL_P(__v_uri) ? NULL : StringValuePtr(__v_uri) );
305
418
 
306
- #line 80 "/home/geoff/Projects/gtk-webkit-ruby/ext/webkit/webkit.cr"
419
+ #line 111 "/home/geoff/Projects/gtk-webkit-ruby/ext/webkit/webkit.cr"
307
420
  webkit_web_view_load_uri(_self, uri);
308
421
 
309
422
  return Qnil;
@@ -315,7 +428,7 @@ WebView_main_frame(VALUE self)
315
428
  VALUE __p_retval = Qnil;
316
429
  WebKitWebView *_self = ((WebKitWebView*)RVAL2GOBJ(self));
317
430
 
318
- #line 83 "/home/geoff/Projects/gtk-webkit-ruby/ext/webkit/webkit.cr"
431
+ #line 114 "/home/geoff/Projects/gtk-webkit-ruby/ext/webkit/webkit.cr"
319
432
  do { __p_retval = GOBJ2RVAL(webkit_web_view_get_main_frame(_self)); goto out; } while(0);
320
433
  out:
321
434
  return __p_retval;
@@ -327,7 +440,7 @@ WebView_focused_frame(VALUE self)
327
440
  VALUE __p_retval = Qnil;
328
441
  WebKitWebView *_self = ((WebKitWebView*)RVAL2GOBJ(self));
329
442
 
330
- #line 86 "/home/geoff/Projects/gtk-webkit-ruby/ext/webkit/webkit.cr"
443
+ #line 117 "/home/geoff/Projects/gtk-webkit-ruby/ext/webkit/webkit.cr"
331
444
  do { __p_retval = GOBJ2RVAL(webkit_web_view_get_focused_frame(_self)); goto out; } while(0);
332
445
  out:
333
446
  return __p_retval;
@@ -339,7 +452,7 @@ WebView_progress(VALUE self)
339
452
  VALUE __p_retval = Qnil;
340
453
  WebKitWebView *_self = ((WebKitWebView*)RVAL2GOBJ(self));
341
454
 
342
- #line 89 "/home/geoff/Projects/gtk-webkit-ruby/ext/webkit/webkit.cr"
455
+ #line 120 "/home/geoff/Projects/gtk-webkit-ruby/ext/webkit/webkit.cr"
343
456
  do { __p_retval = rb_float_new(webkit_web_view_get_progress(_self)); goto out; } while(0);
344
457
  out:
345
458
  return __p_retval;
@@ -351,7 +464,7 @@ WebView_title(VALUE self)
351
464
  VALUE __p_retval = Qnil;
352
465
  WebKitWebView *_self = ((WebKitWebView*)RVAL2GOBJ(self));
353
466
 
354
- #line 92 "/home/geoff/Projects/gtk-webkit-ruby/ext/webkit/webkit.cr"
467
+ #line 123 "/home/geoff/Projects/gtk-webkit-ruby/ext/webkit/webkit.cr"
355
468
  do { __p_retval = rb_str_new2(webkit_web_view_get_title(_self)); goto out; } while(0);
356
469
  out:
357
470
  return __p_retval;
@@ -363,7 +476,7 @@ WebView_uri(VALUE self)
363
476
  VALUE __p_retval = Qnil;
364
477
  WebKitWebView *_self = ((WebKitWebView*)RVAL2GOBJ(self));
365
478
 
366
- #line 95 "/home/geoff/Projects/gtk-webkit-ruby/ext/webkit/webkit.cr"
479
+ #line 126 "/home/geoff/Projects/gtk-webkit-ruby/ext/webkit/webkit.cr"
367
480
  do { __p_retval = rb_str_new2(webkit_web_view_get_uri(_self)); goto out; } while(0);
368
481
  out:
369
482
  return __p_retval;
@@ -374,7 +487,7 @@ WebView_reload(VALUE self)
374
487
  {
375
488
  WebKitWebView *_self = ((WebKitWebView*)RVAL2GOBJ(self));
376
489
 
377
- #line 98 "/home/geoff/Projects/gtk-webkit-ruby/ext/webkit/webkit.cr"
490
+ #line 129 "/home/geoff/Projects/gtk-webkit-ruby/ext/webkit/webkit.cr"
378
491
  webkit_web_view_reload(_self);
379
492
 
380
493
  return Qnil;
@@ -385,7 +498,7 @@ WebView_reload_bypass_cache(VALUE self)
385
498
  {
386
499
  WebKitWebView *_self = ((WebKitWebView*)RVAL2GOBJ(self));
387
500
 
388
- #line 101 "/home/geoff/Projects/gtk-webkit-ruby/ext/webkit/webkit.cr"
501
+ #line 132 "/home/geoff/Projects/gtk-webkit-ruby/ext/webkit/webkit.cr"
389
502
  webkit_web_view_reload_bypass_cache(_self);
390
503
 
391
504
  return Qnil;
@@ -398,7 +511,7 @@ WebView_set_custom_encoding(VALUE self, VALUE __v_encoding)
398
511
  WebKitWebView *_self = ((WebKitWebView*)RVAL2GOBJ(self));
399
512
  __orig_encoding = encoding = ( NIL_P(__v_encoding) ? NULL : StringValuePtr(__v_encoding) );
400
513
 
401
- #line 104 "/home/geoff/Projects/gtk-webkit-ruby/ext/webkit/webkit.cr"
514
+ #line 135 "/home/geoff/Projects/gtk-webkit-ruby/ext/webkit/webkit.cr"
402
515
  webkit_web_view_set_custom_encoding(_self, encoding);
403
516
 
404
517
  return self;
@@ -409,19 +522,104 @@ WebView_stop_loading(VALUE self)
409
522
  {
410
523
  WebKitWebView *_self = ((WebKitWebView*)RVAL2GOBJ(self));
411
524
 
412
- #line 107 "/home/geoff/Projects/gtk-webkit-ruby/ext/webkit/webkit.cr"
525
+ #line 138 "/home/geoff/Projects/gtk-webkit-ruby/ext/webkit/webkit.cr"
413
526
  webkit_web_view_stop_loading(_self);
414
527
 
415
528
  return Qnil;
416
529
  }
417
530
 
531
+ static VALUE
532
+ WebView_has_selection_query(VALUE self)
533
+ {
534
+ VALUE __p_retval = Qnil;
535
+ WebKitWebView *_self = ((WebKitWebView*)RVAL2GOBJ(self));
536
+
537
+ #line 141 "/home/geoff/Projects/gtk-webkit-ruby/ext/webkit/webkit.cr"
538
+ do { __p_retval = ((webkit_web_view_has_selection(_self)) ? Qtrue : Qfalse); goto out; } while(0);
539
+ out:
540
+ return __p_retval;
541
+ }
542
+
543
+ static VALUE
544
+ WebView_inspector(VALUE self)
545
+ {
546
+ VALUE __p_retval = Qnil;
547
+ WebKitWebView *_self = ((WebKitWebView*)RVAL2GOBJ(self));
548
+
549
+ #line 144 "/home/geoff/Projects/gtk-webkit-ruby/ext/webkit/webkit.cr"
550
+ do { __p_retval = GOBJ2RVAL(webkit_web_view_get_inspector(_self)); goto out; } while(0);
551
+ out:
552
+ return __p_retval;
553
+ }
554
+
555
+ static VALUE
556
+ WebInspector_inspect_coordinates(VALUE self, VALUE __v_x, VALUE __v_y)
557
+ {
558
+ double x; double __orig_x;
559
+ double y; double __orig_y;
560
+ WebKitWebInspector *_self = ((WebKitWebInspector*)RVAL2GOBJ(self));
561
+ __orig_x = x = NUM2DBL(__v_x);
562
+ __orig_y = y = NUM2DBL(__v_y);
563
+
564
+ #line 151 "/home/geoff/Projects/gtk-webkit-ruby/ext/webkit/webkit.cr"
565
+ webkit_web_inspector_inspect_coordinates(_self, x, y);
566
+
567
+ return Qnil;
568
+ }
569
+
570
+ static VALUE
571
+ WebInspector_uri(VALUE self)
572
+ {
573
+ VALUE __p_retval = Qnil;
574
+ WebKitWebInspector *_self = ((WebKitWebInspector*)RVAL2GOBJ(self));
575
+
576
+ #line 154 "/home/geoff/Projects/gtk-webkit-ruby/ext/webkit/webkit.cr"
577
+ do { __p_retval = strOrNil(webkit_web_inspector_get_inspected_uri(_self)); goto out; } while(0);
578
+ out:
579
+ return __p_retval;
580
+ }
581
+
582
+ static VALUE
583
+ WebInspector_show(VALUE self)
584
+ {
585
+ WebKitWebInspector *_self = ((WebKitWebInspector*)RVAL2GOBJ(self));
586
+
587
+ #line 157 "/home/geoff/Projects/gtk-webkit-ruby/ext/webkit/webkit.cr"
588
+ webkit_web_inspector_show(_self);
589
+
590
+ return Qnil;
591
+ }
592
+
593
+ static VALUE
594
+ WebInspector_close(VALUE self)
595
+ {
596
+ WebKitWebInspector *_self = ((WebKitWebInspector*)RVAL2GOBJ(self));
597
+
598
+ #line 160 "/home/geoff/Projects/gtk-webkit-ruby/ext/webkit/webkit.cr"
599
+ webkit_web_inspector_close(_self);
600
+
601
+ return Qnil;
602
+ }
603
+
604
+ static VALUE
605
+ WebInspector_view(VALUE self)
606
+ {
607
+ VALUE __p_retval = Qnil;
608
+ WebKitWebInspector *_self = ((WebKitWebInspector*)RVAL2GOBJ(self));
609
+
610
+ #line 163 "/home/geoff/Projects/gtk-webkit-ruby/ext/webkit/webkit.cr"
611
+ do { __p_retval = GOBJ2RVAL(webkit_web_inspector_get_web_view(_self)); goto out; } while(0);
612
+ out:
613
+ return __p_retval;
614
+ }
615
+
418
616
  static VALUE
419
617
  WebResource_encoding(VALUE self)
420
618
  {
421
619
  VALUE __p_retval = Qnil;
422
620
  WebKitWebResource *_self = ((WebKitWebResource*)RVAL2GOBJ(self));
423
621
 
424
- #line 114 "/home/geoff/Projects/gtk-webkit-ruby/ext/webkit/webkit.cr"
622
+ #line 170 "/home/geoff/Projects/gtk-webkit-ruby/ext/webkit/webkit.cr"
425
623
  do { __p_retval = strOrNil(webkit_web_resource_get_encoding(_self)); goto out; } while(0);
426
624
  out:
427
625
  return __p_retval;
@@ -433,7 +631,7 @@ WebResource_frame_name(VALUE self)
433
631
  VALUE __p_retval = Qnil;
434
632
  WebKitWebResource *_self = ((WebKitWebResource*)RVAL2GOBJ(self));
435
633
 
436
- #line 117 "/home/geoff/Projects/gtk-webkit-ruby/ext/webkit/webkit.cr"
634
+ #line 173 "/home/geoff/Projects/gtk-webkit-ruby/ext/webkit/webkit.cr"
437
635
  do { __p_retval = strOrNil(webkit_web_resource_get_frame_name(_self)); goto out; } while(0);
438
636
  out:
439
637
  return __p_retval;
@@ -445,7 +643,7 @@ WebResource_mime_type(VALUE self)
445
643
  VALUE __p_retval = Qnil;
446
644
  WebKitWebResource *_self = ((WebKitWebResource*)RVAL2GOBJ(self));
447
645
 
448
- #line 120 "/home/geoff/Projects/gtk-webkit-ruby/ext/webkit/webkit.cr"
646
+ #line 176 "/home/geoff/Projects/gtk-webkit-ruby/ext/webkit/webkit.cr"
449
647
  do { __p_retval = strOrNil(webkit_web_resource_get_mime_type(_self)); goto out; } while(0);
450
648
  out:
451
649
  return __p_retval;
@@ -457,7 +655,7 @@ WebResource_uri(VALUE self)
457
655
  VALUE __p_retval = Qnil;
458
656
  WebKitWebResource *_self = ((WebKitWebResource*)RVAL2GOBJ(self));
459
657
 
460
- #line 123 "/home/geoff/Projects/gtk-webkit-ruby/ext/webkit/webkit.cr"
658
+ #line 179 "/home/geoff/Projects/gtk-webkit-ruby/ext/webkit/webkit.cr"
461
659
  do { __p_retval = strOrNil(webkit_web_resource_get_mime_type(_self)); goto out; } while(0);
462
660
  out:
463
661
  return __p_retval;
@@ -469,7 +667,7 @@ WebResource_data(VALUE self)
469
667
  VALUE __p_retval = Qnil;
470
668
  WebKitWebResource *_self = ((WebKitWebResource*)RVAL2GOBJ(self));
471
669
 
472
- #line 126 "/home/geoff/Projects/gtk-webkit-ruby/ext/webkit/webkit.cr"
670
+ #line 182 "/home/geoff/Projects/gtk-webkit-ruby/ext/webkit/webkit.cr"
473
671
 
474
672
  do {
475
673
  GString * data =
@@ -489,7 +687,7 @@ WebResource_data_equals(VALUE self, VALUE data)
489
687
  WebKitWebResource *_self = ((WebKitWebResource*)RVAL2GOBJ(self));
490
688
  Check_Type(data, T_STRING);
491
689
 
492
- #line 130 "/home/geoff/Projects/gtk-webkit-ruby/ext/webkit/webkit.cr"
690
+ #line 186 "/home/geoff/Projects/gtk-webkit-ruby/ext/webkit/webkit.cr"
493
691
 
494
692
  do {
495
693
  GString * odata =
@@ -512,7 +710,7 @@ WebNetworkRequest_uri(VALUE self)
512
710
  VALUE __p_retval = Qnil;
513
711
  WebKitNetworkRequest *_self = ((WebKitNetworkRequest*)RVAL2GOBJ(self));
514
712
 
515
- #line 142 "/home/geoff/Projects/gtk-webkit-ruby/ext/webkit/webkit.cr"
713
+ #line 198 "/home/geoff/Projects/gtk-webkit-ruby/ext/webkit/webkit.cr"
516
714
  do { __p_retval = rb_str_new2(webkit_network_request_get_uri(_self)); goto out; } while(0);
517
715
  out:
518
716
  return __p_retval;
@@ -525,19 +723,31 @@ WebNetworkRequest_uri_equals(VALUE self, VALUE __v_uri)
525
723
  WebKitNetworkRequest *_self = ((WebKitNetworkRequest*)RVAL2GOBJ(self));
526
724
  __orig_uri = uri = ( NIL_P(__v_uri) ? NULL : StringValuePtr(__v_uri) );
527
725
 
528
- #line 145 "/home/geoff/Projects/gtk-webkit-ruby/ext/webkit/webkit.cr"
726
+ #line 201 "/home/geoff/Projects/gtk-webkit-ruby/ext/webkit/webkit.cr"
529
727
  webkit_network_request_set_uri(_self, uri);
530
728
 
531
729
  return __v_uri;
532
730
  }
533
731
 
732
+ static VALUE
733
+ WebNetworkRequest_message(VALUE self)
734
+ {
735
+ VALUE __p_retval = Qnil;
736
+ WebKitNetworkRequest *_self = ((WebKitNetworkRequest*)RVAL2GOBJ(self));
737
+
738
+ #line 204 "/home/geoff/Projects/gtk-webkit-ruby/ext/webkit/webkit.cr"
739
+ do { __p_retval = GOBJ2RVAL(SOUP_MESSAGE(webkit_network_request_get_message(_self))); goto out; } while(0);
740
+ out:
741
+ return __p_retval;
742
+ }
743
+
534
744
  static VALUE
535
745
  WebNetworkResponse_uri(VALUE self)
536
746
  {
537
747
  VALUE __p_retval = Qnil;
538
748
  WebKitNetworkResponse *_self = ((WebKitNetworkResponse*)RVAL2GOBJ(self));
539
749
 
540
- #line 152 "/home/geoff/Projects/gtk-webkit-ruby/ext/webkit/webkit.cr"
750
+ #line 211 "/home/geoff/Projects/gtk-webkit-ruby/ext/webkit/webkit.cr"
541
751
  do { __p_retval = rb_str_new2(webkit_network_response_get_uri(_self)); goto out; } while(0);
542
752
  out:
543
753
  return __p_retval;
@@ -550,12 +760,118 @@ WebNetworkResponse_uri_equals(VALUE self, VALUE __v_uri)
550
760
  WebKitNetworkResponse *_self = ((WebKitNetworkResponse*)RVAL2GOBJ(self));
551
761
  __orig_uri = uri = ( NIL_P(__v_uri) ? NULL : StringValuePtr(__v_uri) );
552
762
 
553
- #line 155 "/home/geoff/Projects/gtk-webkit-ruby/ext/webkit/webkit.cr"
763
+ #line 214 "/home/geoff/Projects/gtk-webkit-ruby/ext/webkit/webkit.cr"
554
764
  webkit_network_response_set_uri(_self, uri);
555
765
 
556
766
  return __v_uri;
557
767
  }
558
768
 
769
+ static VALUE
770
+ WebNetworkResponse_message(VALUE self)
771
+ {
772
+ VALUE __p_retval = Qnil;
773
+ WebKitNetworkResponse *_self = ((WebKitNetworkResponse*)RVAL2GOBJ(self));
774
+
775
+ #line 217 "/home/geoff/Projects/gtk-webkit-ruby/ext/webkit/webkit.cr"
776
+ do { __p_retval = GOBJ2RVAL(SOUP_MESSAGE(webkit_network_response_get_message(_self))); goto out; } while(0);
777
+ out:
778
+ return __p_retval;
779
+ }
780
+
781
+ static VALUE
782
+ Download_initialize(VALUE self, VALUE __v_request)
783
+ {
784
+ WebKitNetworkRequest * request; WebKitNetworkRequest * __orig_request;
785
+ __orig_request = request = RVAL2GOBJ(__v_request);
786
+
787
+ #line 224 "/home/geoff/Projects/gtk-webkit-ruby/ext/webkit/webkit.cr"
788
+ RBGTK_INITIALIZE(self, webkit_download_new(request));
789
+
790
+ return Qnil;
791
+ }
792
+
793
+ static VALUE
794
+ Download_start(VALUE self)
795
+ {
796
+ WebKitDownload *_self = ((WebKitDownload*)RVAL2GOBJ(self));
797
+
798
+ #line 227 "/home/geoff/Projects/gtk-webkit-ruby/ext/webkit/webkit.cr"
799
+ webkit_download_start(_self);
800
+
801
+ return Qnil;
802
+ }
803
+
804
+ static VALUE
805
+ Download_cancel(VALUE self)
806
+ {
807
+ WebKitDownload *_self = ((WebKitDownload*)RVAL2GOBJ(self));
808
+
809
+ #line 230 "/home/geoff/Projects/gtk-webkit-ruby/ext/webkit/webkit.cr"
810
+ webkit_download_cancel(_self);
811
+
812
+ return Qnil;
813
+ }
814
+
815
+ static VALUE
816
+ Download_progress(VALUE self)
817
+ {
818
+ VALUE __p_retval = Qnil;
819
+ WebKitDownload *_self = ((WebKitDownload*)RVAL2GOBJ(self));
820
+
821
+ #line 233 "/home/geoff/Projects/gtk-webkit-ruby/ext/webkit/webkit.cr"
822
+ do { __p_retval = rb_float_new(webkit_download_get_progress(_self)); goto out; } while(0);
823
+ out:
824
+ return __p_retval;
825
+ }
826
+
827
+ static VALUE
828
+ Download_current_size(VALUE self)
829
+ {
830
+ VALUE __p_retval = Qnil;
831
+ WebKitDownload *_self = ((WebKitDownload*)RVAL2GOBJ(self));
832
+
833
+ #line 236 "/home/geoff/Projects/gtk-webkit-ruby/ext/webkit/webkit.cr"
834
+ do { __p_retval = rb_ull2inum(webkit_download_get_current_size(_self)); goto out; } while(0);
835
+ out:
836
+ return __p_retval;
837
+ }
838
+
839
+ static VALUE
840
+ Download_total_size(VALUE self)
841
+ {
842
+ VALUE __p_retval = Qnil;
843
+ WebKitDownload *_self = ((WebKitDownload*)RVAL2GOBJ(self));
844
+
845
+ #line 239 "/home/geoff/Projects/gtk-webkit-ruby/ext/webkit/webkit.cr"
846
+ do { __p_retval = rb_ull2inum(webkit_download_get_total_size(_self)); goto out; } while(0);
847
+ out:
848
+ return __p_retval;
849
+ }
850
+
851
+ static VALUE
852
+ Download_uri(VALUE self)
853
+ {
854
+ VALUE __p_retval = Qnil;
855
+ WebKitDownload *_self = ((WebKitDownload*)RVAL2GOBJ(self));
856
+
857
+ #line 242 "/home/geoff/Projects/gtk-webkit-ruby/ext/webkit/webkit.cr"
858
+ do { __p_retval = rb_str_new2(webkit_download_get_uri(_self)); goto out; } while(0);
859
+ out:
860
+ return __p_retval;
861
+ }
862
+
863
+ static VALUE
864
+ Download_suggested_filename(VALUE self)
865
+ {
866
+ VALUE __p_retval = Qnil;
867
+ WebKitDownload *_self = ((WebKitDownload*)RVAL2GOBJ(self));
868
+
869
+ #line 245 "/home/geoff/Projects/gtk-webkit-ruby/ext/webkit/webkit.cr"
870
+ do { __p_retval = rb_str_new2(webkit_download_get_suggested_filename(_self)); goto out; } while(0);
871
+ out:
872
+ return __p_retval;
873
+ }
874
+
559
875
  static void __gcpool_RubyFunc_add(VALUE val)
560
876
  {
561
877
  if (_gcpool_RubyFunc == Qnil)
@@ -577,7 +893,7 @@ static void __gcpool_RubyFunc_add(VALUE val)
577
893
  }
578
894
  rb_ary_delete(_gcpool_RubyFunc, val);
579
895
  // If nothing is referenced, don't keep an empty array in the pool...
580
- if (RARRAY(_gcpool_RubyFunc)->len == 0)
896
+ if (RARRAY_LEN(_gcpool_RubyFunc) == 0)
581
897
  _gcpool_RubyFunc = Qnil;
582
898
  }
583
899
 
@@ -589,11 +905,17 @@ Init_webkit(void)
589
905
  rb_define_singleton_method(mWebKit, "set_web_database_path", WebKit_CLASS_set_web_database_path, 1);
590
906
  rb_define_singleton_method(mWebKit, "remove_all_web_databases", WebKit_CLASS_remove_all_web_databases, 0);
591
907
  rb_define_singleton_method(mWebKit, "set_default_web_database_quota", WebKit_CLASS_set_default_web_database_quota, 1);
908
+ cJsPtr = rb_define_class_under(mWebKit, "JsPtr", rb_cObject);
592
909
  cJavascriptError = rb_define_class_under(mWebKit, "JavascriptError", rb_eStandardError);
593
910
  cWebSettings = G_DEF_CLASS(WEBKIT_TYPE_WEB_SETTINGS, "WebSettings", mWebKit);
594
911
  rb_define_method(cWebSettings, "initialize", WebSettings_initialize, 0);
912
+ cWebPolicyDecision = G_DEF_CLASS(WEBKIT_TYPE_WEB_POLICY_DECISION, "WebPolicyDecision", mWebKit);
913
+ rb_define_method(cWebPolicyDecision, "download", WebPolicyDecision_download, 0);
914
+ rb_define_method(cWebPolicyDecision, "use", WebPolicyDecision_use, 0);
915
+ rb_define_method(cWebPolicyDecision, "ignore", WebPolicyDecision_ignore, 0);
595
916
  cWebFrame = G_DEF_CLASS(WEBKIT_TYPE_WEB_FRAME, "WebFrame", mWebKit);
596
917
  rb_define_method(cWebFrame, "exec_js", WebFrame_exec_js, 1);
918
+ rb_define_method(cWebFrame, "add_ruby_class", WebFrame_add_ruby_class, 2);
597
919
  rb_define_method(cWebFrame, "add_ruby_eval", WebFrame_add_ruby_eval, 0);
598
920
  rb_define_method(cWebFrame, "add_js_api", WebFrame_add_js_api, 1);
599
921
  rb_define_method(cWebFrame, "load_string", WebFrame_load_string, 4);
@@ -613,6 +935,14 @@ Init_webkit(void)
613
935
  rb_define_method(cWebView, "reload_bypass_cache", WebView_reload_bypass_cache, 0);
614
936
  rb_define_method(cWebView, "set_custom_encoding", WebView_set_custom_encoding, 1);
615
937
  rb_define_method(cWebView, "stop_loading", WebView_stop_loading, 0);
938
+ rb_define_method(cWebView, "has_selection?", WebView_has_selection_query, 0);
939
+ rb_define_method(cWebView, "inspector", WebView_inspector, 0);
940
+ cWebInspector = G_DEF_CLASS(WEBKIT_TYPE_WEB_INSPECTOR, "WebInspector", mWebKit);
941
+ rb_define_method(cWebInspector, "inspect_coordinates", WebInspector_inspect_coordinates, 2);
942
+ rb_define_method(cWebInspector, "uri", WebInspector_uri, 0);
943
+ rb_define_method(cWebInspector, "show", WebInspector_show, 0);
944
+ rb_define_method(cWebInspector, "close", WebInspector_close, 0);
945
+ rb_define_method(cWebInspector, "view", WebInspector_view, 0);
616
946
  cWebResource = G_DEF_CLASS(WEBKIT_TYPE_WEB_RESOURCE, "WebResource", mWebKit);
617
947
  rb_define_method(cWebResource, "encoding", WebResource_encoding, 0);
618
948
  rb_define_method(cWebResource, "frame_name", WebResource_frame_name, 0);
@@ -623,8 +953,43 @@ Init_webkit(void)
623
953
  cWebNetworkRequest = G_DEF_CLASS(WEBKIT_TYPE_NETWORK_REQUEST, "WebNetworkRequest", mWebKit);
624
954
  rb_define_method(cWebNetworkRequest, "uri", WebNetworkRequest_uri, 0);
625
955
  rb_define_method(cWebNetworkRequest, "uri=", WebNetworkRequest_uri_equals, 1);
956
+ rb_define_method(cWebNetworkRequest, "message", WebNetworkRequest_message, 0);
626
957
  cWebNetworkResponse = G_DEF_CLASS(WEBKIT_TYPE_NETWORK_RESPONSE, "WebNetworkResponse", mWebKit);
627
958
  rb_define_method(cWebNetworkResponse, "uri", WebNetworkResponse_uri, 0);
628
959
  rb_define_method(cWebNetworkResponse, "uri=", WebNetworkResponse_uri_equals, 1);
960
+ rb_define_method(cWebNetworkResponse, "message", WebNetworkResponse_message, 0);
961
+ cDownload = G_DEF_CLASS(WEBKIT_TYPE_DOWNLOAD, "Download", mWebKit);
962
+ rb_define_method(cDownload, "initialize", Download_initialize, 1);
963
+ rb_define_method(cDownload, "start", Download_start, 0);
964
+ rb_define_method(cDownload, "cancel", Download_cancel, 0);
965
+ rb_define_method(cDownload, "progress", Download_progress, 0);
966
+ rb_define_method(cDownload, "current_size", Download_current_size, 0);
967
+ rb_define_method(cDownload, "total_size", Download_total_size, 0);
968
+ rb_define_method(cDownload, "uri", Download_uri, 0);
969
+ rb_define_method(cDownload, "suggested_filename", Download_suggested_filename, 0);
970
+ genumTargetInfo = G_DEF_CLASS(WEBKIT_TYPE_WEB_VIEW_TARGET_INFO, "TargetInfo", mWebKit);
971
+ G_DEF_CONSTANTS(mWebKit, WEBKIT_TYPE_WEB_VIEW_TARGET_INFO, "WEBKIT_");
972
+ genumDownloadStatus = G_DEF_CLASS(WEBKIT_TYPE_DOWNLOAD_STATUS, "DownloadStatus", mWebKit);
973
+ G_DEF_CONSTANTS(mWebKit, WEBKIT_TYPE_DOWNLOAD_STATUS, "WEBKIT_");
974
+ genumDownloadError = G_DEF_CLASS(WEBKIT_TYPE_DOWNLOAD_ERROR, "DownloadError", mWebKit);
975
+ G_DEF_CONSTANTS(mWebKit, WEBKIT_TYPE_DOWNLOAD_ERROR, "WEBKIT_");
976
+ genumNetworkError = G_DEF_CLASS(WEBKIT_TYPE_NETWORK_ERROR, "NetworkError", mWebKit);
977
+ G_DEF_CONSTANTS(mWebKit, WEBKIT_TYPE_NETWORK_ERROR, "WEBKIT_");
978
+ genumPolicyError = G_DEF_CLASS(WEBKIT_TYPE_POLICY_ERROR, "PolicyError", mWebKit);
979
+ G_DEF_CONSTANTS(mWebKit, WEBKIT_TYPE_POLICY_ERROR, "WEBKIT_");
980
+ genumPluginError = G_DEF_CLASS(WEBKIT_TYPE_PLUGIN_ERROR, "PluginError", mWebKit);
981
+ G_DEF_CONSTANTS(mWebKit, WEBKIT_TYPE_PLUGIN_ERROR, "WEBKIT_");
982
+ genumCacheModel = G_DEF_CLASS(WEBKIT_TYPE_CACHE_MODEL, "CacheModel", mWebKit);
983
+ G_DEF_CONSTANTS(mWebKit, WEBKIT_TYPE_CACHE_MODEL, "WEBKIT_");
984
+ genumLoadStatus = G_DEF_CLASS(WEBKIT_TYPE_LOAD_STATUS, "LoadStatus", mWebKit);
985
+ G_DEF_CONSTANTS(mWebKit, WEBKIT_TYPE_LOAD_STATUS, "WEBKIT_");
986
+ genumNavigationReason = G_DEF_CLASS(WEBKIT_TYPE_WEB_NAVIGATION_REASON, "NavigationReason", mWebKit);
987
+ G_DEF_CONSTANTS(mWebKit, WEBKIT_TYPE_WEB_NAVIGATION_REASON, "WEBKIT_");
988
+ genumHitTestResultContext = G_DEF_CLASS(WEBKIT_TYPE_HIT_TEST_RESULT_CONTEXT, "HitTestResultContext", mWebKit);
989
+ G_DEF_CONSTANTS(mWebKit, WEBKIT_TYPE_HIT_TEST_RESULT_CONTEXT, "WEBKIT_");
990
+ genumEditingBehavior = G_DEF_CLASS(WEBKIT_TYPE_EDITING_BEHAVIOR, "EditingBehavior", mWebKit);
991
+ G_DEF_CONSTANTS(mWebKit, WEBKIT_TYPE_EDITING_BEHAVIOR, "WEBKIT_");
992
+ genumNavigationResponse = G_DEF_CLASS(WEBKIT_TYPE_NAVIGATION_RESPONSE, "NavigationResponse", mWebKit);
993
+ G_DEF_CONSTANTS(mWebKit, WEBKIT_TYPE_NAVIGATION_RESPONSE, "WEBKIT_");
629
994
  rb_gc_register_address(&_gcpool_RubyFunc);
630
995
  }