diff --git a/www/admin/inner.js b/www/admin/inner.js
index 103796555..9f5be5895 100644
--- a/www/admin/inner.js
+++ b/www/admin/inner.js
@@ -45,7 +45,6 @@ define([
Flatpickr
)
{
- document.title = Messages.adminPage;
var APP = {
'instanceStatus': {}
};
diff --git a/www/calendar/inner.html b/www/calendar/inner.html
index c6a007329..79d2d6b34 100644
--- a/www/calendar/inner.html
+++ b/www/calendar/inner.html
@@ -1,7 +1,6 @@
-
diff --git a/www/calendar/inner.js b/www/calendar/inner.js
index 3d5362f5a..60a7d587c 100644
--- a/www/calendar/inner.js
+++ b/www/calendar/inner.js
@@ -54,7 +54,6 @@ define([
Share, Access, Properties
)
{
- document.title = Messages.calendar;
var SaveAs = window.saveAs;
var APP = window.APP = {
calendars: {}
diff --git a/www/code/inner.js b/www/code/inner.js
index bcece0c6c..7a1daa741 100644
--- a/www/code/inner.js
+++ b/www/code/inner.js
@@ -62,9 +62,6 @@ define([
Messages,
CMeditor)
{
- Messages.application = "Application"; // XXX
- Messages.cryptpad_title = "CryptPad"; // XXX
- document.title = Messages.type.code + " " + Messages.application + " - " + Messages.cryptpad_title;
window.CodeMirror = CMeditor;
var MEDIA_TAG_MODES = Object.freeze([
diff --git a/www/common/drive-ui.js b/www/common/drive-ui.js
index 933e879f9..336d72ca5 100644
--- a/www/common/drive-ui.js
+++ b/www/common/drive-ui.js
@@ -2695,7 +2695,7 @@ define([
gridIcon,
listIcon
]));
- $button.attr('aria-label', 'View Mode Button');
+ $button.attr('aria-label', 'View Mode Button'); // XXX missing key?
var $gridIcon = $(gridIcon);
var $listIcon = $(listIcon);
var showMode = function (mode) {
diff --git a/www/common/onlyoffice/inner.js b/www/common/onlyoffice/inner.js
index 0f5b65edb..a5d93e629 100644
--- a/www/common/onlyoffice/inner.js
+++ b/www/common/onlyoffice/inner.js
@@ -662,23 +662,17 @@ define([
var loadInitDocument = function (type, useNewDefault) {
var newText;
- Messages.application = "Application"; // XXX
- Messages.cryptpad_title = "CryptPad"; // XXX
switch (type) {
case 'sheet' :
- document.title = Messages.type.sheet + " " + Messages.application + " - " + Messages.cryptpad_title;
newText = EmptyCell(useNewDefault);
break;
case 'doc':
- document.title = Messages.type.doc + " " + Messages.application + " - " + Messages.cryptpad_title;
newText = EmptyDoc();
break;
case 'presentation':
- document.title = Messages.type.presentation + " " + Messages.application + " - " + Messages.cryptpad_title;
newText = EmptySlide();
break;
default:
- document.title = Messages.application + " - " + Messages.cryptpad_title;
newText = '';
}
return new Blob([newText], {type: 'text/plain'});
diff --git a/www/common/sframe-common-outer.js b/www/common/sframe-common-outer.js
index 70486ce84..afd65b888 100644
--- a/www/common/sframe-common-outer.js
+++ b/www/common/sframe-common-outer.js
@@ -73,7 +73,6 @@ define([
ApiConfig.httpSafeOrigin + (pathname || window.location.pathname) + 'inner.html?' +
requireConfig.urlArgs + '#' + encodeURIComponent(JSON.stringify(req)));
$i.attr('allowfullscreen', 'true');
- // $i.attr('title', 'iframe'); // XXX to be fixed
$('iframe-placeholder').after($i).remove();
// This is a cheap trick to avoid loading sframe-channel in parallel with the
@@ -1230,6 +1229,8 @@ define([
};
addCommonRpc(sframeChan, isSafe);
+ var SecureModal = {};
+
var currentTitle;
var currentTabTitle;
var titleSuffix = (Utils.Util.find(Utils, ['Instance','name','default']) || '').trim();
@@ -1237,12 +1238,16 @@ define([
titleSuffix = window.location.hostname;
}
var setDocumentTitle = function () {
+ var newTitle;
if (!currentTabTitle) {
- document.title = currentTitle || 'CryptPad';
- return;
+ newTitle = currentTitle || 'CryptPad';
+ } else {
+ var title = currentTabTitle.replace(/\{title\}/g, currentTitle || 'CryptPad');
+ newTitle = title + ' - ' + titleSuffix;
}
- var title = currentTabTitle.replace(/\{title\}/g, currentTitle || 'CryptPad');
- document.title = title + ' - ' + titleSuffix;
+ document.title = newTitle;
+ sframeChan.event('EV_IFRAME_TITLE', newTitle);
+ if (SecureModal.modal) { SecureModal.modal.setTitle(newTitle); }
};
var setPadTitle = function (data, cb) {
@@ -1513,7 +1518,6 @@ define([
});
// Secure modal
- var SecureModal = {};
// Create or display the iframe and modal
var getPropChannels = function () {
var channels = {};
@@ -1558,8 +1562,12 @@ define([
if (!cfg.hidden) {
SecureModal.modal.refresh(cfg, function () {
SecureModal.$iframe.show();
+ setDocumentTitle();
});
} else {
+ SecureModal.modal.refresh(cfg, function () {
+ setDocumentTitle();
+ });
SecureModal.$iframe.hide();
return;
}
diff --git a/www/common/sframe-common.js b/www/common/sframe-common.js
index 35f51ef03..6f989ed57 100644
--- a/www/common/sframe-common.js
+++ b/www/common/sframe-common.js
@@ -995,6 +995,10 @@ define([
UI.alert(Messages.chrome68);
});
+ ctx.sframeChan.on('EV_IFRAME_TITLE', function (title) {
+ document.title = title;
+ });
+
funcs.isPadStored(function (err, val) {
if (err || !val) { return; }
UIElements.displayCrowdfunding(funcs);
diff --git a/www/contacts/inner.html b/www/contacts/inner.html
index 4ab34d03c..9a3d42352 100644
--- a/www/contacts/inner.html
+++ b/www/contacts/inner.html
@@ -1,7 +1,6 @@
-
diff --git a/www/contacts/inner.js b/www/contacts/inner.js
index 2f3b3592a..7abb480cd 100644
--- a/www/contacts/inner.js
+++ b/www/contacts/inner.js
@@ -24,7 +24,6 @@ define([
UI
)
{
- document.title = Messages.contacts_title;
var APP = {};
var common;
diff --git a/www/diagram/inner.js b/www/diagram/inner.js
index 615c0fd27..3b05c261e 100644
--- a/www/diagram/inner.js
+++ b/www/diagram/inner.js
@@ -12,9 +12,6 @@ define([
Messages,
pako,
X2JS) {
- Messages.application = "Application"; // XXX
- Messages.cryptpad_title = "CryptPad"; // XXX
- document.title = Messages.type.diagram + " " + Messages.application + " - " + Messages.cryptpad_title;
const Nacl = window.nacl;
// As described here: https://drawio-app.com/extracting-the-xml-from-mxfiles/
diff --git a/www/drive/inner.js b/www/drive/inner.js
index cb40ff110..91ee3c3c1 100644
--- a/www/drive/inner.js
+++ b/www/drive/inner.js
@@ -31,7 +31,6 @@ define([
AppConfig,
Messages)
{
- document.title = Messages.settings_cat_drive;
var APP = {};
var SHARED_FOLDER_NAME = Messages.fm_sharedFolderName;
diff --git a/www/form/inner.js b/www/form/inner.js
index 1a8d87cdf..67ec6edf4 100644
--- a/www/form/inner.js
+++ b/www/form/inner.js
@@ -75,9 +75,6 @@ define([
Sortable
)
{
- Messages.application = "Application"; // XXX
- Messages.cryptpad_title = "CryptPad"; // XXX
- document.title = Messages.type.form + " " + Messages.application + " - " + Messages.cryptpad_title;
var APP = window.APP = {
blocks: {}
};
diff --git a/www/kanban/inner.js b/www/kanban/inner.js
index 589fdc0fd..ed056f371 100644
--- a/www/kanban/inner.js
+++ b/www/kanban/inner.js
@@ -52,9 +52,6 @@ define([
jKanban,
Export)
{
- Messages.application = "Application"; // XXX
- Messages.cryptpad_title = "CryptPad"; // XXX
- document.title = Messages.type.kanban + " " + Messages.application + " - " + Messages.cryptpad_title;
var verbose = function (x) { console.log(x); };
verbose = function () {}; // comment out to enable verbose logging
var onRedraw = Util.mkEvent();
diff --git a/www/pad/inner.js b/www/pad/inner.js
index 9f223094f..39216c281 100644
--- a/www/pad/inner.js
+++ b/www/pad/inner.js
@@ -75,9 +75,6 @@ define([
AppConfig,
Test */
) {
- Messages.application = "Application"; // XXX
- Messages.cryptpad_title = "CryptPad"; // XXX
- document.title = Messages.type.pad + " " + Messages.application + " - " + Messages.cryptpad_title;
var DiffDom = window.diffDOM;
var slice = function(coll) {
diff --git a/www/profile/inner.html b/www/profile/inner.html
index 5b44dc1ae..a8f1196ec 100644
--- a/www/profile/inner.html
+++ b/www/profile/inner.html
@@ -1,7 +1,6 @@
-
diff --git a/www/profile/inner.js b/www/profile/inner.js
index 3f4f6117c..3336f6eb2 100644
--- a/www/profile/inner.js
+++ b/www/profile/inner.js
@@ -49,7 +49,6 @@ define([
CodeMirror
)
{
- document.title = Messages.profileButton;
var APP = window.APP = {
_onRefresh: []
};
diff --git a/www/secureiframe/main.js b/www/secureiframe/main.js
index b5d717753..071d9138b 100644
--- a/www/secureiframe/main.js
+++ b/www/secureiframe/main.js
@@ -187,8 +187,12 @@ define([
sframeChan.event('EV_REFRESH', data);
cb();
};
+ var setTitle = function (title) {
+ sframeChan.event('EV_IFRAME_TITLE', title);
+ };
return {
- refresh: refresh
+ refresh: refresh,
+ setTitle: setTitle
};
};
return {
diff --git a/www/settings/inner.html b/www/settings/inner.html
index 85cdf199c..a8c1929ad 100644
--- a/www/settings/inner.html
+++ b/www/settings/inner.html
@@ -1,7 +1,6 @@
-
diff --git a/www/settings/inner.js b/www/settings/inner.js
index 690175748..9b304a2dd 100644
--- a/www/settings/inner.js
+++ b/www/settings/inner.js
@@ -41,7 +41,6 @@ define([
Constants,
Login
) {
- document.title = Messages.settings_title;
var saveAs = window.saveAs;
var APP = window.APP = {};
diff --git a/www/slide/inner.js b/www/slide/inner.js
index 542f71fde..0b8476651 100644
--- a/www/slide/inner.js
+++ b/www/slide/inner.js
@@ -59,9 +59,6 @@ define([
Messages,
CMeditor)
{
- Messages.application = "Application"; // XXX
- Messages.cryptpad_title = "CryptPad"; // XXX
- document.title = Messages.type.slide + " " + Messages.application + " - " + Messages.cryptpad_title;
window.CodeMirror = CMeditor;
var SLIDE_BACKCOLOR_ID = "cp-app-slide-toolbar-backcolor";
diff --git a/www/teams/inner.js b/www/teams/inner.js
index b51c149f9..eb010e305 100644
--- a/www/teams/inner.js
+++ b/www/teams/inner.js
@@ -48,7 +48,6 @@ define([
Backup,
Messages)
{
- document.title = Messages.type.teams;
var APP = {
teams: {}
};