[Libreoffice-commits] online.git: loleaflet/src

Libreoffice Gerrit user logerrit at kemper.freedesktop.org
Tue Apr 23 01:02:05 UTC 2019


 loleaflet/src/core/Socket.js          |   30 ++++++++++++++++--------------
 loleaflet/src/layer/tile/TileLayer.js |   11 ++++++-----
 2 files changed, 22 insertions(+), 19 deletions(-)

New commits:
commit c45dfe194bbcb10514761c3564f42a8ff7f3fc17
Author:     Ashod Nakashian <ashod.nakashian at collabora.co.uk>
AuthorDate: Mon Apr 22 12:00:19 2019 -0400
Commit:     Ashod Nakashian <ashnakash at gmail.com>
CommitDate: Tue Apr 23 03:01:46 2019 +0200

    leaflet: process the most common message first
    
    The 'tile:' message is the most common and most
    latency sensitive message, so give it priority.
    
    Change-Id: Id5790369cd493423a47acab8a3d5107ce91b0d39
    Reviewed-on: https://gerrit.libreoffice.org/71071
    Reviewed-by: Ashod Nakashian <ashnakash at gmail.com>
    Tested-by: Ashod Nakashian <ashnakash at gmail.com>

diff --git a/loleaflet/src/core/Socket.js b/loleaflet/src/core/Socket.js
index b02b00943..464a1f1df 100644
--- a/loleaflet/src/core/Socket.js
+++ b/loleaflet/src/core/Socket.js
@@ -810,20 +810,22 @@ L.Socket = L.Class.extend({
 			this._map.fire('docloaded', {status: true});
 		}
 
-		// these can arrive very early during the startup
-		if (textMsg.startsWith('statusindicatorstart:')) {
-			this._map.fire('statusindicator', {statusType : 'start'});
-			return;
-		}
-		else if (textMsg.startsWith('statusindicatorsetvalue:')) {
-			var value = textMsg.match(/\d+/g)[0];
-			this._map.fire('statusindicator', {statusType : 'setvalue', value : value});
-			return;
-		}
-		else if (textMsg.startsWith('statusindicatorfinish:')) {
-			this._map.fire('statusindicator', {statusType : 'finish'});
-			this._map._fireInitComplete('statusindicatorfinish');
-			return;
+		// These can arrive very early during the startup, and never again.
+		if (textMsg.startsWith('statusindicator')) {
+			if (textMsg.startsWith('statusindicatorstart:')) {
+				this._map.fire('statusindicator', {statusType : 'start'});
+				return;
+			}
+			else if (textMsg.startsWith('statusindicatorsetvalue:')) {
+				var value = textMsg.match(/\d+/g)[0];
+				this._map.fire('statusindicator', {statusType : 'setvalue', value : value});
+				return;
+			}
+			else if (textMsg.startsWith('statusindicatorfinish:')) {
+				this._map.fire('statusindicator', {statusType : 'finish'});
+				this._map._fireInitComplete('statusindicatorfinish');
+				return;
+			}
 		}
 
 		if (this._map._docLayer) {
diff --git a/loleaflet/src/layer/tile/TileLayer.js b/loleaflet/src/layer/tile/TileLayer.js
index 42c880e57..43256a15e 100644
--- a/loleaflet/src/layer/tile/TileLayer.js
+++ b/loleaflet/src/layer/tile/TileLayer.js
@@ -359,7 +359,11 @@ L.TileLayer = L.GridLayer.extend({
 	},
 
 	_onMessage: function (textMsg, img) {
-		if (textMsg.startsWith('commandvalues:')) {
+		// 'tile:' is the most common message type; keep this the first.
+		if (textMsg.startsWith('tile:')) {
+			this._onTileMsg(textMsg, img);
+		}
+		else if (textMsg.startsWith('commandvalues:')) {
 			this._onCommandValuesMsg(textMsg);
 		}
 		else if (textMsg.startsWith('cursorvisible:')) {
@@ -447,9 +451,6 @@ L.TileLayer = L.GridLayer.extend({
 		else if (textMsg.startsWith('textselectionstart:')) {
 			this._onTextSelectionStartMsg(textMsg);
 		}
-		else if (textMsg.startsWith('tile:')) {
-			this._onTileMsg(textMsg, img);
-		}
 		else if (textMsg.startsWith('windowpaint:')) {
 			this._onDialogPaintMsg(textMsg, img);
 		}
@@ -812,7 +813,7 @@ L.TileLayer = L.GridLayer.extend({
 		//first time document open, set last cursor position
 		if (this.lastCursorPos.lat === 0 && this.lastCursorPos.lng === 0)
 			this.lastCursorPos = cursorPos;
-		
+
 		var updateCursor = false;
 		if ((this.lastCursorPos.lat !== cursorPos.lat) || (this.lastCursorPos.lng !== cursorPos.lng)) {
 			updateCursor = true;


More information about the Libreoffice-commits mailing list