This fixes a warning when Fluent translates these buttons: previously it
was removing the content, which we don't control. The proper way is
assigning attributes instead.
This also required touching the style a bit.
Differential Revision: https://phabricator.services.mozilla.com/D127678
The profiler popup widget was using the old properties-based way of
translating its label and tooltips. Moreover the tooltips weren't
translated anymore when recording/capturing. This patch fixes this by
moving to Fluent and using Fluent to change the button's tooltips when
the state changes.
Differential Revision: https://phabricator.services.mozilla.com/D127677
Toolbox's Selection instance listens for `mutations` walkerFront event in order to detect if the selected node
was removed from the DOM tree, and in such case, emits a `detached-front` event that can be consumed by
the markup view.
But, when an iframe gets removed and EFT (or Fission for a remote iframe) is enabled we don't get the `mutations` event.
To fix this, we add a `onTargetDestroyed` method to `Selection`, that we call from the toolbox.
This fixes the browser_inspector_delete-selected-node-* tests when EFT is enabled.
Differential Revision: https://phabricator.services.mozilla.com/D127224
`waitForFrameLoad` was waiting for the `DOMContentLoaded` if the document `readyState`
wasn't "complete".
But `readyState` can be "interactive", which means `DOMContentLoaded` was already
emitted. In such case, `waitForFrameLoad` would wait forever.
This would cause blank markup view in the inspector panel if a node was selected
in an iframe and the page would be passed the "loading" `readyState`, but still
in the "interactive" phase.
The fix is simple: only wait for `DOMContentLoaded` if `readyState` is "loading".
The existing test we have for checking selecting node in iframe and reloading
is modified; we include a slow loading image in the iframe, which will make it
stay in the "interactive" state a bit longer.
Without the fix, the test was failing nicely, highlighting the issue.
Differential Revision: https://phabricator.services.mozilla.com/D127282
We take this opportunity to refactor the `_authenticate` method.
Since it's already an async function, we don't have to explicitely return
Promise objects.
Differential Revision: https://phabricator.services.mozilla.com/D127283
The top-level target walker was used to find elements, where we should use the
walker front of the nodeFront we have at hand.
The function was also checking if the node we're searching was associated with
this walker, which, with EFT, won't be the case as soon as we have to go through
an iframe.
Differential Revision: https://phabricator.services.mozilla.com/D126909
With EFT, tests using the eyedropper were failing because of the isXul check
done when the eyedropper gets hidden: the document.documentElement property
was null at this point and the isXul method was throwing.
This patch replace the isXul check with a check on the presence of an abortController
property, which we do now set in the `show` method.
Differential Revision: https://phabricator.services.mozilla.com/D126808
`isRemoteFrame` was used as a way to know if an iframe was tracked by its own target.
Since we can now have dedicated targets for every iframe, we need to check if a given
iframe is tracked by its dedicated target.
Differential Revision: https://phabricator.services.mozilla.com/D126805
This removes the componentDidCatch in the PriamryPanes Component which swallows errors
of its child components.
As we have the AppErrorBoundary Component now, all debbuger errors show bubble all the way up.
Differential Revision: https://phabricator.services.mozilla.com/D127247
The top-level target walker was used to find elements, where we should use the
walker front of the nodeFront we have at hand.
The function was also checking if the node we're searching was associated with
this walker, which, with EFT, won't be the case as soon as we have to go through
an iframe.
Differential Revision: https://phabricator.services.mozilla.com/D126909
With EFT, tests using the eyedropper were failing because of the isXul check
done when the eyedropper gets hidden: the document.documentElement property
was null at this point and the isXul method was throwing.
This patch replace the isXul check with a check on the presence of an abortController
property, which we do now set in the `show` method.
Differential Revision: https://phabricator.services.mozilla.com/D126808
`isRemoteFrame` was used as a way to know if an iframe was tracked by its own target.
Since we can now have dedicated targets for every iframe, we need to check if a given
iframe is tracked by its dedicated target.
Differential Revision: https://phabricator.services.mozilla.com/D126805