Setup RDM tooltip to not consume clicks and allow users to interact with the RDM on first try. The behavior of consuming clicks led at least one user to believe RDM could not be closed and filed a bug. Likely others encountered the same (small) road block when trying other actions.
Differential Revision: https://phabricator.services.mozilla.com/D15943
--HG--
extra : moz-landing-system : lando
Turns out we also produced an error instead of a warnings.
Good that we added those test \o/
Differential Revision: https://phabricator.services.mozilla.com/D15659
--HG--
extra : moz-landing-system : lando
This patch introduces a new component, ConfirmDialog, that will
be rendered on screen when the autocomplete service indicates
that there's an unsafe getter in the completion path.
The component is rendered in the toolbox document, like the
autocomplete popup. In order to still write it in React, it uses
a React portal, which allow to render an element outside of the
React component tree.
Tests are added to make sure the dialog works as expected.
Differential Revision: https://phabricator.services.mozilla.com/D12943
--HG--
extra : moz-landing-system : lando
While trying to implement the invoke getter from
autocomplete popup, it became clear to me that the
initial implementation in js-property-provider wasn't
good enough, as we need to keep track of all the
authorizations the user gave when working on a given
expression.
In order to handle this, JsPropertyProvider now
returns an array of strings representing the path
to the unsafe getter when no matching authorizations
are provided.
If authorizations are provided, we can check for each
properties that the user authorized the execution.
This way, we can handle deep object access after a getter
(e.g. `x.myGetter.foo.bar.baz.entries`) without asking
the user if they want to invoke `myGetter` on each
step of the completion.
This makes handling intermediary getters (e.g.
`x.myGetter.foo.myOtherGetter.bar`) way easier as well.
In the UI, the user will be prompted to invoke the getter one
after the other (if for example they try to complete a pasted
expression which contains multiple getters, they will have
prompts for `myGetter`, and then for `myOtherGetter`).
We wire-up the webconsole client and the webconsole actor for
the autocomplete function, to make them ready for frontend
use.
The existing JsPropertyProvider getters test are updated to
match the change of parameter (invokeGetter -> authorizedEvaluations),
and some tests are added to make sure everything work as intended.
Differential Revision: https://phabricator.services.mozilla.com/D12940
--HG--
extra : moz-landing-system : lando
Depends on D15466
Removed one of the test methods from the original test as I couldn't see the added value
Differential Revision: https://phabricator.services.mozilla.com/D15467
--HG--
extra : moz-landing-system : lando
Using head-*.js as the name of a test helper makes it automagically visible from all
tests in the suite thanks to the import-headjs-globals.js plugin.
Renaming them to helper-*.js forces to explicitly import them and get linting errors
if we forgot to do so.
All helpers have been consistently renamed to helper-*.js. One method from the
collapsibilities helper has been moved to the main head.js, because it doesn't
have any relation with collapsing target panes.
All ADB tests also now check that ADB is not running before starting. I tried forcing
ADB to stop in this case, but we can't kill it from the tests apparently, so the only
option is for the user to manually kill the process. At least now we get a somewhat
helpful error message, and no timeout.
Differential Revision: https://phabricator.services.mozilla.com/D15465
--HG--
rename : devtools/client/aboutdebugging-new/test/browser/head-addons-script.js => devtools/client/aboutdebugging-new/test/browser/helper-addons.js
rename : devtools/client/aboutdebugging-new/test/browser/debug-target-pane_collapsibilities_head.js => devtools/client/aboutdebugging-new/test/browser/helper-collapsibilities.js
rename : devtools/client/aboutdebugging-new/test/browser/head-mocks.js => devtools/client/aboutdebugging-new/test/browser/helper-mocks.js
rename : devtools/client/aboutdebugging-new/test/browser/head-serviceworker.js => devtools/client/aboutdebugging-new/test/browser/helper-serviceworker.js
rename : devtools/client/aboutdebugging-new/test/browser/mocks/head-client-wrapper-mock.js => devtools/client/aboutdebugging-new/test/browser/mocks/helper-client-wrapper-mock.js
rename : devtools/client/aboutdebugging-new/test/browser/mocks/head-runtime-client-factory-mock.js => devtools/client/aboutdebugging-new/test/browser/mocks/helper-runtime-client-factory-mock.js
rename : devtools/client/aboutdebugging-new/test/browser/mocks/head-usb-runtimes-mock.js => devtools/client/aboutdebugging-new/test/browser/mocks/helper-usb-runtimes-mock.js
extra : moz-landing-system : lando
When provided a string, number or array literals, we use to
simply return the properties from String.prototype, Number.prototype
and Array.prototype.
This is working fine unless the content prototypes are modified.
In order to make it work properly, we retrieve the actual content
prototype.
The js-property-provider unit test is modified to ensure this is
working as expected.
Differential Revision: https://phabricator.services.mozilla.com/D15843
--HG--
extra : moz-landing-system : lando
We made the profiler buffer resizable before that patch but then we decided that
it's not a good idea to do since we are spending so much time to allocate memory.
Since buffer size is constant, we don't need to add "max" anymore.
Differential Revision: https://phabricator.services.mozilla.com/D15656
--HG--
extra : moz-landing-system : lando
This converts the tabmodalprompt binding to a class, to be constructed along side with the element
by TabModalPromptBox.
TabModalPromptBox will keep the instances in a map and pass it to the callers, instead of the element.
The tests and callers can access the class instance by passing the element reference to the map.
Differential Revision: https://phabricator.services.mozilla.com/D15505
--HG--
rename : toolkit/components/prompts/content/tabprompts.xml => toolkit/components/prompts/content/tabprompts.jsm
extra : moz-landing-system : lando
It was enabled by default in bug 1041833 (for desktops) and
bug 1087562 (for Fennect).
Depends on D15706
Differential Revision: https://phabricator.services.mozilla.com/D15707
--HG--
extra : moz-landing-system : lando