gtk-webkit-ruby 0.0.3 → 0.0.4

Sign up to get free protection for your applications and to get access to all the features.
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
  }