This enables writing multiple WS frames
at a time, up to the capacity (rounded
to the next full-frame's size).
Change-Id: I30d25f9ba1e405156d1e44886b2f3ac8017f0f3c
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
When writing to the socket, it's always more efficient
to fill the buffer up to the hardware limit for each
write. This is doubly important for efficiency with
SSL, due to the overhead of encrypting multiple
small buffers instead of one large one.
Currently we don't write more than one message
at a time, primarily due to limitations in
the Poco sockets in the unit-tests, which
have a hard time consuming multiple WS frames
with a single poll (subsequent calls to poll
doesn't enter signalled state until new data
arrives, possibly because the data is read and
buffered internally, making the whole scheme
of using poll unreliable and meaningless).
Change-Id: Ic2e2cf1babfb5ab4116efd93f392977ba234d92b
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
Since it's most efficent to send full blocks at
once (especially so when SSL encryption is done),
we now perform write when the buffer has fewer
than the send-buffer-size bytes. Previously,
we were only getting more data to write to the
socket when the buffer was completely empty,
potentially wasting valuable opportunity to
write more data to the socket while we're at it.
Change-Id: I69a18a042dc2e551ebc5e1af40dae091da3f3d13
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
problem:
when the text where comment was inserted is modified
it would invoke comment wizard
i.e: try to insert image between comment text
Signed-off-by: Pranam Lashkari <lpranam@collabora.com>
Change-Id: Ie9422cb5c868eac52239a3a0998246e9b98972cb
... without copying the token.
And use it in TileDesc::parse(), which is known to be a hot path.
Signed-off-by: Miklos Vajna <vmiklos@collabora.com>
Change-Id: I0dcf2eb26c93254cdc6a1c11f9708daf213a825d
And use it in TileDesc::parse(), which is known to be a hot path.
Signed-off-by: Miklos Vajna <vmiklos@collabora.com>
Change-Id: I20375d7a1c31f61662446979e4d6799fd45b49d3
In some rare cases Poco throws "Exists" exception.
It's not clear what causes it, so this should
log more of the original exception, hoping that
it would shed some light.
Change-Id: I51723f35c9e062c56608e8f7b80c9a65d3f0488f
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
The .uno:Copy command has to get executed before
we can read the clipboard. Since .uno commands
are executed asynchronously, it possible to
invoke getClipboard before having the data
copied into it, thereby failing the test.
Here we wait for the first sign that the
.uno commands have been executed, although
we can't know if they have finished or not.
This improves the test reliability significantly.
Change-Id: I7da1e4a32092c05dfb533571ea50d5edbc07f554
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
TileCacheTests now completely uses
async WebSockets. It is both more
stable and faster (by about 20-25%).
Change-Id: I6da0fd12ddf671a7ad666561249b6fb1c5d32a01
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
SocketPoll is captured as weak_ptr into
WebSocketSession and a much better shutdown
support is now available. The new logic
can do async-shutdown after flushing and
will do sync-shutdown if SocketPoll is
no longer around.
Change-Id: Ia206cab58a13f20f7aeb3a6d8c57afee731c8231
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
This is the SocketPoll used by async
WebSocket clients.
Change-Id: I2ec3c0ff9984a6a0c457fd3189a3d7833061147e
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
CppUnit creates a unique instance of the test fixture
for each test, up front. But calls the setUp and
tearDown functions only right before and after
executing a given test. By starting the poll thread
only right before each test, and destroying right
after, we reduce the number of polling threads
and avoid noise in the logs.
Change-Id: Ia089579443ef3a1aa27e79e0bb90a359db0da07b
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
We always want to have some default name so
we can log something relevant. Having
two constructors isn't very helpful,
especially because we must initialize all
members in only one initialization list
(since we call the default-ctor from the
overloaded one).
Having a single constructor with a default
parameter is one of few cases where default
parameters are justified.
Change-Id: Ia2d390be46ea7ad5486248d7ede7a7c95c4352e3
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
it seems close button is bigger than it's parent
- Avoid that
- Remove paddings
- Use background position instead
Signed-off-by: Pedro Pinto Silva <pedro.silva@collabora.com>
Change-Id: I9ff86be375be78fc27dddaf5a8d38d4c41590be9
Fix: clear the cached "entry" with old size after a drag has ended.
Signed-off-by: Dennis Francis <dennis.francis@collabora.com>
Change-Id: I73840e380dc808c5805588947d774984def288d0
When the request is to paint a specific area and pane, do just that and
avoid painting other panes. The calls to onDrawArea() are specfic to a
pane intersecting with a tile from tile-section painting.
Signed-off-by: Dennis Francis <dennis.francis@collabora.com>
Change-Id: I3f74e38fe8a1535e980f8b05ee8d6fdd98cf55f5
This can happen when a tile is visible in more than one pane. This was
not a problem before we introduced client side background and grid
rendering but now it is.
Signed-off-by: Dennis Francis <dennis.francis@collabora.com>
Change-Id: I8dd448f9d89358a71bafd4cffe431a251076a206
Had too many different border styles (parent with dashed border,
different colors used in different places, and not making use of
css vars)
- Less decorative css styles
- Decrease distinction between Styles preview and whole notebookbar
(more at home with the surroundings)
- Use shadows to differentiate states
- add vendor prefix
- add border-collapse: separate; for ie
Signed-off-by: Pedro Pinto Silva <pedro.silva@collabora.com>
Change-Id: I77188f414b7d539f8ea6631016b5def8dcf90034
CSS Var with RGB value goes inside of of `rgb()` and not the other
way around
Signed-off-by: Pedro Pinto Silva <pedro.silva@collabora.com>
Change-Id: I1401309c00d91160e757f4fdca0b00ea74763911
For calc, gridoffset must be taken into account
when calculating the center point of the shape
otherwise the coordinates will not match with
core
Signed-off-by: merttumer <mert.tumer@collabora.com>
Change-Id: Ie1003d52f233a79e5b1640c2cf7a095a7315a749