Recomputing the placeholder visibility does not require the placeholder div
itself to be present, as the only information required for that is the current
value of the text control which is present either way. This patch fixes
nsTextEditorState::ValueWasChanged and nsTextEditorState::UpdatePlaceholderVisibility
to that effect.
But the real fix is in nsTextEditorState::UpdatePlaceholderText, where after
setting the placeholder text on the anonymous div, we redo the placeholder
visibility computation. Since this function can be called from
HTMLTextAreaElement::CreatePlaceholderNode during frame construction, the
GetValue function may return the wrong value since the editor has not properly
been set up yet, resulting in this bug. And this function call is useless
anyway, because changing the placeholder text does not really affect the
result of the visibility computation, so there is no need to do this work
in the first place.
Use the sample rate passed to the OfflineAudioContext constructor in
MediaStreamGraph::CreateOfflineInstance, and pass the preferred mixer sample
rate to the (real time) MediaStreamGraph constructor.
Then, always use this sample rate for the lifetime of the graph.
This patch needed to pass the sample rate to the AudioMixer class to avoid
relying on globals like it was done before.
--HG--
extra : rebase_source : 2802208819887605fe26a7040998fc328b3c9a57
Update YuvStamper utility. Add a CRC32 to the encoded
payload and have the decode method us this to verify reception.
Wrap encoded values across multiple lines in the frame buffer
when necessary. Use YuvStamper to encode a timestamp in each fake video frame.
Extract the value in VideoConduit to calculate the video latency
and add this to a running average latency when enabled via config.
This ensures a test can make such a request, receive the event that the
load has been suspended, and cancel the request, all before the load has
completed.
--HG--
extra : rebase_source : c7ea934a1745004872d8529bb99241e2e376759c
If nsTextEditorState::SetValue is allowed to rebuild the editor DOM even when
the new value is the same as the old value, then during PrepareEditor we can
remove the content that's the current target of the event triggering the
PrepareEditor, which prevents important code from running such as the code that
focuses the text input. Normally this isn't a problem but
nsTextEditorState::SetValue's code for getting the current value is broken
for password controls when !mEditorInitialized. So we remove that broken code
path.
We have to make sure that the password text, if any, is set on the edit-rules
during their initialization so the regular path for getting the current
value returns the right thing.
--HG--
extra : rebase_source : 81a01a957b4b1e0cf868505a1b23c9110a2f4b3a
Update YuvStamper utility. Add a CRC32 to the encoded
payload and have the decode method us this to verify reception.
Wrap encoded values across multiple lines in the frame buffer
when necessary. Use YuvStamper to encode a timestamp in each fake video frame.
Extract the value in VideoConduit to calculate the video latency
and add this to a running average latency when enabled via config.