wsd/ClientSession.cpp | 97 ++++++++++++++++++-------------------------------- 1 file changed, 36 insertions(+), 61 deletions(-)
New commits: commit 27521418675fc3ad6e688a08f24b70f1d336e77b Author: Mike Kaganski <[email protected]> AuthorDate: Wed Jul 15 14:07:23 2020 +0300 Commit: Mike Kaganski <[email protected]> CommitDate: Wed Jul 15 14:53:16 2020 +0200 Restructure ClientSession::_handleInput to check tokens once This allows to avoid redundancy, and makes it explicit which token is handled where. Change-Id: Ibc7ed7617f7f511cb8346e2e82281c3a3fdac9a7 Reviewed-on: https://gerrit.libreoffice.org/c/online/+/98821 Tested-by: Jenkins CollaboraOffice <[email protected]> Tested-by: Jenkins Reviewed-by: Tor Lillqvist <[email protected]> diff --git a/wsd/ClientSession.cpp b/wsd/ClientSession.cpp index 293fff67d..0f5a09b2c 100644 --- a/wsd/ClientSession.cpp +++ b/wsd/ClientSession.cpp @@ -395,66 +395,6 @@ bool ClientSession::_handleInput(const char *buffer, int length) return loadDocument(buffer, length, tokens, docBroker); } - else if (tokens[0] != "canceltiles" && - tokens[0] != "tileprocessed" && - tokens[0] != "clientzoom" && - tokens[0] != "clientvisiblearea" && - tokens[0] != "outlinestate" && - tokens[0] != "commandvalues" && - tokens[0] != "closedocument" && - tokens[0] != "versionrestore" && - tokens[0] != "downloadas" && - tokens[0] != "getchildid" && - tokens[0] != "gettextselection" && - tokens[0] != "paste" && - tokens[0] != "insertfile" && - tokens[0] != "key" && - tokens[0] != "textinput" && - tokens[0] != "windowkey" && - tokens[0] != "mouse" && - tokens[0] != "windowmouse" && - tokens[0] != "windowgesture" && - tokens[0] != "partpagerectangles" && - tokens[0] != "ping" && - tokens[0] != "renderfont" && - tokens[0] != "requestloksession" && - tokens[0] != "resetselection" && - tokens[0] != "save" && - tokens[0] != "saveas" && - tokens[0] != "savetostorage" && - tokens[0] != "selectgraphic" && - tokens[0] != "selecttext" && - tokens[0] != "windowselecttext" && - tokens[0] != "setclientpart" && - tokens[0] != "selectclientpart" && - tokens[0] != "moveselectedclientparts" && - tokens[0] != "setpage" && - tokens[0] != "status" && - tokens[0] != "statusupdate" && - tokens[0] != "tile" && - tokens[0] != "tilecombine" && - tokens[0] != "uno" && - tokens[0] != "useractive" && - tokens[0] != "userinactive" && - tokens[0] != "paintwindow" && - tokens[0] != "windowcommand" && - tokens[0] != "signdocument" && - tokens[0] != "asksignaturestatus" && - tokens[0] != "uploadsigneddocument" && - tokens[0] != "exportsignanduploaddocument" && - tokens[0] != "rendershapeselection" && - tokens[0] != "removesession" && - tokens[0] != "renamefile" && - tokens[0] != "resizewindow" && - tokens[0] != "removetextcontext" && - tokens[0] != "dialogevent" && - tokens[0] != "completefunction" && - tokens[0] != "formfieldevent") - { - LOG_ERR("Session [" << getId() << "] got unknown command [" << tokens[0] << "]."); - sendTextFrameAndLogError("error: cmd=" + tokens[0] + " kind=unknown"); - return false; - } else if (getDocURL().empty()) { sendTextFrameAndLogError("error: cmd=" + tokens[0] + " kind=nodocloaded"); @@ -746,7 +686,37 @@ bool ClientSession::_handleInput(const char *buffer, int length) { return forwardToChild(firstLine, docBroker); } - else + else if (tokens[0] == "outlinestate" || + tokens[0] == "downloadas" || + tokens[0] == "getchildid" || + tokens[0] == "gettextselection" || + tokens[0] == "paste" || + tokens[0] == "insertfile" || + tokens[0] == "key" || + tokens[0] == "textinput" || + tokens[0] == "windowkey" || + tokens[0] == "mouse" || + tokens[0] == "windowmouse" || + tokens[0] == "windowgesture" || + tokens[0] == "requestloksession" || + tokens[0] == "resetselection" || + tokens[0] == "saveas" || + tokens[0] == "selectgraphic" || + tokens[0] == "selecttext" || + tokens[0] == "windowselecttext" || + tokens[0] == "setpage" || + tokens[0] == "uno" || + tokens[0] == "useractive" || + tokens[0] == "userinactive" || + tokens[0] == "paintwindow" || + tokens[0] == "windowcommand" || + tokens[0] == "signdocument" || + tokens[0] == "asksignaturestatus" || + tokens[0] == "uploadsigneddocument" || + tokens[0] == "exportsignanduploaddocument" || + tokens[0] == "rendershapeselection" || + tokens[0] == "resizewindow" || + tokens[0] == "removetextcontext") { if (tokens.equals(0, "key")) _keyEvents++; @@ -766,6 +736,11 @@ bool ClientSession::_handleInput(const char *buffer, int length) return true; } } + else + { + LOG_ERR("Session [" << getId() << "] got unknown command [" << tokens[0] << "]."); + sendTextFrameAndLogError("error: cmd=" + tokens[0] + " kind=unknown"); + } return false; } _______________________________________________ Libreoffice-commits mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
