Tab:
When focus moves into the tab list, places focus on the active tab element.
When the tab list contains the focus, moves focus to the next element in the page tab sequence outside the tablist.
When focus is on a tab element:
Left Arrow: moves focus to the previous tab. If focus is on the first tab, moves focus to the last tab.
Right Arrow: Moves focus to the next tab. If focus is on the last tab element, moves focus to the first tab.
Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: I24bd15f1efd265cc99cced5b058dc547d0a07e8f
Best to avoid span elements around button text
The innerHTML here is harmless since we are using a string created
by us within the same function.
Signed-off-by: Pedro Pinto Silva <pedro.silva@collabora.com>
Change-Id: I72af17cd2788e7ba4b3ec1c255058e18884e0be1
Create a new CSS rule to make tabs' content lower enough from the tabs' buttons.
Signed-off-by: Gökay Şatır <gokaysatir@collabora.com>
Change-Id: I3354b93711f1e93aa9c97c31b3717cad7b917351
Can be tested with Calc's Data -> Sort dialog
When we have multiple entries we still should scroll only to
the end of last entry. Previously we added lot of extra space.
Also this change prevents from adding unnecessary margin to drawing
areas.
Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: Icdfcba0a02d0b814460f58219db48dd856c059a1
For some reason we only checked for the closed
socket case as failure and returned 0 in that case,
for error cases, we returned 1. Likely the API
had been modified in the early days, but this
return code was left lopsided.
This meant that even when the handshake failed, we
still called readIncomingData or writeOutgoindData,
depending on whether we wanted to read or write,
causing a rare race-condition.
When a client (HTTP request) connects to a server,
it needs to send the request, right after the
SSL handshake. SSL_do_handshake could need data
from the socket to complete the handshake. In such
a case it returns WANT_READ. Unfortunately,
because we always called SSL_read, the missing data
could have arrived between the SSL_do_handshake call
and the SSL_read call (a rather short duration, to
be sure, but an open window all the same).
SSL_read would of course read said data from the
socket and, since it still needs to finish the
handshake, will buffer it. It then returns the very
same error that the SSL_do_handshake returned:
WANT_READ. Of course we will oblige by polling with
POLLIN, which will time out (there is no more data
to come, and the server is waiting for *our* request
and has nothing to send us).
The only way this deadlock could break if
SSL_do_handshake was called (which will consume
the buffered data, return 1 to indicate handshake
has completed). Since we wouldn't call it unless
and until we get POLLIN, per WANT_READ, which won't
happen in this case. And since SSL_read doesn't call
SSL_do_handshake either, the request times out and
that's the end of it.
The fix is to not call SSL_read when the handshake
isn't complete and needs more data, which we do now.
Fortunately, we have very few SSL clients, outside
of unit-tests. Most notably the WOPI client. But
even then it's not a heavily used connection and
might not even be SSL-enabled (for LAN servers).
Change-Id: I04fd3dae151904194f3d7579dbf8c671b2580ffb
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
A rare edge-case happens when we have a socket
that is closed (and we get POLLHUP or POLLERR)
but upon reading the socket we get EAGAIN.
This was observed when simulating EAGAIN,
and it is possible that this is quite impossible
in practice (since we read only when we get
POLLIN), but at least for the unit-tests
we need to handle this case, so we don't
get random failures.
Change-Id: I77af1726066507af5d5ada68fe11b479a4e579e5
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
We don't have to read the wakeup pipe
under a lock. So we no longer do.
Change-Id: I6bd724b9748add3022b4f9aa2268094b9818f3e5
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
add forcecaching parameter to coolwsd for debug mode.
Change-Id: I6f38e9a4fd6dbb76e92105c76e8abe3e75f19ef5
Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
We now always handle socket polls without skipping
when the number of sockets change. We verify the
socket FD of each socket before handlingPoll to
catch any violations of the preconditions.
This should avoid missing any events and also
handles timeouts better (which are checked
in handlePoll). It also protects against
unexpected modifications of the sockets, with
proper logging and assertion.
Change-Id: I5659eb57231a490e6c813e7a0222443b534713c6
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
Reading larger blocks should avoid having
the pipe back up when we accidentally
attempt more wakes than actual ones.
Change-Id: I7766230f60dbf069668ee7919f766e9093df7017
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
with a11y we now have those labels set via <label> elements and thus
they are getting browser specific default style for line-height
- Set to the same line-height that they used to have before, when they were
<span> and were inheriting the line-height from <body>
Signed-off-by: Pedro Pinto Silva <pedro.silva@collabora.com>
Change-Id: If9afa2217e5d357ea27b8e7fbb0d63f3acdee80c
This was introduced with the a11y changes (button is getting
browser default padding style)
Signed-off-by: Pedro Pinto Silva <pedro.silva@collabora.com>
Change-Id: Ic648cedc1d3c72e0ae53e8bd244f1a04da868d8b
In some rare cases we can't write to the socket
before we terminate, and the last message is
lost. This is observed in tests and especially
when we simulate socket write failure.
Change-Id: I9fb298edfe53de3c7ea0c2f31c02ba370167f96e
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
There is no use-case for calling the
thread function of the SocketPoll
from outside.
Change-Id: Id8e87369494817aaab749d03d1cd4cd3724c2da1
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
Particularly annoying with trace level logs
when they trample over one another.
Change-Id: Ib1a8f8b8117364886af5043120e65ec7cb12e12a
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
The port used for client connections does change when
we cannot connect on the default/first one. There is
no point in announcing the default when we don't
yet know the actual port, and similarly it's not
helpful to do so before the server is even started.
We also move the remote-font-config thread to an
earlier point and merge it with another #if !MOBILEAPP.
Change-Id: Icc28817c7a03d49a7e130b076e545fe3ce2fb81a
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
So it's consistent with the latest NC strings
Signed-off-by: Pedro Pinto Silva <pedro.silva@collabora.com>
Change-Id: Ic1d49c6d871aee86f80aeb5c4e6936b33f3fc93c
Before this commit buttons were being generated with padding
this is not needed ( we already have safe margins applied to
the parent -> 'unotoolbutton' )
Signed-off-by: Pedro Pinto Silva <pedro.silva@collabora.com>
Change-Id: I4f1b4328131550d906cde3328c7de02daffd76a1
Before this commit we were setting buttons in places such as
the sidebar with weird ratio (not 1:1) this might lead to problems
when aligning, adjusting gaps. Better to adjust gap or margin if we
need bigger spaces in between
Signed-off-by: Pedro Pinto Silva <pedro.silva@collabora.com>
Change-Id: Id60cd6353de2ace2a066c0d1624000a09f0ca98e
Fails intermittently under load, responsible for most unit-tile
failures.
Change-Id: I88de8524b51ee7d97a28e31c001534a506d52f0e
Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
- re-use btn-size variable
- make it clear that this set of rules is intended to sidebar elements
- Improve selector (more clear and so it doesn't target other
elements outside of the sidebar)
- Move it to jssidebar.css file
Signed-off-by: Pedro Pinto Silva <pedro.silva@collabora.com>
Change-Id: Ib03c412a1e05fd6ed315f58a70486f14eaf5b9ea