Change-Id: I89b6d3257749da23f52d848777ff55753281b15b
Reviewed-on: https://gerrit.libreoffice.org/c/online/+/90205
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Tested-by: Pedro Pinto da Silva <pedro.silva@collabora.com>
Reviewed-by: Pedro Pinto da Silva <pedro.silva@collabora.com>
Change-Id: Ibe9743fe7fe476c8d561b301ca82faea89dbccc6
Reviewed-on: https://gerrit.libreoffice.org/c/online/+/90078
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Tested-by: Pedro Pinto da Silva <pedro.silva@collabora.com>
Reviewed-by: Pedro Pinto da Silva <pedro.silva@collabora.com>
The toolbar changes the document size, so we should resize
at the time of showing/hiding the toolbar.
Failing to do this means the document is resized at
the point of editing it, which causes a visual
shift as the contents recenters.
This avoids it by making sure the document dimensions
are up-to-date at the time the toolbar shown/hidden.
Change-Id: I728d13e1acac4b2dd118332a112d4b89b4d798b1
Reviewed-on: https://gerrit.libreoffice.org/c/online/+/90359
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
The 'exit' command from DocBroker to Kit is processed
immediately. It set the termination flag and destroyed
the Document instance in Kit. Unfortunately, this is
highly problematic. There are a number of races here.
Normal disconnection procedure from DocBroker is to
first send 'disconnect'. This tells Kit to unload
and close the view in question, and when 0 views
are left, it simply exits the process.
However, since 'disconnect' is processed in the
message queue, the 'exit' (and indeed the socket
disconnection that follows 'exit') may be handled
before the message queue is drained, and so the
'disconnect' wouldn't have been processed yet.
The end result of these two races is that Kit
tries to exit the Core main loop, which fails
a number of assertion (f.e. that no LOK Windows
remain, which is presumably a leak check, which
we care not about as we don't attempt to cleanup
the sidebar).
The fix here is to process 'exit' immediately,
because DocBroker is gone, there is absolutely
nothing for Kit to do anymore.
Change-Id: I5c09fcfdb1713f4e0b56b717c747d919d0c6728f
Reviewed-on: https://gerrit.libreoffice.org/c/online/+/90356
Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
Parallel build sometimes fails because of missing supportFile.
We don't actually use the supportFile. An empty support file
is generated by the framework.
Change-Id: I09d79678638ae9776e1568bff5f9267623d966f4
Reviewed-on: https://gerrit.libreoffice.org/c/online/+/90374
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Tamás Zolnai <tamas.zolnai@collabora.com>
It seems contains does not mean a retry functionality
which tries to find the item in the given time window.
Change-Id: Ib26a5d84a1dacbddcb56dec6fd4a0901ba7d2295
Reviewed-on: https://gerrit.libreoffice.org/c/online/+/90351
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Tamás Zolnai <tamas.zolnai@collabora.com>
It seems sometimes writeFileSync() method does not
actually overwrites the document and some tests loads
a test document modified by an other test.
Hopefully removal of the file will solve this issue.
Change-Id: I2cecfd367acce185eeebbdc4269a73a9d1d2dd5a
Reviewed-on: https://gerrit.libreoffice.org/c/online/+/90339
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Tamás Zolnai <tamas.zolnai@collabora.com>
_executeAction has to cope with being called from the JSDialogBuilder
as well as our grim jquery menu library, so pass in enough information
for it to be able to do a good job still from the original menu
structure.
Change-Id: I61445e9181d6f7f62a78581e6ecee8275aa1e3b1
Reviewed-on: https://gerrit.libreoffice.org/c/online/+/90340
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
Essentially we want to be able to separate low-level socket code
for eg. TCP vs. UDS, from Protocol handling: eg. WebSocketHandler
and client sessions themselves which handle and send messages
which now implement the simple MessageHandlerInterface.
Some helpful renaming too:
s/SocketHandlerInterface/ProtocolHandlerInterface/
Change-Id: I58092b5e0b5792fda47498fb2c875851eada461d
Reviewed-on: https://gerrit.libreoffice.org/c/online/+/90138
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
Opening a document with Intent.ACTION_OPEN_DOCUMENT is only
supported with Android SDK >= 19, so for complete support we need
to add a fallback to Intent.ACTION_GET_CONTENT. Additionally if
the activity Intent.ACTION_OPEN_DOCUMENT is not found for whatever
reason, also try to start it with the fallback.
Change-Id: I0e28a3bb038a5d44716856e5c015223933c6de6b
Reviewed-on: https://gerrit.libreoffice.org/c/online/+/90210
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Jan Holesovsky <kendy@collabora.com>
Otherwise, when one validates (or uploads) a new build, even just for
TestFlight purposes, one gets an error in Xcode: "The value for key
CFBundleShortVersionString [4.2.1] in the Info.plist file must contain
a higher version than that of the previously approved version
[4.2.1]."
(cherry picked from commit 585cf6be86c6535a9cf6b2ab45e9e606788433d2)
Change-Id: I2ea1342980384a8eb81312734747be5e686da347
Open Writer, insert a multi-MP JPEG, select it.
Before:
ChildSession::renderShapeSelection: finished in 74.67 ms
After:
ChildSession::renderShapeSelection: finished in 67.33 ms (90.17% of baseline)
Change-Id: I495e9fcf0c42b0bcfc7987a402a13f5d8664b1e1
Reviewed-on: https://gerrit.libreoffice.org/c/online/+/90291
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Open Writer, insert a multi-MP JPEG, select it.
Before:
ChildSession::renderShapeSelection: finished in 81.33 ms
After:
ChildSession::renderShapeSelection: finished in 74.67 ms (91.81% of baseline)
This is with an --enable-symbols core with a -O2 online, with libstdc++.
The cost on the Android profile with its libc++ looked even more,
spending time in the std::vector dtor.
Change-Id: I50af2e13fd24569dc32304420b8f3e70d15803eb
Reviewed-on: https://gerrit.libreoffice.org/c/online/+/90262
Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
In desktop-browser-online-calc, when the sidebar is shown, the
tabs/sheets bar is partly covered by it. This is a problem when there
are many sheets in the calc document because it is impossible to
switch to last few sheets because sidebar covers those entries in
the tabs-bar.
This patch adjusts the tab-bar container's width according to sidebar
width changes just like how formula-input canvas width is adjusted.
This also includes some css adjustments neccessary to hide the ugly
browser induced vertical-scrollbar for the child of tabs container
when adjusting the width of the container.
Change-Id: Iea3a658926d6f563a970bb9b6da9807818d36c26
Reviewed-on: https://gerrit.libreoffice.org/c/online/+/89897
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Henry Castro <hcastro@collabora.com>
Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
Allows comparing tokens with C strings without a heap allocation. Do the
same when comparing two tokens from two different StringVectors.
And use it at all places where operator ==() has an argument, which is a
StringVector::operator []() result.
Change-Id: Id36eff96767ab99b235ecbd12fb14446a3efa869
Reviewed-on: https://gerrit.libreoffice.org/c/online/+/90201
Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Even when the document reached the boundary,
autoscrolling function was being called unnecessary
until certain conditions are met
this did not cause the document to scroll beyond the boundary
bu it used to consume some CPU
follow up for: https://gerrit.libreoffice.org/c/online/+/88072
Change-Id: I1cb6d6917c70de18af369d827e986a16eeb50c99
Reviewed-on: https://gerrit.libreoffice.org/c/online/+/88421
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Henry Castro <hcastro@collabora.com>
There is not much more we can test about styles,
since now we have only an apply style button.
Change-Id: I92a1a6dc60701743af44928966475cf4471b317b
Reviewed-on: https://gerrit.libreoffice.org/c/online/+/90108
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Tamás Zolnai <tamas.zolnai@collabora.com>
In mobile vertical view impress slide previews were not visible
Change-Id: I24420577769e1124f9c7004ced54786522aa4bce
Reviewed-on: https://gerrit.libreoffice.org/c/online/+/89758
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Henry Castro <hcastro@collabora.com>
Before this patch, it used to scroll a fixed 120 px and does not
guarantee the visibility of the last tab especially if there are
lots of sheets in the document.
For scrolling to last tab, just use native scrollLeft attribute
rather than relying on jquery. On setting native scrollLeft to a
very high value, it ensures that it scrolls to the maximum possible
level (and shows the last tab) according to MDN scrollLeft documentation.
https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollLeft
Sadly jquery documentation for its scrollLeft() does not mention
anything about the behaviour on setting a very high value(more than
maximum scroll), even though it appears to work.
Change-Id: I05142c1d3d63551fa2dc8359e41e30edc78a7d09
Reviewed-on: https://gerrit.libreoffice.org/c/online/+/89948
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Henry Castro <hcastro@collabora.com>
Sometimes it is very useful to have one "lokit" process,
to focus on a 100% reproducible bug, and not worry
that server pre-spawn several processes.
Change-Id: I414a8145b53a0601a282cba9c245833f5d07f404
Reviewed-on: https://gerrit.libreoffice.org/c/online/+/89999
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Henry Castro <hcastro@collabora.com>
Whenever the tab-bar contents are updated, restore the last
known scroll position.
This fixes a very annoying problem while selecting a sheet in
a document with many many sheets. Everytime the user selects a sheet
(closer to the last sheet), the tab-bar's scroll position is reset
to sheet#1, so if the user wants to select another sheet near the
last sheet, they have to scroll again a lot to see it.
Change-Id: I7e79b6e1a7b19223e1dbd9b3aab6c6f2b4d422b2
Reviewed-on: https://gerrit.libreoffice.org/c/online/+/89946
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Henry Castro <hcastro@collabora.com>