Граф коммитов

8 Коммитов

Автор SHA1 Сообщение Дата
Bob Owen 261ddce4a8 Bug 1630521: Allow CanvasDrawEventRecorder to control surface destruction recording, so it can be done on the main thread. r=jrmuizel
The recording by CanvasDrawEventRecorder into the ring buffer is not thread-safe
and so must all occur on the same (main) thread.
In addition to that it sometimes needs to send IPC messages via the PCanvas
protocol, which also can only be done on the main thread.

Differential Revision: https://phabricator.services.mozilla.com/D71174
2020-04-16 17:13:16 +00:00
Bob Owen c640645fb9 Bug 1618868 Part 3: Fix failure test race in CanvasEventRingBuffer::ReturnRead. r=jrmuizel
This also adds checks for the other side closing during the ReturnRead and
ReturnWrite loops.

Depends on D70336

Differential Revision: https://phabricator.services.mozilla.com/D70337

--HG--
extra : moz-landing-system : lando
2020-04-14 17:53:15 +00:00
Bob Owen 8a7ad0fa72 Bug 1614635: Keep waiting on the remote canvas writer side while the reader hasn't closed. r=jrmuizel
It seems clear that we can get long delays waiting for Direct2D to process
things on occasion. So given that we now detect when the reader has closed,
instead of guessing at a suitably long timeout, waiting indefintely while it
hasn't closed seems like a better option.
This gives a similar behaviour to when this is just running in the content
process, because that just has to wait on any long running Direct2D calls.

Differential Revision: https://phabricator.services.mozilla.com/D62464

--HG--
extra : moz-landing-system : lando
2020-02-24 10:53:48 +00:00
Bob Owen d8b69b9e00 Bug 1558117 Part 2: Check if other side is closed while state is AboutToWait. r=jrmuizel
If the other side crashed with AboutToWait set in CanvasEventRingBuffer then in
theory we could spin forever waiting for it to change.

Differential Revision: https://phabricator.services.mozilla.com/D61828

--HG--
extra : moz-landing-system : lando
2020-02-24 10:53:43 +00:00
Bob Owen d8ee8af896 Bug 1598585 Part 2: Make playback of Moz2D recorded events more robust. r=jrmuizel
This is generally around object creation failures and their subsequent lookup,
which can happen, for example, during device reset.

Differential Revision: https://phabricator.services.mozilla.com/D60888

--HG--
extra : moz-landing-system : lando
2020-02-24 10:49:36 +00:00
Bob Owen 7f134b8750 Bug 1585073: In CanvasEventRingBuffer, check stream is good before waiting for space or data. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D51116

--HG--
extra : moz-landing-system : lando
2019-10-31 13:44:32 +00:00
Bob Owen 93ee1fe784 Bug 1548492: Change remote canvas timeouts to check if other side is still open. r=jrmuizel
This also fixes the CanvasParent destruction on channel close and error,
which was broken due to IPDL changes between rebases.

Differential Revision: https://phabricator.services.mozilla.com/D37088

--HG--
extra : moz-landing-system : lando
2019-07-22 13:12:07 +00:00
Bob Owen 8f860de188 Bug 1464032 Part 8: Add a CanvasEventRingBuffer and CanvasDrawEventRecorder. r=Gankro
These are to be used as part of recording canvas drawing in the content
processes and playing it back in the GPU process through shared memory.
2018-12-02 14:14:43 +00:00