Use midori_web_settings_add_style for adblock CSS
This commit is contained in:
parent
e4601778c2
commit
34e0c98cb7
1 changed files with 26 additions and 14 deletions
|
@ -51,9 +51,12 @@ static guint debug;
|
||||||
static gboolean
|
static gboolean
|
||||||
adblock_parse_file (gchar* path);
|
adblock_parse_file (gchar* path);
|
||||||
|
|
||||||
|
static void
|
||||||
|
adblock_reload_rules (MidoriExtension* extension,
|
||||||
|
gboolean custom_only);
|
||||||
|
|
||||||
static gchar*
|
static gchar*
|
||||||
adblock_build_js (const gchar* style,
|
adblock_build_js (const gchar* private)
|
||||||
const gchar* private)
|
|
||||||
{
|
{
|
||||||
return g_strdup_printf (
|
return g_strdup_printf (
|
||||||
"window.addEventListener ('DOMContentLoaded',"
|
"window.addEventListener ('DOMContentLoaded',"
|
||||||
|
@ -62,7 +65,7 @@ adblock_build_js (const gchar* style,
|
||||||
" return;"
|
" return;"
|
||||||
" var URL = location.href;"
|
" var URL = location.href;"
|
||||||
" var sites = new Array(); %s;"
|
" var sites = new Array(); %s;"
|
||||||
" var public = '%s';"
|
" var public = '';"
|
||||||
" for (var i in sites) {"
|
" for (var i in sites) {"
|
||||||
" if (URL.indexOf(i) != -1 && sites[i] ){"
|
" if (URL.indexOf(i) != -1 && sites[i] ){"
|
||||||
" public += ', .'+sites[i];"
|
" public += ', .'+sites[i];"
|
||||||
|
@ -76,8 +79,7 @@ adblock_build_js (const gchar* style,
|
||||||
" var head = document.getElementsByTagName('head')[0];"
|
" var head = document.getElementsByTagName('head')[0];"
|
||||||
" if (head) head.appendChild(mystyle);"
|
" if (head) head.appendChild(mystyle);"
|
||||||
"}, true);",
|
"}, true);",
|
||||||
private,
|
private);
|
||||||
style);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static GString*
|
static GString*
|
||||||
|
@ -108,17 +110,24 @@ adblock_init_db ()
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
adblock_download_notify_status_cb (WebKitDownload* download,
|
adblock_download_notify_status_cb (WebKitDownload* download,
|
||||||
GParamSpec* pspec,
|
GParamSpec* pspec,
|
||||||
gchar* path)
|
MidoriExtension* extension)
|
||||||
{
|
{
|
||||||
|
gchar* path;
|
||||||
|
|
||||||
if (webkit_download_get_status (download) != WEBKIT_DOWNLOAD_STATUS_FINISHED)
|
if (webkit_download_get_status (download) != WEBKIT_DOWNLOAD_STATUS_FINISHED)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
path = g_filename_from_uri (webkit_download_get_destination_uri (download), NULL, NULL);
|
||||||
adblock_parse_file (path);
|
adblock_parse_file (path);
|
||||||
katze_assign (blockscript, adblock_build_js (blockcss->str, blockcssprivate->str));
|
|
||||||
g_free (path);
|
g_free (path);
|
||||||
/* g_object_unref (download); */
|
|
||||||
|
MidoriApp* app = midori_extension_get_app (extension);
|
||||||
|
MidoriWebSettings* settings = katze_object_get_object (app, "settings");
|
||||||
|
midori_web_settings_add_style (settings, "adblock-blockcss", blockcss->str);
|
||||||
|
katze_assign (blockscript, adblock_build_js (blockcssprivate->str));
|
||||||
|
g_object_unref (settings);
|
||||||
}
|
}
|
||||||
|
|
||||||
static gchar*
|
static gchar*
|
||||||
|
@ -186,17 +195,20 @@ adblock_reload_rules (MidoriExtension* extension,
|
||||||
webkit_download_set_destination_uri (download, destination);
|
webkit_download_set_destination_uri (download, destination);
|
||||||
g_free (destination);
|
g_free (destination);
|
||||||
g_signal_connect (download, "notify::status",
|
g_signal_connect (download, "notify::status",
|
||||||
G_CALLBACK (adblock_download_notify_status_cb), path);
|
G_CALLBACK (adblock_download_notify_status_cb), extension);
|
||||||
webkit_download_start (download);
|
webkit_download_start (download);
|
||||||
}
|
}
|
||||||
else
|
g_free (path);
|
||||||
g_free (path);
|
|
||||||
i++;
|
i++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
g_strfreev (filters);
|
g_strfreev (filters);
|
||||||
|
|
||||||
katze_assign (blockscript, adblock_build_js (blockcss->str, blockcssprivate->str));
|
MidoriApp* app = midori_extension_get_app (extension);
|
||||||
|
MidoriWebSettings* settings = katze_object_get_object (app, "settings");
|
||||||
|
katze_assign (blockscript, adblock_build_js (blockcssprivate->str));
|
||||||
|
midori_web_settings_add_style (settings, "adblock-blockcss", blockcss->str);
|
||||||
|
g_object_unref (settings);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
|
Loading…
Reference in a new issue