There's no reason to add OS-specific margins instead of the ones
specified by the user when generating PDFs, so set these to zero.
Differential Revision: https://phabricator.services.mozilla.com/D63528
--HG--
extra : moz-landing-system : lando
test_alert_unsupported_operation relied on the user prompt handler
in the subsequent test to close the basic auth dialogue, which only
incidentally worked because the next WebDriver command was one that
invoked it.
We should dismiss the dialogue and return control to the user when
Marionette encounters an unsupported dialogue type.
Differential Revision: https://phabricator.services.mozilla.com/D55387
--HG--
extra : moz-landing-system : lando
Formerly this assertion for Firefox was added because it didn't work for Fennec,
and other mobile apps. Meanwhile we shouldn't have this hard restriction anymore,
given that no exception is thrown by the code when running with GeckoView based
app, and also the Thunderbird support would benefit from it.
As we know this method doesn't quit the GeckoView app, and geckodriver itself
has to ensure to gracefully/force stop the process on Android.
Differential Revision: https://phabricator.services.mozilla.com/D39811
--HG--
extra : moz-landing-system : lando
To allow Marionette to capture the content of OOP iframes, the
new Fission compatible screenshot API has to be used.
For callers requesting a read-back of the pixel data as
currently in the compositor/window, the 'drawWindow()'
method still has to be called.
Differential Revision: https://phabricator.services.mozilla.com/D40654
--HG--
extra : moz-landing-system : lando
This moves all the screenshot related code from the framescript to
the parent process, so that canvas.js is no longer called from
within a content process.
The remaining code in the framescript is only needed to compute
the dimensions of the screenshot, and from all the to highlight
elements.
This move is necessary to allow switching to the new drawSnapshot
API which only works from within the parent process.
Differential Revision: https://phabricator.services.mozilla.com/D40209
--HG--
extra : moz-landing-system : lando
The feature was used in the past to highlight broken elements for l10n
specific tests. Given that those tests don't exist anymore (for already
a long time) the highlight feature doesn't have to be kept alive.
Also it isn't covered by the WebDriver spec, and as such a custom feature
which is not worth keeping its code working. Especially with the Fission
work upcoming.
Differential Revision: https://phabricator.services.mozilla.com/D42823
--HG--
extra : moz-landing-system : lando
The patch makes the code for handling screenshots in the driver and
listener module easier to understand. Also it sets the default values
for optional arguments once, which doesn't require duplicated code
for the listener anymore.
Further there was a bug which treated the "full" parameter with a
higher priority as an element, if both are defined.
Differential Revision: https://phabricator.services.mozilla.com/D40818
--HG--
extra : moz-landing-system : lando
With this patch Marionette registers globally for the dialog notifications
and events while a session is active. Also it provides an interface for
custom dialog handlers to hook in.
Instead of the callbacks custom events could have been fired, but that would
be some more work, and should preferable be done in a follow-up bug.
Differential Revision: https://phabricator.services.mozilla.com/D34139
--HG--
extra : moz-landing-system : lando
Selecting a different tab is asynchronous, and as such Marionette has
to wait for the "TabSelect" event to be emitted. Further the chrome
window also needs to be focused.
Depends on D33689
Differential Revision: https://phabricator.services.mozilla.com/D33690
--HG--
extra : moz-landing-system : lando
Workaround until we have a sane dynamic user prompt implementation
(see bug 1477977). At least for now this patch will give us the
opportunity to handle multiple open user prompts.
Differential Revision: https://phabricator.services.mozilla.com/D32666
--HG--
extra : moz-landing-system : lando
This lays the foundation for Marionette to work inside
GeckoView-consuming Apps.
Differential Revision: https://phabricator.services.mozilla.com/D17578
--HG--
extra : moz-landing-system : lando
***
Bug 1514594: Part 3a - Change ChromeUtils.import to return an exports object; not pollute global. r=mccr8
This changes the behavior of ChromeUtils.import() to return an exports object,
rather than a module global, in all cases except when `null` is passed as a
second argument, and changes the default behavior not to pollute the global
scope with the module's exports. Thus, the following code written for the old
model:
ChromeUtils.import("resource://gre/modules/Services.jsm");
is approximately the same as the following, in the new model:
var {Services} = ChromeUtils.import("resource://gre/modules/Services.jsm");
Since the two behaviors are mutually incompatible, this patch will land with a
scripted rewrite to update all existing callers to use the new model rather
than the old.
***
Bug 1514594: Part 3b - Mass rewrite all JS code to use the new ChromeUtils.import API. rs=Gijs
This was done using the followng script:
https://bitbucket.org/kmaglione/m-c-rewrites/src/tip/processors/cu-import-exports.jsm
***
Bug 1514594: Part 3c - Update ESLint plugin for ChromeUtils.import API changes. r=Standard8
Differential Revision: https://phabricator.services.mozilla.com/D16747
***
Bug 1514594: Part 3d - Remove/fix hundreds of duplicate imports from sync tests. r=Gijs
Differential Revision: https://phabricator.services.mozilla.com/D16748
***
Bug 1514594: Part 3e - Remove no-op ChromeUtils.import() calls. r=Gijs
Differential Revision: https://phabricator.services.mozilla.com/D16749
***
Bug 1514594: Part 3f.1 - Cleanup various test corner cases after mass rewrite. r=Gijs
***
Bug 1514594: Part 3f.2 - Cleanup various non-test corner cases after mass rewrite. r=Gijs
Differential Revision: https://phabricator.services.mozilla.com/D16750
--HG--
extra : rebase_source : 359574ee3064c90f33bf36c2ebe3159a24cc8895
extra : histedit_source : b93c8f42808b1599f9122d7842d2c0b3e656a594%2C64a3a4e3359dc889e2ab2b49461bab9e27fc10a7
The window should always be restored first to the normal window state,
before a special state like fullscreen or minimized can be entered.
Right now this isn't done when going from a maximized window into
fullscreen mode, or when minimizing the window.
Differential Revision: https://phabricator.services.mozilla.com/D17472
--HG--
extra : moz-landing-system : lando
Marionette should do its best to get the browser into the requested
window state, but if it is not possible to do so, it shouldn't raise
a timeout error. This is mostly the case when running tests under
xvfb with no window manager running. Instead we just log the
message for further investigation.
Further the timeout value has to be set to a value which wouldn't
cause the commands to inappropriately fail due to animations, or
a slow machine.
Differential Revision: https://phabricator.services.mozilla.com/D17144
--HG--
extra : moz-landing-system : lando
To detect when the window got minimized usally "visibilitychange" events
are fired to the content window. The "WebDriver:MinimizeWindow" command
has to wait for those.
Depends on D16096
Differential Revision: https://phabricator.services.mozilla.com/D16098
--HG--
extra : moz-landing-system : lando
By default PollPromise has to behave similar to a normal Promise
and wait forever until it gets resolved or rejected.
Depends on D13662
Differential Revision: https://phabricator.services.mozilla.com/D15907
--HG--
extra : moz-landing-system : lando
By default PollPromise has to behave similar to a normal Promise
and wait forever until it gets resolved or rejected.
Depends on D13662
Differential Revision: https://phabricator.services.mozilla.com/D15907
--HG--
extra : moz-landing-system : lando