diff --git a/app/ui.js b/app/ui.js index 24d32d55..df046d20 100644 --- a/app/ui.js +++ b/app/ui.js @@ -1288,13 +1288,13 @@ const UI = { let inputFocus = "none"; if (e.detail.types.indexOf("username") === -1) { document.getElementById("noVNC_username_block").classList.add("noVNC_hidden"); - } else { - inputFocus = inputFocus === "none" ? "noVNC_username_input" : inputFocus; + } else if (document.getElementById("noVNC_username_input").value === "") { + inputFocus = "noVNC_username_input"; } if (e.detail.types.indexOf("password") === -1) { document.getElementById("noVNC_password_block").classList.add("noVNC_hidden"); - } else { - inputFocus = inputFocus === "none" ? "noVNC_password_input" : inputFocus; + } else if (inputFocus === "none") { + inputFocus = "noVNC_password_input"; } document.getElementById('noVNC_credentials_dlg') .classList.add('noVNC_open'); diff --git a/tests/test.rfb.js b/tests/test.rfb.js index 7aa54cd0..8d3a9717 100644 --- a/tests/test.rfb.js +++ b/tests/test.rfb.js @@ -3485,7 +3485,7 @@ describe('Remote Frame Buffer protocol client', function () { expectedStr )).to.be.true; expect(dispatchEventSpy.calledWith( - new CustomEvent("clipboard", {detail: {expectedStr: expectedStr}}) + new CustomEvent("clipboard", {detail: {text: expectedStr}}) )).to.be.false; }); @@ -3506,9 +3506,8 @@ describe('Remote Frame Buffer protocol client', function () { expect(client._asyncClipboard.writeClipboard.calledOnceWith( expectedStr )).to.be.true; - expect(dispatchEventSpy.calledOnceWith( - new CustomEvent("clipboard", {detail: {expectedStr: expectedStr}}) - )).to.be.true; + expect(dispatchEventSpy.args[0][0].type).to.equal("clipboard"); + expect(dispatchEventSpy.args[0][0].detail.text).to.equal(expectedStr); }); }); @@ -3587,7 +3586,7 @@ describe('Remote Frame Buffer protocol client', function () { expectedData )).to.be.true; expect(dispatchEventSpy.calledOnceWith( - new CustomEvent("clipboard", {detail: {expectedData: expectedData}}) + new CustomEvent("clipboard", {detail: {text: expectedData}}) )).to.be.false; }); it('should dispatch a clipboard event following unsuccessful async write clipboard', async function () { @@ -3615,9 +3614,8 @@ describe('Remote Frame Buffer protocol client', function () { expect(client._asyncClipboard.writeClipboard.calledOnceWith( expectedData )).to.be.true; - expect(dispatchEventSpy.calledOnceWith( - new CustomEvent("clipboard", {detail: {expectedData: expectedData}}) - )).to.be.true; + expect(dispatchEventSpy.args[0][0].type).to.equal("clipboard"); + expect(dispatchEventSpy.args[0][0].detail.text).to.equal(expectedData); }); describe('Handle Provide', function () { @@ -3646,9 +3644,8 @@ describe('Remote Frame Buffer protocol client', function () { expect(client._asyncClipboard.writeClipboard.calledOnceWith( expectedData )).to.be.true; - expect(dispatchEventSpy.calledOnceWith( - new CustomEvent("clipboard", {detail: {expectedData: expectedData}}) - )).to.be.true; + expect(dispatchEventSpy.args[0][0].type).to.equal("clipboard"); + expect(dispatchEventSpy.args[0][0].detail.text).to.equal(expectedData); }); it('should update clipboard with correct escape characters from a Provide message ', async function () { @@ -3677,9 +3674,8 @@ describe('Remote Frame Buffer protocol client', function () { expect(client._asyncClipboard.writeClipboard.calledOnceWith( expectedData )).to.be.true; - expect(dispatchEventSpy.calledOnceWith( - new CustomEvent("clipboard", {detail: {expectedData: expectedData}}) - )).to.be.true; + expect(dispatchEventSpy.args[0][0].type).to.equal("clipboard"); + expect(dispatchEventSpy.args[0][0].detail.text).to.equal(expectedData); }); it('should be able to handle large Provide messages', async function () { @@ -3708,9 +3704,8 @@ describe('Remote Frame Buffer protocol client', function () { expect(client._asyncClipboard.writeClipboard.calledOnceWith( expectedData )).to.be.true; - expect(dispatchEventSpy.calledOnceWith( - new CustomEvent("clipboard", {detail: {expectedData: expectedData}}) - )).to.be.true; + expect(dispatchEventSpy.args[0][0].type).to.equal("clipboard"); + expect(dispatchEventSpy.args[0][0].detail.text).to.equal(expectedData); }); }); diff --git a/utils/validate b/utils/validate index 3f5cb871..aea0e524 100755 --- a/utils/validate +++ b/utils/validate @@ -50,14 +50,6 @@ for fn in "$@"; do error=$(echo $line | cut -d ":" -f 4-) case $error in - *"\"scrollbar-gutter\": Property \"scrollbar-gutter\" doesn't exist.") - # FIXME: https://github.com/validator/validator/issues/1788 - echo "Ignoring below error on line ${line_start}," \ - "the scrollbar-gutter property actually exist and is widely" \ - "supported:" - echo $error - continue - ;; *"\"clip-path\": \"path("*) # FIXME: https://github.com/validator/validator/issues/1786 echo "Ignoring below error on line ${line_start}," \