According to the nit in patch2, rearrange included files by their alphabet order.
Differential Revision: https://phabricator.services.mozilla.com/D53883
--HG--
extra : moz-landing-system : lando
For media element, as the spec requires that we should know the whether it can be allowed to play when we call `media.play()` [1], which means that we should get the result before the play invocation.
Therefore, we request for the play permission when we create media element.
Differential Revision: https://phabricator.services.mozilla.com/D52438
--HG--
extra : moz-landing-system : lando
If we enabled the request asking on GV, then we would have a different way to check if the media is allowed to play or not.
Differential Revision: https://phabricator.services.mozilla.com/D52794
--HG--
extra : moz-landing-system : lando
If we don't enable blocking web audio, then we have no need to check other conditions, so we should check that earlier.
Differential Revision: https://phabricator.services.mozilla.com/D53878
--HG--
extra : moz-landing-system : lando
Move helper functions out from `AutoplayPolicy`, makes us clearly know which one could really be used to determine the blocking autoplay result. It also give other classes an ability to use those helper functions if they have a need.
Differential Revision: https://phabricator.services.mozilla.com/D52432
--HG--
extra : moz-landing-system : lando
`media.geckoview.autoplay.request` is used to control whether we send the play request.
`media.geckoview.autoplay.request.testing` is used to control the request result in testing.
Differential Revision: https://phabricator.services.mozilla.com/D52605
--HG--
extra : moz-landing-system : lando
When we insert the new document to the window in the top-level browsing context, we should reset the status of the request which is used for the previous document.
Differential Revision: https://phabricator.services.mozilla.com/D52435
--HG--
extra : moz-landing-system : lando
`GVAutoplayPermissionRequestor` provides a method to request autoplay permission for a page, which would be used to decide if media is allowed to autoplay or not on GeckoView.
Differential Revision: https://phabricator.services.mozilla.com/D52434
--HG--
extra : moz-landing-system : lando
If the page has already had same type pending request, then we don't want to send another request. If the page has already got the response from the request, we also don't want to send another request again.
In order to achieve that, we decide to store the request's staus on the top-browsing context to make sure that all media elements in the same browsing context tree can share the same status. Thereforw, we could avoid sending redudant request when there is a pending request, and reuse the previous request's result.
Differential Revision: https://phabricator.services.mozilla.com/D52431
--HG--
extra : moz-landing-system : lando
As we added new files, which affects the build bundle created by unified build. Therefore, add missing scope definition and included header to pass the build.
Differential Revision: https://phabricator.services.mozilla.com/D52430
--HG--
extra : moz-landing-system : lando
Implement `GVAutoplayPermissionRequest`, that is used to provide an ability for GeckoView (GV) to allow its embedder (application) to decide whether the autoplay media should be allowed or denied on the page.
We have two types of request, one for audible media, another one for inaudible media. Each page would at most have one request per type at a time, and the result of request would be effective on that page until the page gets reloaded or closed.
Differential Revision: https://phabricator.services.mozilla.com/D52428
--HG--
extra : moz-landing-system : lando
Changes:
Remove `environment` from the python3 blacklist.
Remove the option to specify `configure` for the formatting argument, since it has never been supported (the method has never been implemented).
Differential Revision: https://phabricator.services.mozilla.com/D54395
--HG--
extra : moz-landing-system : lando
This happens very frequently in rr runs, and may explain some
intermittents we've seen in automation.
Differential Revision: https://phabricator.services.mozilla.com/D54520
--HG--
extra : moz-landing-system : lando
Not having a responseHead or browsingContext should not cause a crash or exception
In xpcshell-tests we don't really have a browsingContext, so we want to make
sure we don't crash when that happens.
If the channel failed, we may not have a response head. In that case we don't
want the call to ComputeCrossOriginOpenerPolicyMismatch to be what throws
an exception.
Differential Revision: https://phabricator.services.mozilla.com/D54408
--HG--
extra : moz-landing-system : lando
Do not dispatch SELECT_ALL selection action if the input is empty or all the text is already selected.
Differential Revision: https://phabricator.services.mozilla.com/D53828
--HG--
extra : moz-landing-system : lando
After enabling the perf for SAB by default on Nightly, some jsreftests fail.
And they all have log like:
tests/test262/shell.js:492: Error: Agents not available item 1
It seems that there are some issues on test262 shell, so the plan of this patch
is to disable these tests and open another follow-up ticket to re-enable them.
So that we could check the impact of enable the perf for SAB without enabling
the functionality of being postMessage'ed on Nightly users.
Differential Revision: https://phabricator.services.mozilla.com/D53966
--HG--
extra : moz-landing-system : lando
This patch mainly enables the pref for SharedArrayBuffer on Nightly.
This change causes some tests to fail. This patch handles the failures for
mochitests and web-platform-tests. The jsreftest will be handled in the next
patch.
For mochitests:
- dom/serviceworkers/test/test_serviceworker_interfaces.js
- dom/tests/mochitest/general/test_interfaces.js
- dom/workers/test/test_worker_interfaces.js
These tests check which interfaces are exposed on the web. Since we are now
exposing SharedArrayBuffer in some configurations, the tests need to be adjusted
accordingly.
For the rest of tests in this patch:
- testing/web-platform/meta/encoding/encodeInto.any.js.ini
This test partially fails because the integration of encoding and SAB is not
completely supported yet.
- testing/web-platform/meta/encoding/streams/decode-utf8.any.js.ini
This test partially fails because the integration of decoding and SAB is not
completely supported yet.
- testing/web-platform/meta/html/webappapis/scripting/processing-model-2/integration-with-the-javascript-agent-formalism/requires-failure.https.any.js.ini
- testing/web-platform/meta/html/webappapis/scripting/processing-model-2/integration-with-the-javascript-agent-formalism/requires-success.any.js.ini
- testing/web-platform/meta/wasm/jsapi/memory/constructor.any.js.ini
- testing/web-platform/meta/wasm/jsapi/memory/grow.any.js.ini
The subtests related to SAB in these tests now pass when SAB is enabled, so we
need to annotate them as failing only in configurations where SAB is disabled.
- testing/web-platform/meta/webaudio/the-audio-api/the-audiobuffer-interface/audiobuffer-copy-channel.html.ini
This test partially fails because there are some issues between SAB and Audio.
Differential Revision: https://phabricator.services.mozilla.com/D48838
--HG--
extra : moz-landing-system : lando
Removes calls to the win32k API.
Replaces hardware and event timers with waitable timers.
Removes handling various task objects through the thread message queue.
Removes ProcessQueuedMessages, CancelTimers functions.
Adds event handle for stopping the TaskQueue thread.
Adds ReplyHandler class as an in between for TaskQueue objects to post tasks to each other without worrying if the other TaskQueue remains valid.
Adds rtc::CriticalSection's for timer_tasks_.
Removes ThreadState scoped class.
Differential Revision: https://phabricator.services.mozilla.com/D43480
--HG--
extra : moz-landing-system : lando
This event is currently sent for each and every message,
and as such duplicates every log entry as displayed when
having the Puppeteer debug logs turned on.
Until we can fix it to behave correctly, it should be
disabled.
Differential Revision: https://phabricator.services.mozilla.com/D54273
--HG--
extra : moz-landing-system : lando
For now, there is no flag to actually allow it, but this is the
code-side changes to allow the linker being disabled.
Differential Revision: https://phabricator.services.mozilla.com/D54074
--HG--
extra : moz-landing-system : lando