You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
70 lines
1.9 KiB
70 lines
1.9 KiB
9 months ago
|
diff --git a/meson.build b/meson.build
|
||
|
index be1ccd4..116f145 100644
|
||
|
--- a/meson.build
|
||
|
+++ b/meson.build
|
||
|
@@ -21,7 +21,7 @@ gtk_x11_dep = dependency('gtk+-x11-3.0', required: get_option('X11'))
|
||
|
gtk_wayland_dep = dependency('gtk+-wayland-3.0', version: '>= 3.21.5', required: get_option('wayland'))
|
||
|
gtksourceview_dep = dependency('gtksourceview-4', version: '>=4.0.3')
|
||
|
harfbuzz_dep = dependency('harfbuzz', version: '>=0.9.9')
|
||
|
-webkit_dep = dependency('webkit2gtk-4.0')
|
||
|
+webkit_dep = dependency('webkit2gtk-4.0', required: false)
|
||
|
|
||
|
bindir = join_paths(get_option('prefix'), get_option('bindir'))
|
||
|
datadir = join_paths(get_option('prefix'), get_option('datadir'))
|
||
|
diff --git a/src/ui/main.js b/src/ui/main.js
|
||
|
index b0cb7de..2aa0b71 100644
|
||
|
--- a/src/ui/main.js
|
||
|
+++ b/src/ui/main.js
|
||
|
@@ -39,7 +39,6 @@ pkg.require({
|
||
|
Pango: '1.0',
|
||
|
Soup: '2.4',
|
||
|
Sushi: '1.0',
|
||
|
- WebKit2: '4.0',
|
||
|
});
|
||
|
|
||
|
const {Gio, GLib} = imports.gi;
|
||
|
diff --git a/src/viewers/html.js b/src/viewers/html.js
|
||
|
index 3de4455..28d34de 100644
|
||
|
--- a/src/viewers/html.js
|
||
|
+++ b/src/viewers/html.js
|
||
|
@@ -23,11 +23,22 @@
|
||
|
*
|
||
|
*/
|
||
|
|
||
|
-const {Gtk, GLib, GObject, Sushi, WebKit2} = imports.gi;
|
||
|
+const {Gtk, GLib, GObject, Sushi} = imports.gi;
|
||
|
+
|
||
|
+var WebKit2;
|
||
|
+try {
|
||
|
+ imports.gi.versions.WebKit2 = '4.0';
|
||
|
+ WebKit2 = imports.gi.WebKit2;
|
||
|
+} catch(e) {
|
||
|
+}
|
||
|
+
|
||
|
+function _isAvailable() {
|
||
|
+ return WebKit2 !== undefined;
|
||
|
+}
|
||
|
|
||
|
const Renderer = imports.ui.renderer;
|
||
|
|
||
|
-var Klass = GObject.registerClass({
|
||
|
+var Klass = _isAvailable() ? GObject.registerClass({
|
||
|
Implements: [Renderer.Renderer],
|
||
|
Properties: {
|
||
|
fullscreen: GObject.ParamSpec.boolean('fullscreen', '', '',
|
||
|
@@ -63,8 +74,10 @@ var Klass = GObject.registerClass({
|
||
|
get moveOnClick() {
|
||
|
return false;
|
||
|
}
|
||
|
-});
|
||
|
+}) : undefined;
|
||
|
|
||
|
-var mimeTypes = [
|
||
|
- 'text/html'
|
||
|
-];
|
||
|
+var mimeTypes = [];
|
||
|
+if (_isAvailable())
|
||
|
+ mimeTypes = [
|
||
|
+ 'text/html'
|
||
|
+ ];
|