[epiphany/gnome-3-38] overview: Ensure there are always 9 items on overview
- From: Michael Catanzaro <mcatanzaro src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [epiphany/gnome-3-38] overview: Ensure there are always 9 items on overview
- Date: Fri, 25 Sep 2020 19:54:53 +0000 (UTC)
commit e44af3037b16ca6f8ada735264ddce4d77b8422c
Author: Jan-Michael Brummer <jan brummer tabos org>
Date: Fri Sep 4 17:27:35 2020 +0000
overview: Ensure there are always 9 items on overview
Fixes: https://gitlab.gnome.org/GNOME/epiphany/-/issues/1326
(cherry picked from commit 19bef4c258218ab085599934db94808b6b65ca05)
embed/ephy-about-handler.c | 8 ------
.../web-process-extension/resources/js/overview.js | 30 ++++++++++++++++++++++
2 files changed, 30 insertions(+), 8 deletions(-)
---
diff --git a/embed/ephy-about-handler.c b/embed/ephy-about-handler.c
index 029aa64c6..49dcd33b2 100644
--- a/embed/ephy-about-handler.c
+++ b/embed/ephy-about-handler.c
@@ -426,14 +426,6 @@ history_service_query_urls_cb (EphyHistoryService *history,
thumbnail_style ? thumbnail_style : "", url->title);
}
- for (guint idx = list_length; idx < 9; idx++) {
- g_string_append_printf (data_str,
- "<i class=\"overview-item\">"
- " <span class=\"overview-thumbnail\"></span>"
- " <span class=\"overview-title\"></span>"
- "</i>");
- }
-
data_str = g_string_append (data_str,
" </div>\n"
" </div>\n"
diff --git a/embed/web-process-extension/resources/js/overview.js
b/embed/web-process-extension/resources/js/overview.js
index ad9e9c8fc..e898bd700 100644
--- a/embed/web-process-extension/resources/js/overview.js
+++ b/embed/web-process-extension/resources/js/overview.js
@@ -62,6 +62,7 @@ Ephy.Overview = class Overview
for (let titleChange of this._pendingTitleChanges)
this._onTitleChanged(titleChange.url, titleChange.title);
this._pendingTitleChanges = [];
+ this._addPlaceholders();
}
_onKeyPress(event)
@@ -76,6 +77,33 @@ Ephy.Overview = class Overview
}
}
+ _addPlaceholders() {
+ let parentNode = document.getElementById('most-visited-grid');
+ let anchors = document.getElementsByTagName('a');
+
+ for (let i = anchors.length; i < 9; i++) {
+ let anchor = document.createElement('a');
+ anchor.className = 'overview-item';
+ let span_thumbnail = document.createElement('span');
+ span_thumbnail.className = 'overview-thumbnail';
+ anchor.appendChild(span_thumbnail);
+ let span_title = document.createElement('span');
+ span_title.className = 'overview-title';
+ anchor.appendChild(span_title);
+
+ parentNode.appendChild(anchor);
+ }
+ }
+
+ _removePlaceholders() {
+ let anchors = document.getElementsByTagName('a')
+
+ for (let anchor of anchors) {
+ if (anchor.href == '')
+ document.removeChild(anchor);
+ }
+ }
+
_removeItem(item)
{
item.classList.add('overview-removed');
@@ -88,6 +116,7 @@ Ephy.Overview = class Overview
break;
}
}
+ this._addPlaceholders();
window.webkit.messageHandlers.overview.postMessage(item.href);
}, 500); // This value needs to be synced with the one in about.css
}
@@ -102,6 +131,7 @@ Ephy.Overview = class Overview
overview.classList.remove('overview-empty');
}
+ this._removePlaceholders();
for (let i = 0; i < urls.length; i++) {
let url = urls[i];
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]