unobserve() never throws. observe() only threw on a case which should
never be reached (an already unlinked observer). We can assert and
return instead.
Differential Revision: https://phabricator.services.mozilla.com/D152769
This test introduces two new functions to test the base url functionality. In
addition, we have a new helper function: testInIframeInjectBase, which injects
a base url before the content with the import map is parsed.
The two tests test the following:
1. Static import coming after the import map and injected base element
2. Dynamic import coming after the import map and injected base element
Differential Revision: https://phabricator.services.mozilla.com/D150719
With <base> element changes the base URL to "./resources/", the baseURL
of the import map should be updated as well.
The url "log.js" in the import map will be resolved to "./resources/log.js".
Differential Revision: https://phabricator.services.mozilla.com/D150718
When using with <base> element, relative paths will also be changed.
So updating the path when calling static_import.py.
Differential Revision: https://phabricator.services.mozilla.com/D150717
There are potentially several sources for the recent netmonitor intermittent failures.
One of them is that we have several helpers to "wait" for requests, and they have a logic so that when they spot a request, they will wait for the request to be
completed.
However if a navigation occurs in the middle, the corresponding resource will be cleared and the updates will not be processed.
So here we emit a test-only event when the netmonitor attempts to clear resources, so that test helpers can update accordingly.
Differential Revision: https://phabricator.services.mozilla.com/D152726
When mCompositorWidgetDelegate is changed we need to recreate compositor and Wayland vsync. In this patch we do:
- Make mCompositorWidgetDelegate hard requirement for Wayland vsync source to avoid hidden failure.
- Stop Wayland vsync source at nsWindow::SetCompositorWidgetDelegate() when we're going to release or change mCompositorWidgetDelegate.
- Start Wayland vsync source at nsWindow::SetCompositorWidgetDelegate() when there's a new mCompositorWidgetDelegate to make sure vsync uses
recent one.
- Set new window config (XWindow, shape, widget) and resume compositor at nsWindow::SetCompositorWidgetDelegate() when new mCompositorWidgetDelegate is assigned to widget.
- As it's possible that mCompositorWidgetDelegate is missing in nsWindow::ConfigureGdkWindow() use moz_container_wayland_add_initial_draw_callback() to call mCompositorWidgetDelegate->EnableRendering() & WaylandStartVsync(). That ensures we won't silently fail to set up nsWindow for rendering.
Differential Revision: https://phabricator.services.mozilla.com/D152693
Enable composition only once when nsWindow is created and don't stop compositon until a window is destroyed.
Remove COMPOSITOR_PAUSED_MISSING_WINDOW as we don't manage compositing for hidden windows any more.
Differential Revision: https://phabricator.services.mozilla.com/D152690
nsWindow::SetCompositorWidgetDelegate() should not control compositor state as nsWindow::SetCompositorWidgetDelegate() itself is called by nsBaseWidget::CreateCompositor()/nsBaseWidget::DestroyCompositor().
In this patch we remove compositor pause/resume from nsWindow::SetCompositorWidgetDelegate() and update only GdkWindow/XWindow stored in remote widget.
Differential Revision: https://phabricator.services.mozilla.com/D152687
Test got added in bug 1780776. dFPI has been enabled in bug 1776760. dFPI for
ServiceWorkers remains restricted to Nightly, see bug 1730885.
Differential Revision: https://phabricator.services.mozilla.com/D152526
The "initial" verifications import gecko_taskgraph.transforms.job.registry.
Doing so brings in gecko.transforms.task as a depdendency, which imports
gecko_taskgraph.optimize.schema.OptimizationSchema.
Thunderbird's call to gecko_taskgraph.optimize.schema.set_optimization_schema()
needs to happen before gecko.transforms.task is loaded so that Thunderbird-
specific optimizations are registered. That happens when graph_config.register()
is called, so to fix the situation, run the "initial" verifications after
calling graph_config.register().
Differential Revision: https://phabricator.services.mozilla.com/D152446
mWebglValid gets initialized to false, but it will never get reset to true until the next
frame, causing us to render into Skia the first frame rather than accelerate. Therefor, we
should just initialize it to valid. Since it is cleared to zero initially, this is safe.
Differential Revision: https://phabricator.services.mozilla.com/D151896