diff options
author | Michael Meeks <michael.meeks@collabora.com> | 2020-01-14 16:54:08 +0000 |
---|---|---|
committer | Jan Holesovsky <kendy@collabora.com> | 2020-01-15 11:01:41 +0100 |
commit | 6305cc70fa964e400254b281a734b90c39fcb5e6 (patch) | |
tree | bed5f4c12646cdcb83f16aebc6097885655c44e9 | |
parent | b5f58fbe8c4f283d10def377c8a687245312fa1f (diff) |
postMessage tests - advertise them, and do some cleaning.
Set the iframe's src in a script so we can pass on a filename cleanly.
add a postMessage: sample URI at the end of 'make run'
Move some of the more obvious pieces into framed.doc.html.
Change-Id: I2bd8215f083bcb16369421ed88acb198808c1fdb
Reviewed-on: https://gerrit.libreoffice.org/c/online/+/86787
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Jan Holesovsky <kendy@collabora.com>
-rw-r--r-- | loleaflet/html/framed.doc.html | 44 | ||||
-rw-r--r-- | loleaflet/html/framed.html | 28 | ||||
-rw-r--r-- | wsd/LOOLWSD.cpp | 10 |
3 files changed, 41 insertions, 41 deletions
diff --git a/loleaflet/html/framed.doc.html b/loleaflet/html/framed.doc.html index df0207c84..df68f69fe 100644 --- a/loleaflet/html/framed.doc.html +++ b/loleaflet/html/framed.doc.html @@ -7,14 +7,6 @@ This demonstrates using the Python InsertText.py and Capitalise.py scripts from javascript across iframes. - - To test this, do 'make run', and then in your browser open the - equivalent of - http://snorken.local:9980/loleaflet/3304e9093/framed.doc.html if the - browser is running on a different machine, or - http://localhost:9980/loleaflet/3304e9093/framed.doc.html if running - on the same machine. - --> <html> @@ -82,6 +74,12 @@ }); } + function ShowMenubar(visible) { + var messageId = visible ? 'Show_Menubar' : 'Hide_Menubar'; + window.frames[0].postMessage(JSON.stringify({'MessageId': 'Host_PostmessageReady'}), '*'); + window.frames[0].postMessage(JSON.stringify({'MessageId': messageId}), '*'); + } + // This function is invoked when the iframe posts a message back. function receiveMessage(event) { @@ -126,14 +124,21 @@ <body style="user-select: none;"> - <p>Note: Set net/frame_ancestors in loolwsd.xml to contain 'file:' (without the quotes, but with the colon), otherwise you will get CSP violation. And force reload, or clear caches, otherwise you might get served from the browser cache..</p> + <h3>PostMessage test harness</h3> + + <h4>Run python InsertText.py script</h4> <form id="insert-text-form"> Click <button onclick="insertText(document.forms['insert-text-form'].elements['source'].value); return false;">here</button> to insert the following text into the document: <textarea name="source" value="" rows="5" cols="50"></textarea> </form> + <h4>Run Capitalize.py script</h4> <form id="insert-text-form"> Click <button onclick="capitalize(); return false;">here</button> to capitalize selected text in the document.</br></br> + </form> + + <h4>Various other messages to post</h4> + <form> <button onclick="save(); return false;">Save</button> <button onclick="closeDocument(); return false;">Close</button></br></br> <button onclick="hide_commands('save'); return false;">Hide Save Commands</button> @@ -144,15 +149,20 @@ <button onclick="disable_default_uiaction('UI_Save', false); return false;">Enable default save action</button></br></br> </form> - <p>Modified Status: - <span id="ModifiedStatus">Saved</span> - </p> + <h3>Modified Status: <span id="ModifiedStatus">Saved</span></h3> + + <h3>UI modification</h3> + <form id="menubar-toggle"> + <button onclick="ShowMenubar(false); return false;">Hide Menubar</button> + <button onclick="ShowMenubar(true); return false;">Show Menubar</button> + </form> - <!-- The hostname and pathnames below are obviously specific to my - personal environment and need to be changed appropriately. Also - the hex string needs to be changed of course, to the right one as - shown by 'make run'. --> + <h3>Document frame</h3> + <iframe id="frame" height="1000" width="1000"></iframe> - <iframe src="http://localhost:9980/loleaflet/ef3c798/loleaflet.html?file_path=file:///home/ash/prj/lo/online/test/data/empty.odt&NotWOPIButIframe=true" height="1000" width="1000"></iframe> + <script> + var iframe = document.getElementById("frame"); + iframe.src = "https://localhost:9980/loleaflet/42/loleaflet.html" + window.location.search + "&NotWOPIButIframe=true"; + </script> </body> </html> diff --git a/loleaflet/html/framed.html b/loleaflet/html/framed.html index cee6b610a..036cc8019 100644 --- a/loleaflet/html/framed.html +++ b/loleaflet/html/framed.html @@ -24,13 +24,8 @@ invoke Python functions that list, add, and delete named ranges in a Calc document being edited. - To test this, do 'make run', and then in your browser open the - equivalent of - http://snorken.local:9980/loleaflet/3304e9093/framed.html if the - browser is running on a different machine, or - http://localhost:9980/loleaflet/3304e9093/framed.html if running - on the same machine. - + To test this, do 'make run', and then in your browser open: + https://localhost:9980/loleaflet/dist/framed.html?file_path=/opt/libreoffice/online/test/data/hello-world.ods --> <html> @@ -117,12 +112,6 @@ '*'); } - function ShowMenubar(visible) { - var messageId = visible ? 'Show_Menubar' : 'Hide_Menubar'; - window.frames[0].postMessage(JSON.stringify({'MessageId': 'Host_PostmessageReady'}), '*'); - window.frames[0].postMessage(JSON.stringify({'MessageId': messageId}), '*'); - } - // This function is invoked when the iframe posts a message back. function receiveMessage(event) { @@ -205,18 +194,15 @@ Click <button onclick="callDeleteNamedRange(); return false;">here</button> to delete the named range called <input type="text" name="name"> </form> - <h3>UI modification</h3> - <form id="menubar-toggle"> - <button onclick="ShowMenubar(false); return false;">Hide Menubar</button> - <button onclick="ShowMenubar(true); return false;">Show Menubar</button> - </form> - - <h3>Document frame</h3> <!-- The hostname and pathnames below are obviously specific to my personal environment and need to be changed appropriately. --> - <iframe src="http://localhost:9980/loleaflet/dist/loleaflet.html?file_path=file:///libreoffice/online/test/data/hello-world.ods&NotWOPIButIframe=true" height="1000" width="1000"></iframe> + <iframe id="frame" height="1000" width="1000"></iframe> + <script> + var iframe = document.getElementById("frame"); + iframe.src = "https://localhost:9980/loleaflet/42/loleaflet.html" + window.location.search + "&NotWOPIButIframe=true"; + </script> </body> </html> diff --git a/wsd/LOOLWSD.cpp b/wsd/LOOLWSD.cpp index 3efed76e9..0538759ba 100644 --- a/wsd/LOOLWSD.cpp +++ b/wsd/LOOLWSD.cpp @@ -1202,10 +1202,14 @@ void LOOLWSD::initialize(Application& self) Admin::instance().setDefDocProcSettings(docProcSettings, false); #if ENABLE_DEBUG + std::string postMessageURI = + getServiceURI("/loleaflet/dist/framed.doc.html?file_path=" + DEBUG_ABSSRCDIR "/" LOOLWSD_TEST_DOCUMENT_RELATIVE_PATH_CALC); std::cerr << "\nLaunch one of these in your browser:\n\n" - << " Writer: " << getLaunchURI(LOOLWSD_TEST_DOCUMENT_RELATIVE_PATH_WRITER) << '\n' - << " Calc: " << getLaunchURI(LOOLWSD_TEST_DOCUMENT_RELATIVE_PATH_CALC) << '\n' - << " Impress: " << getLaunchURI(LOOLWSD_TEST_DOCUMENT_RELATIVE_PATH_IMPRESS) << std::endl; + << " Writer: " << getLaunchURI(LOOLWSD_TEST_DOCUMENT_RELATIVE_PATH_WRITER) << '\n' + << " Calc: " << getLaunchURI(LOOLWSD_TEST_DOCUMENT_RELATIVE_PATH_CALC) << '\n' + << " Impress: " << getLaunchURI(LOOLWSD_TEST_DOCUMENT_RELATIVE_PATH_IMPRESS) << '\n' + << " postMessage: " << postMessageURI << std::endl; const std::string adminURI = getServiceURI(LOOLWSD_TEST_ADMIN_CONSOLE, true); if (!adminURI.empty()) |