With the negative margin, some context menus that remain open start
getting events that would otherwise go to the content underneath
(and which the affected tests need to pass).
Close the context menus explicitly in the affected tests (this is
what would usually happen if a user clicked a context menu item
anyways).
Differential Revision: https://phabricator.services.mozilla.com/D129867
The changes in bug 1468476 dropped the requirement to re-validate subdocuments
but only in Nightly (controlled by the preference
browser.soft_reload.only_force_validate_top_level_document. Outside Nightly the
expected header "max-age=0" has to be kept.
Differential Revision: https://phabricator.services.mozilla.com/D129978
Currently, soft reload uses the `VALIDATE_ALWAYS` flag to not only
force revalidate the top level document, but also subresources.
This causes content to be refetched from the web even if there
are caches that are still valid and can be used.
Chrome already has such behaviour to not revalidate all resources.
Differential Revision: https://phabricator.services.mozilla.com/D122270
This is one step forward removing target attach sequence on the client side.
So that we can notify about target front immediately from TargetCommand.
I had to tweak TargetMixin destroy to avoid failures in browser_dbg_listtabs-01.js
a call to targetFront.reconfigure was never resolving, because the target destroy
was stuck on this call to detach().
We were trying to call detach() while the descriptor was destroyed (from a server side notification).
The target being a child of descriptor it ends up destroy itself, but the request is meant to fail.
Depends on D118585
Differential Revision: https://phabricator.services.mozilla.com/D118586
This is two reason for leaking the globals:
* The JIT/CachedIR that are introduced by trackingAllocationSites=true
and can be fixed by calling minimizeMemoryUsage to purge CachedIR objects.
* The Debugger::allocationsLog which relates to Debugger.Memory.drainAllocationLog
and can be fixed by calling drainAllocationLog to clear allocationsLog.
We also have to be careful about disable allocation site recording while doing the GCs.
On start and on stop.
Both were keeping strong references to the globals.
In this patch, I'm also extending the coverage of the AllocationTracker
to better assert what precise leaks are reported.
Differential Revision: https://phabricator.services.mozilla.com/D127777
This patch sort of reverts to what existed before Bug 1731996, except
that we still handle hovering on iframe padding.
The "refactoring" that was done in Bug 1731996 made the Browser Toolbox nodePicker
misbehaving.
Unfortunately, it's hard to have a test for the Browser Toolbox nodePicker, as
when we use `BrowserTestUtils.synthesizeMouse` we explicitely pass the window
we want the event to happen in so we don't hit any of the propagation stopper
that might occur when using it manually.
Depends on D127224
Differential Revision: https://phabricator.services.mozilla.com/D127540
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
This intermediate actor is no longer useful for a while.
(Since we dropped the LocalTabProxy. I think since we introduced the TabDescriptor?)
I updated actor-hierarchy.md significantly as it was quite outdated!
We would probably benefit having a section dedicated to the WatcherActor.
Differential Revision: https://phabricator.services.mozilla.com/D126373
This is similar to bug 1728815, but now the toolbox itself is being destroyed and clears commands.
But we can also check if the related target is destroyed.
Differential Revision: https://phabricator.services.mozilla.com/D126055
Depends on D125939
The custom drag:start and drag:end events are the main implementation difference I found between debugger's splitbox and the shared splitbox.
However I didn't find any usage for the classname it was setting, so I propose to remove it.
I tried to extensively use the splitters and didn't spot any issue.
Differential Revision: https://phabricator.services.mozilla.com/D125940
We still do leak Toolbox/Inspector and some Documents.
Unmounting the React components and nullifying references to them
seems to allow clearing a few React component instances.
We weren't unmounting the splitBox/toolsidebar, nor destroying ruleViewSideBar instance.
Differential Revision: https://phabricator.services.mozilla.com/D125536
Currently, we do leak the Toolbox/Inspector and some Documents when
closing the toolbox.
So that these classes are kept in memory, while not nullifying all its references
to client classes.
By adding these few nullications we can at least avoid leaking the fronts and commands.
(also fix a failure due to null markup.walker in browser_rules_add-rule-with-menu.js)
Differential Revision: https://phabricator.services.mozilla.com/D125535