Hello community,
here is the log from the commit of package eolie for openSUSE:Factory checked in at 2018-05-04 11:32:16
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/eolie (Old)
and /work/SRC/openSUSE:Factory/.eolie.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "eolie"
Fri May 4 11:32:16 2018 rev:3 rq:603933 version:0.9.32
Changes:
--------
--- /work/SRC/openSUSE:Factory/eolie/eolie.changes 2018-04-30 22:59:24.463434217 +0200
+++ /work/SRC/openSUSE:Factory/.eolie.new/eolie.changes 2018-05-04 11:32:29.545177791 +0200
@@ -1,0 +2,6 @@
+Thu May 3 06:45:13 UTC 2018 - antoine.belvire@opensuse.org
+
+- Update to version 0.9.32:
+ * Better favicon handler.
+
+-------------------------------------------------------------------
Old:
----
eolie-0.9.31.tar.xz
New:
----
eolie-0.9.32.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ eolie.spec ++++++
--- /var/tmp/diff_new_pack.agwjqy/_old 2018-05-04 11:32:30.165155041 +0200
+++ /var/tmp/diff_new_pack.agwjqy/_new 2018-05-04 11:32:30.169154894 +0200
@@ -20,7 +20,7 @@
%global __requires_exclude typelib\\(Unity\\)
Name: eolie
-Version: 0.9.31
+Version: 0.9.32
Release: 0
Summary: Web browser for GNOME
License: GPL-3.0-or-later
@@ -57,7 +57,7 @@
Group: Productivity/Networking/Web/Browsers
Requires: %{name} = %{version}
Requires: gnome-shell
-Supplements: packageand(%{name}:gnome-shell)
+Supplements: (%{name} and gnome-shell)
%description -n gnome-shell-search-provider-eolie
This package contains a search provider to enable GNOME Shell to get
++++++ _service ++++++
--- /var/tmp/diff_new_pack.agwjqy/_old 2018-05-04 11:32:30.213153279 +0200
+++ /var/tmp/diff_new_pack.agwjqy/_new 2018-05-04 11:32:30.213153279 +0200
@@ -1,6 +1,6 @@
<services>
<service mode="disabled" name="tar_scm">
- <param name="revision">0.9.31</param>
+ <param name="revision">0.9.32</param>
<param name="scm">git</param>
<param name="url">https://gitlab.gnome.org/gnumdk/eolie.git</param>
<param name="versionformat">@PARENT_TAG@</param>
++++++ eolie-0.9.31.tar.xz -> eolie-0.9.32.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/eolie-0.9.31/data/org.gnome.Eolie.appdata.xml.in new/eolie-0.9.32/data/org.gnome.Eolie.appdata.xml.in
--- old/eolie-0.9.31/data/org.gnome.Eolie.appdata.xml.in 2018-04-26 18:00:19.000000000 +0200
+++ new/eolie-0.9.32/data/org.gnome.Eolie.appdata.xml.in 2018-05-02 11:24:03.000000000 +0200
@@ -9,48 +9,10 @@
<p>Eolie is a new GNOME web browser.</p>
</description>
<releases>
- <release version="0.9.31" date="2018-04-26">
+ <release version="0.9.32" date="2018-05-02">
<description>
<ul>
- <li>Fix a crash when closing a website</li>
- </ul>
- </description>
- </release>
- <release version="0.9.30" date="2018-04-26">
- <description>
- <ul>
- <li>Fix WebView popover</li>
- <li>Fix somes crashes (webkit segfaults)</li>
- </ul>
- </description>
- </release>
- <release version="0.9.29" date="2018-04-18">
- <description>
- <ul>
- <li>Fix an issue with youtube</li>
- </ul>
- </description>
- </release>
- <release version="0.9.28" date="2018-04-12">
- <description>
- <ul>
- <li>Do not cache snapshots on error</li>
- <li>Faster adblock updater</li>
- </ul>
- </description>
- </release>
- <release version="0.9.27" date="2018-04-09">
- <description>
- <ul>
- <li>Fix a segfault</li>
- </ul>
- </description>
- </release>
- <release version="0.9.26" date="2018-04-09">
- <description>
- <ul>
- <li>Enhanced websites sort</li>
- <li>Allow keyboard shortcuts in URI popover</li>
+ <li>Better favicon handler</li>
</ul>
</description>
</release>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/eolie-0.9.31/eolie/container.py new/eolie-0.9.32/eolie/container.py
--- old/eolie-0.9.31/eolie/container.py 2018-04-26 18:00:19.000000000 +0200
+++ new/eolie-0.9.32/eolie/container.py 2018-05-02 11:24:03.000000000 +0200
@@ -119,7 +119,7 @@
self.add(paned)
# Show donation notification
if App().settings.get_value("show-donation"):
- GLib.timeout_add_seconds(randint(10, 1000),
+ GLib.timeout_add_seconds(randint(3600, 7200),
self.__show_donation)
def add_webview(self, uri, loading_type, ephemeral=False,
@@ -512,7 +512,7 @@
from eolie.app_notification import AppNotification
notification = AppNotification(
_("Please consider a donation to the project"),
- [_("Paypal"), _("Liberapay")],
+ [_("PayPal"), _("Liberapay")],
[lambda: Gtk.show_uri_on_window(
App().active_window,
"https://www.paypal.me/lollypopgnome",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/eolie-0.9.31/eolie/sites_manager_child.py new/eolie-0.9.32/eolie/sites_manager_child.py
--- old/eolie-0.9.31/eolie/sites_manager_child.py 2018-04-26 18:00:19.000000000 +0200
+++ new/eolie-0.9.32/eolie/sites_manager_child.py 2018-05-02 11:24:03.000000000 +0200
@@ -14,7 +14,6 @@
from eolie.label_indicator import LabelIndicator
from eolie.define import App, ArtSize
-from eolie.utils import resize_favicon
from eolie.logger import Logger
@@ -413,12 +412,8 @@
if len(self.__views) > 1 and\
webview.view != self.__window.container.current:
return
- # Try to get it from webview, because cached one may not
- # be identical
- if surface is None:
- surface = webview.get_favicon()
if surface is not None:
- self.__image.set_from_surface(resize_favicon(surface))
+ self.__image.set_from_surface(surface)
return
favicon_path = App().art.get_favicon_path(webview.uri)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/eolie-0.9.31/eolie/toolbar_title.py new/eolie-0.9.32/eolie/toolbar_title.py
--- old/eolie-0.9.31/eolie/toolbar_title.py 2018-04-26 18:00:19.000000000 +0200
+++ new/eolie-0.9.32/eolie/toolbar_title.py 2018-05-02 11:24:03.000000000 +0200
@@ -438,7 +438,7 @@
if self.__entry.get_icon_name(Gtk.EntryIconPosition.PRIMARY) ==\
"edit-copy-symbolic":
Gtk.Clipboard.get(Gdk.SELECTION_CLIPBOARD).set_text(
- self.__entry.get_text(),
+ self.__uri,
-1)
def _on_enter_notify(self, widget, event):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/eolie-0.9.31/eolie/webview.py new/eolie-0.9.32/eolie/webview.py
--- old/eolie-0.9.31/eolie/webview.py 2018-04-26 18:00:19.000000000 +0200
+++ new/eolie-0.9.32/eolie/webview.py 2018-05-02 11:24:03.000000000 +0200
@@ -161,7 +161,7 @@
Set delayed uri
@param uri as str
"""
- self._uri = uri
+ self.__uri = uri
self.emit("uri-changed", uri)
def update_spell_checking(self, uri):
@@ -262,14 +262,14 @@
self._window.container.popup_webview(webview, True)
GLib.idle_add(webview.load_uri, uri)
else:
- self._new_pages_opened += 1
+ self.__new_pages_opened += 1
webview = self._window.container.add_webview(
uri,
loading_type,
self.ephemeral,
None,
self.atime -
- self._new_pages_opened)
+ self.__new_pages_opened)
webview.set_parent(self)
self.add_child(webview)
@@ -393,7 +393,7 @@
"""
uri = self.get_uri()
if uri is None:
- uri = self._uri
+ uri = self.__uri
return uri
@property
@@ -453,14 +453,13 @@
self.__atime = 0
self.__children = []
self.__parent = None
- self._new_pages_opened = 0
+ self.__new_pages_opened = 0
# WebKitGTK doesn't provide an API to get selection, so try to guess
# it from clipboard FIXME Get it from extensions
self.__selection = ""
self._readable_content = ""
- self._uri = None
+ self.__uri = None
self._title = None
- self._current_event = WebKit2.LoadEvent.FINISHED
self.__related_view = related_view
self._shown = False
self.set_hexpand(True)
@@ -608,8 +607,9 @@
@param webview as WebView
@param event as WebKit2.LoadEvent
"""
- self._uri = webview.get_uri()
- self._current_event = event
+ self.__uri = webview.get_uri()
+ if event == WebKit2.LoadEvent.STARTED:
+ self.__new_pages_opened = 0
WebViewNavigation._on_load_changed(self, webview, event)
WebViewSignals._on_load_changed(self, webview, event)
WebViewArtwork._on_load_changed(self, webview, event)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/eolie-0.9.31/eolie/webview_artwork.py new/eolie-0.9.32/eolie/webview_artwork.py
--- old/eolie-0.9.31/eolie/webview_artwork.py 2018-04-26 18:00:19.000000000 +0200
+++ new/eolie-0.9.32/eolie/webview_artwork.py 2018-05-02 11:24:03.000000000 +0200
@@ -40,33 +40,27 @@
def set_favicon(self):
"""
- Set favicon based on WebKit2 favicon database
+ Set favicon based on current webview favicon
"""
if self.ephemeral or\
- self._error or\
- self._current_event not in [WebKit2.LoadEvent.COMMITTED,
- WebKit2.LoadEvent.FINISHED]:
+ self.error or\
+ self.current_event != WebKit2.LoadEvent.FINISHED:
return
- parsed = urlparse(self.uri)
- if parsed.scheme in ["http", "https"]:
- self.context.get_favicon_database().get_favicon(
- self.uri,
- None,
- self.__on_get_favicon,
- self.uri,
- self.__initial_uri,
- False)
+
+ self.__set_favicon_from_surface(
+ self.get_favicon(),
+ self.uri,
+ self.__initial_uri)
def set_current_favicon(self):
"""
Set favicon based on current webview favicon
- Use this when you know URI may not be in favicon database
+ Use this for JS update (do not update initial uri)
"""
self.__set_favicon_from_surface(
self.get_favicon(),
self.uri,
- None,
- True)
+ None)
#######################
# PROTECTED #
@@ -77,34 +71,18 @@
@param webview as WebView
@param event as WebKit2.LoadEvent
"""
- parsed = urlparse(self._uri)
+ parsed = urlparse(self.uri)
if event == WebKit2.LoadEvent.STARTED:
self.__cancellable.cancel()
self.__cancellable.reset()
if parsed.scheme in ["http", "https"]:
- self.__initial_uri = self._uri.rstrip('/')
+ self.__initial_uri = self.uri.rstrip('/')
else:
self.__initial_uri = None
- surface = App().art.get_favicon(self._uri,
- self.get_scale_factor())
- if surface is not None:
- self.emit("favicon-changed", surface)
- elif self.__current_netloc is None or\
- self.__current_netloc not in self._uri:
- self.emit("favicon-changed", None)
elif event == WebKit2.LoadEvent.FINISHED:
is_http = parsed.scheme in ["http", "https"]
GLib.timeout_add(1000, self.__set_snapshot, is_http)
- if is_http:
- favicon_database = self.context.get_favicon_database()
- GLib.timeout_add(2000,
- favicon_database.get_favicon,
- self._uri,
- None,
- self.__on_get_favicon,
- self._uri,
- self.__initial_uri,
- True)
+ self.set_favicon()
self.__current_netloc = parsed.netloc or None
#######################
@@ -124,14 +102,13 @@
save,
True)
- def __set_favicon_from_surface(self, surface, uri, initial_uri, builtin):
+ def __set_favicon_from_surface(self, surface, uri, initial_uri):
"""
Set favicon for surface
@param favicon_db as WebKit2.FaviconDatabase
@param result as Gio.AsyncResult
@param uri as str
@param initial_uri as str
- @param builtin as bool
"""
resized = None
# Save webview favicon
@@ -144,27 +121,25 @@
self.__save_favicon_timeout_id = None
self.__favicon_width[uri] = favicon_width
resized = resize_favicon(surface)
- # We wait for a better favicon
- self.__save_favicon_timeout_id = GLib.timeout_add(
- 2000,
- self.__save_favicon_to_cache,
- resized,
- uri,
- initial_uri,
- "favicon")
- elif builtin:
+ favicon_type = "favicon"
+ else:
netloc = remove_www(urlparse(uri).netloc)
if netloc:
resized = App().art.get_favicon(uri,
self.get_scale_factor())
if resized is None:
resized = get_char_surface(netloc[0])
- self.__save_favicon_to_cache(resized,
- uri,
- initial_uri,
- "favicon_alt")
+ favicon_type = "favicon_alt"
+
+ # We wait for a better favicon
if resized is not None and uri == self.uri:
- self.emit("favicon-changed", resized)
+ self.__save_favicon_timeout_id = GLib.timeout_add(
+ 500,
+ self.__save_favicon_to_cache,
+ resized,
+ uri,
+ initial_uri,
+ favicon_type)
def __save_favicon_to_cache(self, surface, uri, initial_uri, favicon_type):
"""
@@ -175,6 +150,7 @@
@param favicon_type as str
"""
self.__save_favicon_timeout_id = None
+ self.emit("favicon-changed", surface)
# Save favicon for URI
if not App().art.exists(uri, favicon_type):
self.__helper.run(App().art.save_artwork,
@@ -200,21 +176,6 @@
if not webview.is_loading() and not webview.ephemeral:
GLib.timeout_add(1000, self.__set_snapshot, True)
- def __on_get_favicon(self, favicon_db, result, uri, initial_uri, builtin):
- """
- Read favicon and set it
- @param favicon_db as WebKit2.FaviconDatabase
- @param result as Gio.AsyncResult
- @param uri as str
- @param initial_uri as str
- @param builtin as bool
- """
- try:
- surface = favicon_db.get_favicon_finish(result)
- except:
- surface = None
- self.__set_favicon_from_surface(surface, uri, initial_uri, builtin)
-
def __on_snapshot(self, surface, save, first_pass):
"""
Cache snapshot
@@ -237,7 +198,7 @@
False)
return
self.emit("snapshot-changed", surface)
- if not save or self._error:
+ if not save or self.error:
return
uri = self.uri
# We also cache initial URI
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/eolie-0.9.31/eolie/webview_errors.py new/eolie-0.9.32/eolie/webview_errors.py
--- old/eolie-0.9.31/eolie/webview_errors.py 2018-04-26 18:00:19.000000000 +0200
+++ new/eolie-0.9.32/eolie/webview_errors.py 2018-05-02 11:24:03.000000000 +0200
@@ -27,7 +27,7 @@
Init errors
"""
self.__bad_tls = None # Keep invalid TLS certificate
- self._error = False
+ self.__error = False
self.connect("load-failed", self.__on_load_failed)
self.connect("load-failed-with-tls-errors", self.__on_load_failed_tls)
self.connect("web-process-crashed", self.__on_web_process_crashed)
@@ -38,10 +38,25 @@
"""
self.__bad_tls = None
+ def discard_error(self):
+ """
+ Discard current error status
+ """
+ self.__error = False
+
+ @property
+ def error(self):
+ """
+ Is webview in error
+ @return bool
+ """
+ return self.__error
+
@property
def bad_tls(self):
"""
Get invalid certificate
+ @return Gio.TlsCertificate
"""
return self.__bad_tls
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/eolie-0.9.31/eolie/webview_navigation.py new/eolie-0.9.32/eolie/webview_navigation.py
--- old/eolie-0.9.31/eolie/webview_navigation.py 2018-04-26 18:00:19.000000000 +0200
+++ new/eolie-0.9.32/eolie/webview_navigation.py 2018-05-02 11:24:03.000000000 +0200
@@ -59,7 +59,7 @@
if App().phishing.is_phishing(uri):
self._show_phishing_error(uri)
return
- self._error = False
+ self.discard_error()
# If not an URI, start a search
parsed = urlparse(uri)
is_uri = parsed.scheme in ["about", "http",
@@ -151,9 +151,9 @@
@param webview as WebView
@param event as WebKit2.LoadEvent
"""
- parsed = urlparse(self._uri)
+ parsed = urlparse(self.uri)
if event == WebKit2.LoadEvent.STARTED:
- self.emit("uri-changed", self._uri)
+ self.emit("uri-changed", self.uri)
elif event == WebKit2.LoadEvent.REDIRECTED:
# Block ads
if App().settings.get_value("adblock") and\
@@ -161,15 +161,15 @@
parsed.scheme in ["http", "https"] and\
not App().adblock_exceptions.find_parsed(parsed):
if App().adblock.is_netloc_blocked(parsed.netloc) or\
- App().adblock.is_uri_blocked(self._uri,
+ App().adblock.is_uri_blocked(self.uri,
parsed.netloc):
Logger.debug("WebView::__wait_for_uri(): blocking %s",
- self._uri)
+ self.uri)
webview.stop_loading()
self._window.container.close_view(self.view)
return
elif event == WebKit2.LoadEvent.COMMITTED:
- self.emit("uri-changed", self._uri)
+ self.emit("uri-changed", self.uri)
http_scheme = parsed.scheme in ["http", "https"]
self.update_zoom_level()
# Setup eolie internal adblocker
@@ -189,7 +189,7 @@
self.run_javascript(js, None, None)
break
elif event == WebKit2.LoadEvent.FINISHED:
- self.update_spell_checking(self._uri)
+ self.update_spell_checking(self.uri)
self.run_javascript_from_gresource(
"/org/gnome/Eolie/Extensions.js", None, None)
if App().show_tls:
@@ -285,7 +285,7 @@
if not self.is_loading():
uri = webview.get_property(param.name)
# JS bookmark (Bookmarklet)
- if not uri.startswith("javascript:"):
+ if not uri.startswith("javascript:") and not self.error:
self.emit("uri-changed", uri)
self.set_current_favicon()
@@ -323,6 +323,7 @@
parsed = urlparse(uri)
if mime_type in self.__MIMES:
decision.use()
+ return False
elif parsed.scheme == "file":
f = Gio.File.new_for_uri(uri)
info = f.query_info("standard::type",
@@ -337,13 +338,16 @@
Logger.error("""WebViewNavigation::
__on_decide_policy(): %s""", e)
decision.ignore()
+ return True
else:
decision.use()
+ return False
elif self.can_show_mime_type(mime_type):
decision.use()
+ return False
else:
decision.download()
- return False
+ return True
navigation_action = decision.get_navigation_action()
navigation_uri = navigation_action.get_request().get_uri()
@@ -374,7 +378,7 @@
decision.ignore()
return True
else:
- self._error = False
+ self.discard_error()
decision.use()
return False
elif mouse_button == 1:
@@ -400,7 +404,7 @@
return True
else:
self.update_settings_for_uri(navigation_uri)
- self._error = False
+ self.discard_error()
decision.use()
return False
else:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/eolie-0.9.31/eolie/webview_signals.py new/eolie-0.9.32/eolie/webview_signals.py
--- old/eolie-0.9.31/eolie/webview_signals.py 2018-04-26 18:00:19.000000000 +0200
+++ new/eolie-0.9.32/eolie/webview_signals.py 2018-05-02 11:24:03.000000000 +0200
@@ -198,7 +198,7 @@
@param title as str
"""
parsed = urlparse(webview.uri)
- if self._error or\
+ if self.error or\
webview.ephemeral or\
parsed.scheme not in ["http", "https"]:
return
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/eolie-0.9.31/eolie/webview_signals_load.py new/eolie-0.9.32/eolie/webview_signals_load.py
--- old/eolie-0.9.31/eolie/webview_signals_load.py 2018-04-26 18:00:19.000000000 +0200
+++ new/eolie-0.9.32/eolie/webview_signals_load.py 2018-05-02 11:24:03.000000000 +0200
@@ -103,7 +103,6 @@
# so before a view is associated
if self.view is not None and not self.view.popover:
if event == WebKit2.LoadEvent.STARTED:
- self._new_pages_opened = 0
# Destroy current popups
for popup in self.__popups:
popup.destroy()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/eolie-0.9.31/meson.build new/eolie-0.9.32/meson.build
--- old/eolie-0.9.31/meson.build 2018-04-26 18:00:19.000000000 +0200
+++ new/eolie-0.9.32/meson.build 2018-05-02 11:24:03.000000000 +0200
@@ -1,5 +1,5 @@
project('eolie', 'c',
- version: '0.9.31',
+ version: '0.9.32',
meson_version: '>= 0.40.0',
)
i18n = import('i18n')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/eolie-0.9.31/subprojects/po/ar.po new/eolie-0.9.32/subprojects/po/ar.po
--- old/eolie-0.9.31/subprojects/po/ar.po 2018-04-26 18:00:19.000000000 +0200
+++ new/eolie-0.9.32/subprojects/po/ar.po 2018-05-02 11:24:03.000000000 +0200
@@ -7,7 +7,7 @@
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2018-04-25 21:54+0200\n"
+"POT-Creation-Date: 2018-04-27 07:10+0200\n"
"PO-Revision-Date: 2018-03-29 07:34+0000\n"
"Last-Translator: mohammadA