Merge branch 'webkit2'

This commit is contained in:
Jesse van den Kieboom 2012-10-29 17:00:05 +01:00
commit f5791a9cef
14 changed files with 935 additions and 32200 deletions

View file

@ -154,11 +154,11 @@ AC_SUBST(LIBGITG_LIBS)
AC_SUBST(GITG_VALAFLAGS)
WEBKITGTK_REQUIRED_VERSION=1.8.0
WEBKITGTK_REQUIRED_VERSION=1.9.92
PKG_CHECK_MODULES(LIBGITG_GTK, [
gtk+-3.0 >= $GTK_REQUIRED_VERSION
webkitgtk-3.0 >= $WEBKITGTK_REQUIRED_VERSION
webkit2gtk-3.0 >= $WEBKITGTK_REQUIRED_VERSION
gee-1.0
json-glib-1.0
])
@ -244,7 +244,8 @@ GITG_PLUGIN_VALAFLAGS=" \
--pkg libpeas-1.0 \
--pkg gee-1.0 \
--pkg json-glib-1.0 \
--pkg webkitgtk-3.0 \
--pkg libsoup-2.4 \
--pkg webkit2gtk-3.0 \
--pkg config \
\$(GITG_VALAFLAGS) \
--vapidir \$(top_srcdir)/vapi \

View file

@ -26,7 +26,8 @@ AM_VALAFLAGS = \
--pkg libgitg-1.0 \
--pkg gtk+-3.0 \
--pkg gio-2.0 \
--pkg webkitgtk-3.0 \
--pkg libsoup-2.4 \
--pkg webkit2gtk-3.0 \
--pkg gee-1.0 \
--pkg json-glib-1.0 \
--pkg egglistbox \

View file

@ -18,11 +18,11 @@
*/
namespace GitgGtk
{
class DiffViewRequestDiff : DiffViewRequestHandler
class DiffViewRequestDiff : DiffViewRequest
{
public DiffViewRequestDiff(DiffView? view, Soup.URI uri)
public DiffViewRequestDiff(DiffView? view, WebKit.URISchemeRequest request, Soup.URI uri)
{
base(view, uri);
base(view, request, uri);
d_mimetype = "application/json";
}
@ -286,7 +286,7 @@ namespace GitgGtk
return new MemoryInputStream.from_data(data, stream.destroy_function);
}
public override InputStream? send(Cancellable? cancellable) throws GLib.Error
public override InputStream? run_async(Cancellable? cancellable) throws GLib.Error
{
if (d_view == null)
{

View file

@ -18,13 +18,13 @@
*/
namespace GitgGtk
{
class DiffViewRequestResource : DiffViewRequestHandler
class DiffViewRequestResource : DiffViewRequest
{
private File? d_resource;
public DiffViewRequestResource(DiffView? view, Soup.URI uri)
public DiffViewRequestResource(DiffView? view, WebKit.URISchemeRequest request, Soup.URI uri)
{
base(view, uri);
base(view, request, uri);
}
private File ensure_resource()
@ -54,7 +54,7 @@ namespace GitgGtk
return d_resource;
}
public override InputStream? send(Cancellable? cancellable) throws GLib.Error
public override InputStream? run_async(Cancellable? cancellable) throws GLib.Error
{
var f = ensure_resource();

View file

@ -18,106 +18,48 @@
*/
namespace GitgGtk
{
class DiffViewRequestHandler
public class DiffViewRequest
{
protected DiffView? d_view;
protected Soup.URI d_uri;
protected string? d_mimetype;
protected int64 d_size;
protected WebKit.URISchemeRequest d_request;
public DiffViewRequestHandler(DiffView? view, Soup.URI uri)
public DiffViewRequest(DiffView? view, WebKit.URISchemeRequest request, Soup.URI uri)
{
d_view = view;
d_request = request;
d_uri = uri;
d_size = -1;
d_mimetype = null;
}
public virtual InputStream? send(Cancellable? cancellable) throws GLib.Error
public DiffView? view
{
get { return d_view; }
}
protected virtual InputStream? run_async(Cancellable? cancellable) throws GLib.Error
{
return null;
}
public virtual InputStream? send_async(Cancellable? cancellable) throws GLib.Error
private async InputStream? run_impl(Cancellable? cancellable) throws GLib.Error
{
return send(cancellable);
}
public virtual int64 get_content_length()
{
return d_size;
}
public virtual string get_content_type()
{
return d_mimetype;
}
}
class DiffViewRequest : Soup.Request
{
private DiffViewRequestHandler? d_handler;
private string? d_contenttype;
static construct
{
schemes = new string[] {"gitg-internal"};
}
public override InputStream? send(Cancellable? cancellable) throws GLib.Error
{
return d_handler.send(cancellable);
}
private class SendResult : Object, AsyncResult
{
public InputStream? stream;
public Object source;
public SendResult(Object source, InputStream? stream)
{
this.source = source;
this.stream = stream;
}
public Object get_source_object()
{
return source;
}
public void *get_user_data()
{
return (void *)stream;
}
public bool is_tagged(void *source_tag)
{
// FIXME: is this right?
return false;
}
}
public override InputStream? send_finish(AsyncResult result) throws GLib.Error
{
var res = result as SendResult;
return res.stream;
}
private async InputStream? run_async(Cancellable? cancellable)
{
SourceFunc callback = run_async.callback;
SourceFunc callback = run_impl.callback;
InputStream? ret = null;
new Thread<void*>("gitg-gtk-diff-view", () => {
// Actually do it
try
{
ret = d_handler.send_async(cancellable);
ret = run_async(cancellable);
}
catch {}
// Schedule the callback in idle
Idle.add((owned)callback);
return null;
});
@ -128,90 +70,43 @@ namespace GitgGtk
return ret;
}
public override void send_async(Cancellable? cancellable,
AsyncReadyCallback callback) throws GLib.Error
public void run(Cancellable? cancellable)
{
// run the diff in a thread
run_async.begin(cancellable, (obj, res) => {
var r = new SendResult(obj, run_async.end(res));
run_impl.begin(cancellable, (obj, res) => {
InputStream? stream = null;
callback(this, r);
try
{
stream = run_impl.end(res);
}
catch {}
if (stream == null)
{
stream = new MemoryInputStream();
}
d_request.finish(stream,
get_content_length(),
get_content_type());
});
}
private Gee.HashMap<string, DiffView> diffmap
public virtual int64 get_content_length()
{
get
{
return session.get_data<Gee.HashMap<string, DiffView>>("GitgGtkDiffViewMap");
}
return d_size;
}
public override bool check_uri(Soup.URI uri)
public virtual string get_content_type()
{
var path = uri.get_path();
var parts = path.split("/", 3);
if (parts.length != 3)
if (d_mimetype != null)
{
return false;
return d_mimetype;
}
uri.set_scheme(parts[1]);
uri.set_path("/" + parts[2]);
d_handler = null;
DiffView? view = null;
var q = uri.get_query();
if (q != null)
else
{
var f = Soup.Form.decode(q);
var vid = f.lookup("viewid");
if (vid != null && diffmap.has_key(vid))
{
view = diffmap[vid];
}
return "application/octet-stream";
}
switch (parts[1])
{
case "resource":
d_handler = new DiffViewRequestResource(view, uri);
break;
case "diff":
d_handler = new DiffViewRequestDiff(view, uri);
break;
}
return d_handler != null;
}
public override int64 get_content_length()
{
if (d_handler != null)
{
return d_handler.get_content_length();
}
return 0;
}
public override unowned string? get_content_type()
{
if (d_handler != null)
{
d_contenttype = d_handler.get_content_type();
}
if (d_contenttype == null)
{
d_contenttype = "application/octet-stream";
}
return d_contenttype;
}
}
}

View file

@ -32,6 +32,7 @@ namespace GitgGtk
public File? custom_js { get; construct; }
public Ggit.DiffOptions? options { get; construct set; }
private Cancellable d_cancellable;
private bool d_loaded;
public Ggit.Diff? diff
@ -60,19 +61,67 @@ namespace GitgGtk
static construct
{
var r = new Soup.Requester();
r.add_feature(typeof(DiffViewRequest));
var session = WebKit.get_default_session();
session.add_feature(r);
s_diffmap = new Gee.HashMap<string, GitgGtk.DiffView>();
session.set_data("GitgGtkDiffViewMap", s_diffmap);
var context = WebKit.WebContext.get_default();
context.register_uri_scheme("gitg-diff", gitg_diff_request);
}
private void parse_font(string val, ref string family, ref int size)
private static DiffViewRequest? parse_request(WebKit.URISchemeRequest request)
{
var uri = new Soup.URI(request.get_uri());
var path = uri.get_path();
var parts = path.split("/", 3);
if (parts.length != 3)
{
return null;
}
uri.set_scheme(parts[1]);
uri.set_path("/" + parts[2]);
DiffView? view = null;
var q = uri.get_query();
if (q != null)
{
var f = Soup.Form.decode(q);
var vid = f.lookup("viewid");
if (vid != null && s_diffmap.has_key(vid))
{
view = s_diffmap[vid];
}
}
switch (parts[1])
{
case "resource":
return new DiffViewRequestResource(view, request, uri);
case "diff":
return new DiffViewRequestDiff(view, request, uri);
}
return null;
}
private static void gitg_diff_request(WebKit.URISchemeRequest request)
{
var req = parse_request(request);
if (req.view != null)
{
req.view.request(req);
}
else
{
req.run(null);
}
}
private void parse_font(string val, ref string family, ref uint size)
{
var fdesc = Pango.FontDescription.from_string(val);
@ -97,6 +146,11 @@ namespace GitgGtk
}
}
public void request(DiffViewRequest request)
{
request.run(d_cancellable);
}
private void update_font_settings()
{
var settings = get_settings();
@ -118,20 +172,22 @@ namespace GitgGtk
settings.default_monospace_font_size = fsize;
}
construct
protected override void constructed()
{
var settings = new WebKit.WebSettings();
base.constructed();
if (custom_css != null)
{
settings.user_stylesheet_uri = custom_css.get_uri();
}
var settings = new WebKit.Settings();
var dbg = Environment.get_variable("GITG_GTK_DIFF_VIEW_DEBUG") != "";
if (dbg)
{
settings.enable_developer_extras = true;
Timeout.add(500, () => {
get_inspector().show();
return false;
});
}
settings.javascript_can_access_clipboard = true;
@ -149,34 +205,21 @@ namespace GitgGtk
update_font_settings();
});
if (dbg)
{
var inspector = get_inspector();
inspector.inspect_web_view.connect((insp, view) => {
var wnd = new Gtk.Window();
wnd.set_default_size(400, 300);
var nvw = new WebKit.WebView();
nvw.show();
wnd.add(nvw);
wnd.show();
return wnd.get_child() as WebKit.WebView;
});
}
++s_diff_id;
s_diffmap[s_diff_id.to_string()] = this;
document_load_finished.connect((v, fr) => {
d_loaded = true;
update();
d_cancellable = new Cancellable();
load_changed.connect((v, ev) => {
if (ev == WebKit.LoadEvent.FINISHED)
{
d_loaded = true;
update();
}
});
// Load the diff base html
var uri = "gitg-internal:///resource/org/gnome/gitg/gtk/diff-view/base.html?viewid=" + s_diff_id.to_string();
var uri = "gitg-diff:///resource/org/gnome/gitg/gtk/diff-view/base.html?viewid=" + s_diff_id.to_string();
// Add custom js as a query parameter
if (custom_js != null)
@ -184,6 +227,12 @@ namespace GitgGtk
uri += "&js=" + Soup.URI.encode(custom_js.get_uri(), null);
}
// Add custom css as a query parameter
if (custom_css != null)
{
uri += "&css=" + Soup.URI.encode(custom_css.get_uri(), null);
}
d_loaded = false;
load_uri(uri);
@ -201,6 +250,10 @@ namespace GitgGtk
return;
}
// Cancel running operations
d_cancellable.cancel();
d_cancellable = new Cancellable();
if (d_commit != null)
{
d_diff = null;
@ -239,7 +292,12 @@ namespace GitgGtk
if (d_diff != null)
{
execute_script("update_diff();");
run_javascript.begin("update_diff();", d_cancellable, (obj, res) => {
try
{
run_javascript.end(res);
} catch {}
});
}
}
}

View file

@ -84,7 +84,7 @@ div#diff div.hunk table td {
vertical-align: top;
}
div#diff div.hunk table .gutter {
div#diff div.hunk div#diff div.hunk table td:nth-child(0), div#diff div.hunk div#diff div.hunk table td:nth-child(1) {
padding-right: 2px;
padding-left: 2px;
background-color: #eeeeec;

View file

@ -35,6 +35,8 @@
</div>
</div>
<div id="diff">
<div id="diff_header"></div>
<div id="diff_content"></div>
</div>
</body>
<html>

View file

@ -96,9 +96,21 @@ function run_template(name, context)
return templates[name].execute(context);
}
var escapeDiv = document.createElement('div');
var escapeElement = document.createTextNode('');
escapeDiv.appendChild(escapeElement);
function html_escape(str)
{
escapeElement.data = str;
return escapeDiv.innerHTML;
}
function diff_file(file)
{
var f = $('<div/>');
var f = '<div>';
tabrepl = '<span class="tab" style="width: ' + settings.tab_width + 'ex">\t</span>';
for (var i = 0; i < file.hunks.length; ++i)
{
@ -115,70 +127,67 @@ function diff_file(file)
var cold = h.range.old.start;
var cnew = h.range.new.start;
var tablecontent = '';
for (var j = 0; j < h.lines.length; ++j)
{
var l = h.lines[j];
var o = String.fromCharCode(l.type);
var oldtd = $('<td/>', {'class': 'gutter'});
var newtd = $('<td/>', {'class': 'gutter'});
var row = $('<tr/>');
var row = '<tr class="';
switch (o)
{
case ' ':
row.addClass('context');
oldtd.text(cold);
newtd.text(cnew);
row += 'context"><td>' + cold + '</td><td>' + cnew + '</td>';
cold++;
cnew++;
break;
case '+':
row.addClass('added');
row += 'added"><td></td><td>' + cnew + '</td>';
newtd.text(cnew);
cnew++;
break;
case '-':
row.addClass('removed');
row += 'removed"><td>' + cold + '</td><td></td>';
oldtd.text(cold);
cold++;
break;
default:
row += '">';
break;
}
var texttd = $('<td/>').text(l.content);
texttd.html(texttd.html().replace(/\t/g, '<span class="tab" style="width: ' + settings.tab_width + 'ex">\t</span>'));
row.append(oldtd).append(newtd).append(texttd);
table.append(row);
row += '<td>' + html_escape(l.content).replace(/\t/g, tabrepl) + '</td>';
tablecontent += row;
}
var h = ht[0].outerHTML;
var findstr = '</table>';
var idx = h.indexOf(findstr);
f.append(ht);
f += h.substring(0, idx) + tablecontent + h.substring(idx);
}
return f + '</div>';
}
function write_diff(res)
{
var f = '';
for (var i = 0; i < res.length; ++i)
{
f += diff_file(res[i]);
}
return f;
}
function write_diff(content, res)
function write_commit(commit)
{
for (var i = 0; i < res.length; ++i)
{
var df = diff_file(res[i]);
content.append(df);
}
}
function write_commit(content, commit)
{
var c = run_template('commit', commit);
content.append(c);
return run_template('commit', commit);
}
function update_diff()
@ -186,22 +195,22 @@ function update_diff()
var r = new XMLHttpRequest();
r.onload = function(e) {
j = JSON.parse(r.responseText);
var j = JSON.parse(r.responseText);
var content = $('#diff');
content.empty();
var html = '';
if ('commit' in j)
{
write_commit(content, j.commit);
$('#diff_header').html(write_commit(j.commit));
}
write_diff(content, j.diff);
var content = document.getElementById('diff_content');
content.innerHTML = write_diff(j.diff);
}
var t = (new Date()).getTime()
var t = (new Date()).getTime();
r.open("GET", "gitg-internal:/diff/?t=" + t + "&viewid=" + params.viewid);
r.open("GET", "gitg-diff:/diff/?t=" + t + "&viewid=" + params.viewid);
r.send();
}

View file

@ -25,20 +25,14 @@ namespace GitgDiff
private const string version = Gitg.Config.VERSION;
public GitgExt.Application? application { owned get; construct set; }
private Gtk.ScrolledWindow d_sw;
private GitgGtk.DiffView d_diff;
private GitgExt.ObjectSelection? d_view;
construct
{
d_diff = new GitgGtk.DiffView(null);
d_sw = new Gtk.ScrolledWindow(null, null);
d_sw.show();
d_diff.show();
d_sw.add(d_diff);
application.notify["current_view"].connect((a, v) => {
notify_property("available");
});
@ -108,7 +102,7 @@ namespace GitgDiff
on_selection_changed(objsel);
}
return d_sw;
return d_diff;
}
}

File diff suppressed because it is too large Load diff

732
vapi/webkit2gtk-3.0.vapi Normal file
View file

@ -0,0 +1,732 @@
/* webkit2gtk-3.0.vapi generated by vapigen, do not modify. */
[CCode (cprefix = "WebKit", gir_namespace = "WebKit2", gir_version = "3.0", lower_case_cprefix = "webkit_")]
namespace WebKit {
[CCode (cheader_filename = "webkit2/webkit2.h", type_id = "webkit_back_forward_list_get_type ()")]
public class BackForwardList : GLib.Object {
[CCode (has_construct_function = false)]
protected BackForwardList ();
public unowned WebKit.BackForwardListItem get_back_item ();
public GLib.List<weak WebKit.BackForwardListItem> get_back_list ();
public GLib.List<weak WebKit.BackForwardListItem> get_back_list_with_limit (uint limit);
public unowned WebKit.BackForwardListItem get_current_item ();
public unowned WebKit.BackForwardListItem get_forward_item ();
public GLib.List<weak WebKit.BackForwardListItem> get_forward_list ();
public GLib.List<weak WebKit.BackForwardListItem> get_forward_list_with_limit (uint limit);
public uint get_length ();
public unowned WebKit.BackForwardListItem get_nth_item (int index);
public signal void changed (WebKit.BackForwardListItem? item_added, void* items_removed);
}
[CCode (cheader_filename = "webkit2/webkit2.h", type_id = "webkit_back_forward_list_item_get_type ()")]
public class BackForwardListItem : GLib.InitiallyUnowned {
[CCode (has_construct_function = false)]
protected BackForwardListItem ();
public unowned string get_original_uri ();
public unowned string get_title ();
public unowned string get_uri ();
}
[CCode (cheader_filename = "webkit2/webkit2.h", type_id = "webkit_context_menu_get_type ()")]
public class ContextMenu : GLib.Object {
[CCode (has_construct_function = false)]
public ContextMenu ();
public void append (WebKit.ContextMenuItem item);
public unowned WebKit.ContextMenuItem first ();
public unowned WebKit.ContextMenuItem get_item_at_position (uint position);
public unowned GLib.List<WebKit.ContextMenuItem> get_items ();
public uint get_n_items ();
public void insert (WebKit.ContextMenuItem item, int position);
public unowned WebKit.ContextMenuItem last ();
public void move_item (WebKit.ContextMenuItem item, int position);
public void prepend (WebKit.ContextMenuItem item);
public void remove (WebKit.ContextMenuItem item);
public void remove_all ();
[CCode (has_construct_function = false)]
public ContextMenu.with_items (GLib.List<WebKit.ContextMenuItem> items);
}
[CCode (cheader_filename = "webkit2/webkit2.h", type_id = "webkit_context_menu_item_get_type ()")]
public class ContextMenuItem : GLib.InitiallyUnowned {
[CCode (has_construct_function = false)]
public ContextMenuItem (Gtk.Action action);
[CCode (has_construct_function = false)]
public ContextMenuItem.from_stock_action (WebKit.ContextMenuAction action);
[CCode (has_construct_function = false)]
public ContextMenuItem.from_stock_action_with_label (WebKit.ContextMenuAction action, string label);
public unowned Gtk.Action get_action ();
public WebKit.ContextMenuAction get_stock_action ();
public unowned WebKit.ContextMenu get_submenu ();
public bool is_separator ();
[CCode (has_construct_function = false)]
public ContextMenuItem.separator ();
public void set_submenu (WebKit.ContextMenu? submenu);
[CCode (has_construct_function = false)]
public ContextMenuItem.with_submenu (string label, WebKit.ContextMenu submenu);
}
[CCode (cheader_filename = "webkit2/webkit2.h", type_id = "webkit_cookie_manager_get_type ()")]
public class CookieManager : GLib.Object {
[CCode (has_construct_function = false)]
protected CookieManager ();
public void delete_all_cookies ();
public void delete_cookies_for_domain (string domain);
public async WebKit.CookieAcceptPolicy get_accept_policy (GLib.Cancellable? cancellable) throws GLib.Error;
[CCode (array_length = false, array_null_terminated = true)]
public async string[] get_domains_with_cookies (GLib.Cancellable? cancellable) throws GLib.Error;
public void set_accept_policy (WebKit.CookieAcceptPolicy policy);
public void set_persistent_storage (string filename, WebKit.CookiePersistentStorage storage);
public signal void changed ();
}
[CCode (cheader_filename = "webkit2/webkit2.h", type_id = "webkit_download_get_type ()")]
public class Download : GLib.Object {
[CCode (has_construct_function = false)]
protected Download ();
public void cancel ();
public unowned string get_destination ();
public double get_elapsed_time ();
public double get_estimated_progress ();
public uint64 get_received_data_length ();
public unowned WebKit.URIRequest get_request ();
public unowned WebKit.URIResponse get_response ();
public void set_destination (string uri);
public string destination { get; }
public double estimated_progress { get; }
public WebKit.URIResponse response { get; }
public signal bool created_destination (string destination);
public virtual signal bool decide_destination (string suggested_filename);
public signal void failed (void* error);
public signal void finished ();
public signal void received_data (uint64 data_length);
}
[CCode (cheader_filename = "webkit2/webkit2.h", type_id = "webkit_file_chooser_request_get_type ()")]
public class FileChooserRequest : GLib.Object {
[CCode (has_construct_function = false)]
protected FileChooserRequest ();
public void cancel ();
[CCode (array_length = false, array_null_terminated = true)]
public unowned string[] get_mime_types ();
public unowned Gtk.FileFilter get_mime_types_filter ();
public bool get_select_multiple ();
[CCode (array_length = false, array_null_terminated = true)]
public unowned string[] get_selected_files ();
public void select_files ([CCode (array_length = false, array_null_terminated = true)] string[] files);
[NoAccessorMethod]
public Gtk.FileFilter filter { owned get; }
[CCode (array_length = false, array_null_terminated = true)]
public string[] mime_types { get; }
public bool select_multiple { get; }
[CCode (array_length = false, array_null_terminated = true)]
public string[] selected_files { get; }
}
[CCode (cheader_filename = "webkit2/webkit2.h", type_id = "webkit_find_controller_get_type ()")]
public class FindController : GLib.Object {
[CCode (has_construct_function = false)]
protected FindController ();
public void count_matches (string search_text, uint32 find_options, uint max_match_count);
public uint get_max_match_count ();
public uint32 get_options ();
public unowned string get_search_text ();
public unowned WebKit.WebView get_web_view ();
public void search (string search_text, uint32 find_options, uint max_match_count);
public void search_finish ();
public void search_next ();
public void search_previous ();
public uint max_match_count { get; }
public WebKit.FindOptions options { get; }
[NoAccessorMethod]
public string text { owned get; }
public WebKit.WebView web_view { get; construct; }
public signal void counted_matches (uint match_count);
public signal void failed_to_find_text ();
public signal void found_text (uint match_count);
}
[CCode (cheader_filename = "webkit2/webkit2.h", type_id = "webkit_form_submission_request_get_type ()")]
public class FormSubmissionRequest : GLib.Object {
[CCode (has_construct_function = false)]
protected FormSubmissionRequest ();
public unowned GLib.HashTable<void*,void*> get_text_fields ();
public void submit ();
}
[CCode (cheader_filename = "webkit2/webkit2.h", type_id = "webkit_geolocation_permission_request_get_type ()")]
public class GeolocationPermissionRequest : GLib.Object, WebKit.PermissionRequest {
[CCode (has_construct_function = false)]
protected GeolocationPermissionRequest ();
}
[CCode (cheader_filename = "webkit2/webkit2.h", type_id = "webkit_hit_test_result_get_type ()")]
public class HitTestResult : GLib.Object {
[CCode (has_construct_function = false)]
protected HitTestResult ();
public bool context_is_editable ();
public bool context_is_image ();
public bool context_is_link ();
public bool context_is_media ();
public uint get_context ();
public unowned string get_image_uri ();
public unowned string get_link_label ();
public unowned string get_link_title ();
public unowned string get_link_uri ();
public unowned string get_media_uri ();
public uint context { get; construct; }
public string image_uri { get; construct; }
public string link_label { get; construct; }
public string link_title { get; construct; }
public string link_uri { get; construct; }
public string media_uri { get; construct; }
}
[CCode (cheader_filename = "webkit2/webkit2.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "webkit_javascript_result_get_type ()")]
[Compact]
public class JavascriptResult {
public WebKit.JavascriptResult @ref ();
public void unref ();
}
[CCode (cheader_filename = "webkit2/webkit2.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "webkit_mime_info_get_type ()")]
[Compact]
public class MimeInfo {
public unowned string get_description ();
[CCode (array_length = false, array_null_terminated = true)]
public unowned string[] get_extensions ();
public unowned string get_mime_type ();
public WebKit.MimeInfo @ref ();
public void unref ();
}
[CCode (cheader_filename = "webkit2/webkit2.h", type_id = "webkit_navigation_policy_decision_get_type ()")]
public class NavigationPolicyDecision : WebKit.PolicyDecision {
[CCode (has_construct_function = false)]
protected NavigationPolicyDecision ();
public unowned string get_frame_name ();
public uint get_modifiers ();
public uint get_mouse_button ();
public WebKit.NavigationType get_navigation_type ();
public unowned WebKit.URIRequest get_request ();
public string frame_name { get; }
public uint modifiers { get; }
public uint mouse_button { get; }
public WebKit.NavigationType navigation_type { get; }
public WebKit.URIRequest request { get; }
}
[CCode (cheader_filename = "webkit2/webkit2.h", type_id = "webkit_plugin_get_type ()")]
public class Plugin : GLib.Object {
[CCode (has_construct_function = false)]
protected Plugin ();
public unowned string get_description ();
public unowned GLib.List<WebKit.MimeInfo> get_mime_info_list ();
public unowned string get_name ();
public unowned string get_path ();
}
[CCode (cheader_filename = "webkit2/webkit2.h", type_id = "webkit_policy_decision_get_type ()")]
public abstract class PolicyDecision : GLib.Object {
[CCode (has_construct_function = false)]
protected PolicyDecision ();
public void download ();
public void ignore ();
public void use ();
}
[CCode (cheader_filename = "webkit2/webkit2.h", type_id = "webkit_print_operation_get_type ()")]
public class PrintOperation : GLib.Object {
[CCode (has_construct_function = false)]
public PrintOperation (WebKit.WebView web_view);
public unowned Gtk.PageSetup get_page_setup ();
public unowned Gtk.PrintSettings get_print_settings ();
public void print ();
public WebKit.PrintOperationResponse run_dialog (Gtk.Window? parent);
public void set_page_setup (Gtk.PageSetup page_setup);
public void set_print_settings (Gtk.PrintSettings print_settings);
public Gtk.PageSetup page_setup { get; set; }
public Gtk.PrintSettings print_settings { get; set; }
[NoAccessorMethod]
public WebKit.WebView web_view { owned get; construct; }
public signal void failed (void* error);
public signal void finished ();
}
[CCode (cheader_filename = "webkit2/webkit2.h", type_id = "webkit_response_policy_decision_get_type ()")]
public class ResponsePolicyDecision : WebKit.PolicyDecision {
[CCode (has_construct_function = false)]
protected ResponsePolicyDecision ();
public unowned WebKit.URIRequest get_request ();
public unowned WebKit.URIResponse get_response ();
public WebKit.URIRequest request { get; }
public WebKit.URIRequest response { get; }
}
[CCode (cheader_filename = "webkit2/webkit2.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "webkit_script_dialog_get_type ()")]
[Compact]
public class ScriptDialog {
public void confirm_set_confirmed (bool confirmed);
public WebKit.ScriptDialogType get_dialog_type ();
public unowned string get_message ();
public unowned string prompt_get_default_text ();
public void prompt_set_text (string text);
}
[CCode (cheader_filename = "webkit2/webkit2.h", type_id = "webkit_settings_get_type ()")]
public class Settings : GLib.Object {
[CCode (has_construct_function = false)]
public Settings ();
public bool get_allow_modal_dialogs ();
public bool get_auto_load_images ();
public unowned string get_cursive_font_family ();
public unowned string get_default_charset ();
public unowned string get_default_font_family ();
public uint32 get_default_font_size ();
public uint32 get_default_monospace_font_size ();
public bool get_draw_compositing_indicators ();
public bool get_enable_caret_browsing ();
public bool get_enable_developer_extras ();
public bool get_enable_dns_prefetching ();
public bool get_enable_frame_flattening ();
public bool get_enable_fullscreen ();
public bool get_enable_html5_database ();
public bool get_enable_html5_local_storage ();
public bool get_enable_hyperlink_auditing ();
public bool get_enable_java ();
public bool get_enable_javascript ();
public bool get_enable_offline_web_application_cache ();
public bool get_enable_page_cache ();
public bool get_enable_plugins ();
public bool get_enable_private_browsing ();
public bool get_enable_resizable_text_areas ();
public bool get_enable_site_specific_quirks ();
public bool get_enable_tabs_to_links ();
public bool get_enable_webaudio ();
public bool get_enable_webgl ();
public bool get_enable_xss_auditor ();
public unowned string get_fantasy_font_family ();
public bool get_javascript_can_access_clipboard ();
public bool get_javascript_can_open_windows_automatically ();
public bool get_load_icons_ignoring_image_load_setting ();
public bool get_media_playback_allows_inline ();
public bool get_media_playback_requires_user_gesture ();
public uint32 get_minimum_font_size ();
public unowned string get_monospace_font_family ();
public unowned string get_pictograph_font_family ();
public bool get_print_backgrounds ();
public unowned string get_sans_serif_font_family ();
public unowned string get_serif_font_family ();
public bool get_zoom_text_only ();
public void set_allow_modal_dialogs (bool allowed);
public void set_auto_load_images (bool enabled);
public void set_cursive_font_family (string cursive_font_family);
public void set_default_charset (string default_charset);
public void set_default_font_family (string default_font_family);
public void set_default_font_size (uint32 font_size);
public void set_default_monospace_font_size (uint32 font_size);
public void set_draw_compositing_indicators (bool enabled);
public void set_enable_caret_browsing (bool enabled);
public void set_enable_developer_extras (bool enabled);
public void set_enable_dns_prefetching (bool enabled);
public void set_enable_frame_flattening (bool enabled);
public void set_enable_fullscreen (bool enabled);
public void set_enable_html5_database (bool enabled);
public void set_enable_html5_local_storage (bool enabled);
public void set_enable_hyperlink_auditing (bool enabled);
public void set_enable_java (bool enabled);
public void set_enable_javascript (bool enabled);
public void set_enable_offline_web_application_cache (bool enabled);
public void set_enable_page_cache (bool enabled);
public void set_enable_plugins (bool enabled);
public void set_enable_private_browsing (bool enabled);
public void set_enable_resizable_text_areas (bool enabled);
public void set_enable_site_specific_quirks (bool enabled);
public void set_enable_tabs_to_links (bool enabled);
public void set_enable_webaudio (bool enabled);
public void set_enable_webgl (bool enabled);
public void set_enable_xss_auditor (bool enabled);
public void set_fantasy_font_family (string fantasy_font_family);
public void set_javascript_can_access_clipboard (bool enabled);
public void set_javascript_can_open_windows_automatically (bool enabled);
public void set_load_icons_ignoring_image_load_setting (bool enabled);
public void set_media_playback_allows_inline (bool enabled);
public void set_media_playback_requires_user_gesture (bool enabled);
public void set_minimum_font_size (uint32 font_size);
public void set_monospace_font_family (string monospace_font_family);
public void set_pictograph_font_family (string pictograph_font_family);
public void set_print_backgrounds (bool print_backgrounds);
public void set_sans_serif_font_family (string sans_serif_font_family);
public void set_serif_font_family (string serif_font_family);
public void set_zoom_text_only (bool zoom_text_only);
public bool allow_modal_dialogs { get; set construct; }
public bool auto_load_images { get; set construct; }
public string cursive_font_family { get; set construct; }
public string default_charset { get; set construct; }
public string default_font_family { get; set construct; }
public uint default_font_size { get; set construct; }
public uint default_monospace_font_size { get; set construct; }
public bool draw_compositing_indicators { get; set construct; }
public bool enable_caret_browsing { get; set construct; }
public bool enable_developer_extras { get; set construct; }
public bool enable_dns_prefetching { get; set construct; }
public bool enable_frame_flattening { get; set construct; }
public bool enable_fullscreen { get; set construct; }
public bool enable_html5_database { get; set construct; }
public bool enable_html5_local_storage { get; set construct; }
public bool enable_hyperlink_auditing { get; set construct; }
public bool enable_java { get; set construct; }
public bool enable_javascript { get; set construct; }
public bool enable_offline_web_application_cache { get; set construct; }
public bool enable_page_cache { get; set construct; }
public bool enable_plugins { get; set construct; }
public bool enable_private_browsing { get; set construct; }
public bool enable_resizable_text_areas { get; set construct; }
public bool enable_site_specific_quirks { get; set construct; }
public bool enable_tabs_to_links { get; set construct; }
public bool enable_webaudio { get; set construct; }
public bool enable_webgl { get; set construct; }
public bool enable_xss_auditor { get; set construct; }
public string fantasy_font_family { get; set construct; }
public bool javascript_can_access_clipboard { get; set construct; }
public bool javascript_can_open_windows_automatically { get; set construct; }
public bool load_icons_ignoring_image_load_setting { get; set construct; }
public bool media_playback_allows_inline { get; set construct; }
public bool media_playback_requires_user_gesture { get; set construct; }
public uint minimum_font_size { get; set construct; }
public string monospace_font_family { get; set construct; }
public string pictograph_font_family { get; set construct; }
public bool print_backgrounds { get; set construct; }
public string sans_serif_font_family { get; set construct; }
public string serif_font_family { get; set construct; }
public bool zoom_text_only { get; set construct; }
}
[CCode (cheader_filename = "webkit2/webkit2.h", type_id = "webkit_uri_request_get_type ()")]
public class URIRequest : GLib.Object {
[CCode (has_construct_function = false)]
public URIRequest (string uri);
public unowned string get_uri ();
public string uri { get; construct; }
}
[CCode (cheader_filename = "webkit2/webkit2.h", type_id = "webkit_uri_response_get_type ()")]
public class URIResponse : GLib.Object {
[CCode (has_construct_function = false)]
protected URIResponse ();
public uint64 get_content_length ();
public bool get_https_status (out unowned GLib.TlsCertificate certificate, out GLib.TlsCertificateFlags errors);
public unowned string get_mime_type ();
public uint get_status_code ();
public unowned string get_uri ();
public uint64 content_length { get; }
public string mime_type { get; }
public uint status_code { get; }
public string uri { get; }
}
[CCode (cheader_filename = "webkit2/webkit2.h", type_id = "webkit_uri_scheme_request_get_type ()")]
public class URISchemeRequest : GLib.Object {
[CCode (has_construct_function = false)]
protected URISchemeRequest ();
public void finish (GLib.InputStream stream, int64 stream_length, string? mime_type);
public unowned string get_path ();
public unowned string get_scheme ();
public unowned string get_uri ();
}
[CCode (cheader_filename = "webkit2/webkit2.h", type_id = "webkit_web_context_get_type ()")]
public class WebContext : GLib.Object {
[CCode (has_construct_function = false)]
protected WebContext ();
public void clear_cache ();
public WebKit.Download download_uri (string uri);
public WebKit.CacheModel get_cache_model ();
public unowned WebKit.CookieManager get_cookie_manager ();
public static unowned WebKit.WebContext get_default ();
public async GLib.List<WebKit.Plugin> get_plugins (GLib.Cancellable? cancellable) throws GLib.Error;
public bool get_spell_checking_enabled ();
public unowned string get_spell_checking_languages ();
public void register_uri_scheme (string scheme, owned WebKit.URISchemeRequestCallback callback);
public void set_additional_plugins_directory (string directory);
public void set_cache_model (WebKit.CacheModel cache_model);
public void set_spell_checking_enabled (bool enabled);
public void set_spell_checking_languages (string languages);
public signal void download_started (WebKit.Download download);
}
[CCode (cheader_filename = "webkit2/webkit2.h", type_id = "webkit_web_inspector_get_type ()")]
public class WebInspector : GLib.Object {
[CCode (has_construct_function = false)]
protected WebInspector ();
public void close ();
public uint get_attached_height ();
public unowned string get_inspected_uri ();
public unowned WebKit.WebViewBase get_web_view ();
public bool is_attached ();
public void show ();
public uint attached_height { get; }
public string inspected_uri { get; }
[HasEmitter]
public signal bool attach ();
public signal bool bring_to_front ();
public signal void closed ();
[HasEmitter]
public signal bool detach ();
public signal bool open_window ();
}
[CCode (cheader_filename = "webkit2/webkit2.h", type_id = "webkit_web_resource_get_type ()")]
public class WebResource : GLib.Object {
[CCode (has_construct_function = false)]
protected WebResource ();
public async uint8 get_data (GLib.Cancellable? cancellable, out size_t length) throws GLib.Error;
public unowned WebKit.URIResponse get_response ();
public unowned string get_uri ();
public WebKit.URIResponse response { get; }
public string uri { get; }
public signal void failed (void* error);
public signal void finished ();
public signal void received_data (uint64 data_length);
public signal void sent_request (WebKit.URIRequest request, WebKit.URIResponse redirected_response);
}
[CCode (cheader_filename = "webkit2/webkit2.h", type_id = "webkit_web_view_get_type ()")]
public class WebView : WebKit.WebViewBase, Atk.Implementor, Gtk.Buildable {
[CCode (has_construct_function = false, type = "GtkWidget*")]
public WebView ();
public async bool can_execute_editing_command (string command, GLib.Cancellable? cancellable) throws GLib.Error;
public bool can_go_back ();
public bool can_go_forward ();
public bool can_show_mime_type (string mime_type);
public void execute_editing_command (string command);
public unowned WebKit.BackForwardList get_back_forward_list ();
public unowned WebKit.WebContext get_context ();
public unowned string get_custom_charset ();
public double get_estimated_load_progress ();
public unowned WebKit.FindController get_find_controller ();
public unowned WebKit.WebInspector get_inspector ();
public unowned WebKit.WebResource get_main_resource ();
public unowned WebKit.Settings get_settings ();
public GLib.List<weak WebKit.WebResource> get_subresources ();
public unowned string get_title ();
public unowned string get_uri ();
public unowned WebKit.WindowProperties get_window_properties ();
public double get_zoom_level ();
public void go_back ();
public void go_forward ();
public void go_to_back_forward_list_item (WebKit.BackForwardListItem list_item);
public void load_html (string content, string? base_uri);
public void load_plain_text (string plain_text);
public void load_request (WebKit.URIRequest request);
public void load_uri (string uri);
public void reload ();
public void reload_bypass_cache ();
public void replace_content (string content, string content_uri, string? base_uri);
public async WebKit.JavascriptResult run_javascript (string script, GLib.Cancellable? cancellable) throws GLib.Error;
public void set_custom_charset (string? charset);
public void set_settings (WebKit.Settings settings);
public void set_zoom_level (double zoom_level);
public void stop_loading ();
[CCode (has_construct_function = false, type = "GtkWidget*")]
public WebView.with_context (WebKit.WebContext context);
public double estimated_load_progress { get; }
public string title { get; }
public string uri { get; }
[NoAccessorMethod]
public WebKit.WebContext web_context { owned get; construct; }
public double zoom_level { get; set; }
public virtual signal void close ();
public virtual signal bool context_menu (WebKit.ContextMenu context_menu, Gdk.Event event, WebKit.HitTestResult hit_test_result);
public virtual signal void context_menu_dismissed ();
public signal Gtk.Widget create ();
public virtual signal bool decide_policy (WebKit.PolicyDecision decision, WebKit.PolicyDecisionType type);
public virtual signal bool enter_fullscreen ();
public virtual signal bool leave_fullscreen ();
public virtual signal void load_changed (WebKit.LoadEvent load_event);
public virtual signal bool load_failed (WebKit.LoadEvent load_event, string failing_uri, void* error);
public virtual signal void mouse_target_changed (WebKit.HitTestResult hit_test_result, uint modifiers);
public virtual signal bool permission_request (WebKit.PermissionRequest permission_request);
public virtual signal bool print_requested (WebKit.PrintOperation print_operation);
public virtual signal void ready_to_show ();
public virtual signal void resource_load_started (WebKit.WebResource resource, WebKit.URIRequest request);
public virtual signal void run_as_modal ();
public virtual signal bool run_file_chooser (WebKit.FileChooserRequest request);
public virtual signal bool script_dialog (WebKit.ScriptDialog dialog);
public virtual signal void submit_form (WebKit.FormSubmissionRequest request);
}
[CCode (cheader_filename = "webkit2/webkit2.h", type_id = "webkit_web_view_base_get_type ()")]
public class WebViewBase : Gtk.Container, Atk.Implementor, Gtk.Buildable {
[CCode (has_construct_function = false)]
protected WebViewBase ();
}
[CCode (cheader_filename = "webkit2/webkit2.h", type_id = "webkit_window_properties_get_type ()")]
public class WindowProperties : GLib.Object {
[CCode (has_construct_function = false)]
protected WindowProperties ();
public bool get_fullscreen ();
public Gdk.Rectangle get_geometry ();
public bool get_locationbar_visible ();
public bool get_menubar_visible ();
public bool get_resizable ();
public bool get_scrollbars_visible ();
public bool get_statusbar_visible ();
public bool get_toolbar_visible ();
public bool fullscreen { get; construct; }
public Cairo.RectangleInt geometry { get; construct; }
public bool locationbar_visible { get; construct; }
public bool menubar_visible { get; construct; }
public bool resizable { get; construct; }
public bool scrollbars_visible { get; construct; }
public bool statusbar_visible { get; construct; }
public bool toolbar_visible { get; construct; }
}
[CCode (cheader_filename = "webkit2/webkit2.h", type_id = "webkit_permission_request_get_type ()")]
public interface PermissionRequest : GLib.Object {
public abstract void allow ();
public abstract void deny ();
}
[CCode (cheader_filename = "webkit2/webkit2.h", cprefix = "WEBKIT_CACHE_MODEL_")]
public enum CacheModel {
DOCUMENT_VIEWER,
WEB_BROWSER,
DOCUMENT_BROWSER
}
[CCode (cheader_filename = "webkit2/webkit2.h", cprefix = "WEBKIT_CONTEXT_MENU_ACTION_")]
public enum ContextMenuAction {
NO_ACTION,
OPEN_LINK,
OPEN_LINK_IN_NEW_WINDOW,
DOWNLOAD_LINK_TO_DISK,
COPY_LINK_TO_CLIPBOARD,
OPEN_IMAGE_IN_NEW_WINDOW,
DOWNLOAD_IMAGE_TO_DISK,
COPY_IMAGE_TO_CLIPBOARD,
COPY_IMAGE_URL_TO_CLIPBOARD,
OPEN_FRAME_IN_NEW_WINDOW,
GO_BACK,
GO_FORWARD,
STOP,
RELOAD,
COPY,
CUT,
PASTE,
DELETE,
SELECT_ALL,
INPUT_METHODS,
UNICODE,
SPELLING_GUESS,
NO_GUESSES_FOUND,
IGNORE_SPELLING,
LEARN_SPELLING,
IGNORE_GRAMMAR,
FONT_MENU,
BOLD,
ITALIC,
UNDERLINE,
OUTLINE,
INSPECT_ELEMENT,
OPEN_VIDEO_IN_NEW_WINDOW,
OPEN_AUDIO_IN_NEW_WINDOW,
COPY_VIDEO_LINK_TO_CLIPBOARD,
COPY_AUDIO_LINK_TO_CLIPBOARD,
TOGGLE_MEDIA_CONTROLS,
TOGGLE_MEDIA_LOOP,
ENTER_VIDEO_FULLSCREEN,
MEDIA_PLAY,
MEDIA_PAUSE,
MEDIA_MUTE,
CUSTOM
}
[CCode (cheader_filename = "webkit2/webkit2.h", cprefix = "WEBKIT_COOKIE_POLICY_ACCEPT_")]
public enum CookieAcceptPolicy {
ALWAYS,
NEVER,
NO_THIRD_PARTY
}
[CCode (cheader_filename = "webkit2/webkit2.h", cprefix = "WEBKIT_COOKIE_PERSISTENT_STORAGE_")]
public enum CookiePersistentStorage {
TEXT,
SQLITE
}
[CCode (cheader_filename = "webkit2/webkit2.h", cprefix = "WEBKIT_DOWNLOAD_ERROR_")]
public enum DownloadError {
NETWORK,
CANCELLED_BY_USER,
DESTINATION;
public static GLib.Quark quark ();
}
[CCode (cheader_filename = "webkit2/webkit2.h", cprefix = "WEBKIT_FIND_OPTIONS_")]
[Flags]
public enum FindOptions {
NONE,
CASE_INSENSITIVE,
AT_WORD_STARTS,
TREAT_MEDIAL_CAPITAL_AS_WORD_START,
BACKWARDS,
WRAP_AROUND
}
[CCode (cheader_filename = "webkit2/webkit2.h", cprefix = "WEBKIT_HIT_TEST_RESULT_CONTEXT_")]
[Flags]
public enum HitTestResultContext {
DOCUMENT,
LINK,
IMAGE,
MEDIA,
EDITABLE
}
[CCode (cheader_filename = "webkit2/webkit2.h", cprefix = "WEBKIT_JAVASCRIPT_ERROR_SCRIPT_")]
public enum JavascriptError {
FAILED;
public static GLib.Quark quark ();
}
[CCode (cheader_filename = "webkit2/webkit2.h", cprefix = "WEBKIT_LOAD_")]
public enum LoadEvent {
STARTED,
REDIRECTED,
COMMITTED,
FINISHED
}
[CCode (cheader_filename = "webkit2/webkit2.h", cprefix = "WEBKIT_NAVIGATION_TYPE_")]
public enum NavigationType {
LINK_CLICKED,
FORM_SUBMITTED,
BACK_FORWARD,
RELOAD,
FORM_RESUBMITTED,
OTHER
}
[CCode (cheader_filename = "webkit2/webkit2.h", cprefix = "WEBKIT_NETWORK_ERROR_")]
public enum NetworkError {
FAILED,
TRANSPORT,
UNKNOWN_PROTOCOL,
CANCELLED,
FILE_DOES_NOT_EXIST;
public static GLib.Quark quark ();
}
[CCode (cheader_filename = "webkit2/webkit2.h", cprefix = "WEBKIT_PLUGIN_ERROR_")]
public enum PluginError {
FAILED,
CANNOT_FIND_PLUGIN,
CANNOT_LOAD_PLUGIN,
JAVA_UNAVAILABLE,
CONNECTION_CANCELLED,
WILL_HANDLE_LOAD;
public static GLib.Quark quark ();
}
[CCode (cheader_filename = "webkit2/webkit2.h", cprefix = "WEBKIT_POLICY_DECISION_TYPE_")]
public enum PolicyDecisionType {
NAVIGATION_ACTION,
NEW_WINDOW_ACTION,
RESPONSE
}
[CCode (cheader_filename = "webkit2/webkit2.h", cprefix = "WEBKIT_POLICY_ERROR_")]
public enum PolicyError {
FAILED,
CANNOT_SHOW_MIME_TYPE,
CANNOT_SHOW_URI,
FRAME_LOAD_INTERRUPTED_BY_POLICY_CHANGE,
CANNOT_USE_RESTRICTED_PORT;
public static GLib.Quark quark ();
}
[CCode (cheader_filename = "webkit2/webkit2.h", cprefix = "WEBKIT_PRINT_ERROR_")]
public enum PrintError {
GENERAL,
PRINTER_NOT_FOUND,
INVALID_PAGE_RANGE;
public static GLib.Quark quark ();
}
[CCode (cheader_filename = "webkit2/webkit2.h", cprefix = "WEBKIT_PRINT_OPERATION_RESPONSE_")]
public enum PrintOperationResponse {
PRINT,
CANCEL
}
[CCode (cheader_filename = "webkit2/webkit2.h", cprefix = "WEBKIT_SCRIPT_DIALOG_")]
public enum ScriptDialogType {
ALERT,
CONFIRM,
PROMPT
}
[CCode (cheader_filename = "webkit2/webkit2.h", instance_pos = 1.9)]
public delegate void URISchemeRequestCallback (WebKit.URISchemeRequest request);
[CCode (cheader_filename = "webkit2/webkit2.h", cname = "WEBKIT_EDITING_COMMAND_COPY")]
public const string EDITING_COMMAND_COPY;
[CCode (cheader_filename = "webkit2/webkit2.h", cname = "WEBKIT_EDITING_COMMAND_CUT")]
public const string EDITING_COMMAND_CUT;
[CCode (cheader_filename = "webkit2/webkit2.h", cname = "WEBKIT_EDITING_COMMAND_PASTE")]
public const string EDITING_COMMAND_PASTE;
}

File diff suppressed because it is too large Load diff