Commit Graph

3743 Commits

Author SHA1 Message Date
Henrik Skupin
3fb4ec5a5d Bug 1508726 - [marionette] Use "app.update.disabledForTesting" to disable application updates. r=ato
Until Firefox 64 the preference "app.update.auto" controlled if updates
can be downloaded and applied. This changed in Firefox 65, and now the
preference "app.update.disabledForTesting" controls it.

Depends on D13516

Differential Revision: https://phabricator.services.mozilla.com/D13517

--HG--
extra : moz-landing-system : lando
2018-12-03 09:01:38 +00:00
Henrik Skupin
ec2e5d087c Bug 1508726 - [geckodriver] Use "app.update.disabledForTesting" to disable application updates. r=ato
Until Firefox 64 the preference "app.update.auto" controlled if updates
can be downloaded and applied. This changed in Firefox 65, and now the
preference "app.update.disabledForTesting" controls it.

Depends on D13515

Differential Revision: https://phabricator.services.mozilla.com/D13516

--HG--
extra : moz-landing-system : lando
2018-12-03 15:05:36 +00:00
James Graham
3319035104 Bug 1509983 - Enable wpt android reftests on try/m-c, r=gbrown,ato
Depends on D13089

Differential Revision: https://phabricator.services.mozilla.com/D13090

--HG--
extra : moz-landing-system : lando
2018-11-30 15:31:50 +00:00
Henrik Skupin
4e4c002028 Bug 1511311 - [marionette] GeckoInstance classes should not overwrite already set custom preferences. r=automatedtester
Custom preferences as passed into both classes via the constructor
are getting set in the base GeckoInstance class. But both the
DesktopInstance and FennecInstance classes could override those
custom preferences if they have the same preference set as
required preference. As such the custom preference doesn't have
any effect.

This patch allows both classes to override required prefs with
a different value.

Differential Revision: https://phabricator.services.mozilla.com/D13522

--HG--
extra : moz-landing-system : lando
2018-11-30 13:27:22 +00:00
Henrik Skupin
bd8c60832d Bug 1510584 - [marionette] Have a better granularity between DEBUG and TRACE logging output. r=ato
The debug output is currently kinda polluted with lines of
received events and observer notifications. Those are not usually
needed by anyone beside us, but they also add little value in
having additional trace output, because that mainly would only
add the command and response messages.

To make debug output more helpful for our users the command
and response messages should appear here and not in trace.

But all the additional log output lines as mentioned above
we usually make use of for investigating problems should
be trace only.

Also a lot of existing debug output will remain unchanged.

Differential Revision: https://phabricator.services.mozilla.com/D13379

--HG--
extra : moz-landing-system : lando
2018-11-29 19:31:38 +00:00
Henrik Skupin
ce5d4c16d5 Bug 1351940 - [marionette] Only convert a valid outerWindowID to a string. r=ato
Differential Revision: https://phabricator.services.mozilla.com/D13206

--HG--
extra : moz-landing-system : lando
2018-11-28 20:48:42 +00:00
Henrik Skupin
ab56f42848 Bug 1509256 - Fix application update preferences for backward compatibility in Marionette and geckodriver. r=ato,bytesized
Because in Marionette the application updates cannot be turned off
via the preference "app.update.disabledForTesting" (see bug 1508726),
the preference "app.update.auto" has to be used for the time being
to control that by default no updates should be downloaded and
installed.

Even "app.update.disabledForTesting" doesn't work right now,
it might be good to leave it. It would help us in the future
so that we won't have to release new Marionette client and
geckodriver releases, if it gets supported in Firefox.

Note that this band-aid fix will only work for Firefox releases
from 57 to 64. For Firefox 65 and onwards the fix on
bug 1508726 will be needed.

Depends on D13059

Differential Revision: https://phabricator.services.mozilla.com/D13060

--HG--
extra : moz-landing-system : lando
2018-11-28 22:10:40 +00:00
Henrik Skupin
271aa30b73 Bug 1509256 - Clarify where to add preferences for geckodriver and Marionette. r=ato
It should be made clear that only those preferences should be added
to marionette.js which have an immediate effect. All others which
eg. require a restart, or have to be set before the application
starts the first time, must be added to the appropriate client's
profile generation code.

Differential Revision: https://phabricator.services.mozilla.com/D13059

--HG--
extra : moz-landing-system : lando
2018-11-27 20:12:04 +00:00
Henrik Skupin
16242b6d45 Bug 1504201 - "Intermittent Linux Mn testing/marionette/harness/marionette_harness/tests/unit/test_screenshot.py TestScreenCaptureChrome.test_formats | AssertionError: u'10a9988c502034662c801565ca05b9c154b933824b2f88849cab0e3e2b492da2' != '92b10dd07e1767c396f6" r=ato 2018-11-06 04:47:00 +02:00
Raphael Pierzina
b8fdb7b849 Bug 1509879 - Fix TypeError in firefox-puppeteer's TabBar.close_all_tabs(); r=davehunt
Differential Revision: https://phabricator.services.mozilla.com/D12921

--HG--
extra : moz-landing-system : lando
2018-11-26 16:50:15 +00:00
shindli
970ea1ddd4 Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-11-23 11:42:24 +02:00
shindli
20df68a5f5 Merge inbound to mozilla-central. a=merge 2018-11-23 11:38:42 +02:00
Geoff Lankow
fe3e835c8c Bug 1506523 - Adapt Marionette so it can run on Thunderbird; r=whimboo
--HG--
extra : rebase_source : 65b6677dfe8672b4972f65dcf50228a826a4ba9e
2018-11-23 10:38:19 +13:00
Henrik Skupin
5bf1594ebe Bug 1507803 - [marionette] Allow to open a chrome window via the WindowManager mixin class. r=ato
The current implemenation for opening new chrome windows via the
WindowManager mixin class is racy because it doesn't wait for the
newly opened window to have focus and being activated first.

The patch adds a new method to the WindowManager class, which is
waits for those events. It can then be used across all existent
Marionette unit tests.

Differential Revision: https://phabricator.services.mozilla.com/D12180

--HG--
extra : moz-landing-system : lando
2018-11-23 07:55:40 +00:00
Chris Pearce
16512588df Bug 1503776 - Add marionette-gpu job. r=jmaher
In order to reduce the cost of running marionette tests on a virtual machine
with a GPU, add a marionette-gpu job, and run the WebRender rollout test added
in the previous patch in this new job.

Depends on D10528

Differential Revision: https://phabricator.services.mozilla.com/D12241

--HG--
extra : moz-landing-system : lando
2018-11-22 21:36:46 +00:00
Coroiu Cristina
b27585482c Merge inbound to mozilla-central a=merge 2018-11-21 23:43:13 +02:00
Dão Gottwald
29ff9599f4 Bug 1489833 - Remove nsIWindowMediator::getZOrderDOMWindowEnumerator. r=bzbarsky
Differential Revision: https://phabricator.services.mozilla.com/D12530

--HG--
extra : moz-landing-system : lando
2018-11-21 16:56:10 +00:00
Narcis Beleuzu
355e9a39df Backed out 3 changesets (bug 1503776) for xperf failures
Backed out changeset 596f70b5d5b0 (bug 1503776)
Backed out changeset 2d2d1dfd04d4 (bug 1503776)
Backed out changeset 3eb49d9e73bb (bug 1503776)
2018-11-21 01:38:34 +02:00
Chris Pearce
5862a9afbb Bug 1503776 - Add marionette-gpu job. r=jmaher
In order to reduce the cost of running marionette tests on a virtual machine
with a GPU, add a marionette-gpu job, and run the WebRender rollout test added
in the previous patch in this new job.

Depends on D10528

Differential Revision: https://phabricator.services.mozilla.com/D12241

--HG--
extra : moz-landing-system : lando
2018-11-20 12:32:50 +00:00
Andreea Pavel
d8849bad00 Merge mozilla-central to autoland. a=merge on a CLOSED TREE 2018-11-20 07:12:30 +02:00
Hiroyuki Ikezoe
470587b47e Bug 1423709 - Add initial-scale=1 for tests supposing the page is rendered 1:1 scale. r=botond
Depends on D10195

Differential Revision: https://phabricator.services.mozilla.com/D10196

--HG--
extra : moz-landing-system : lando
2018-11-20 01:24:57 +00:00
Sebastian Hengst
cc89f3b7a2 Backed out 3 changesets (bug 1503776) for failing new MnG suite in test_pref_rollout_workaround.py. CLOSED TREE
Backed out changeset 5b6f0d586bf7 (bug 1503776)
Backed out changeset bcb35a8cb22b (bug 1503776)
Backed out changeset fb616c66a1fd (bug 1503776)
2018-11-19 23:15:33 +02:00
Chris Pearce
2149e1ec2d Bug 1503776 - Add marionette-gpu job. r=jmaher
In order to reduce the cost of running marionette tests on a virtual machine
with a GPU, add a marionette-gpu job, and run the WebRender rollout test added
in the previous patch in this new job.

Depends on D10528

Differential Revision: https://phabricator.services.mozilla.com/D12241

--HG--
extra : moz-landing-system : lando
2018-11-19 19:18:38 +00:00
Noemi Erli
b8152d4552 Backed out changeset 51abb63ca246 (bug 1507803) for frequent marionette failures 2018-11-18 04:19:09 +02:00
Henrik Skupin
4e3732636a Bug 1507803 - [marionette] Allow to open a chrome window via the WindowManager mixin class. r=ato
The current implemenation for opening new chrome windows via the
WindowManager mixin class is racy because it doesn't wait for the
newly opened window to have focus and being activated first.

The patch adds a new method to the WindowManager class, which is
waits for those events. It can then be used across all existent
Marionette unit tests.

Differential Revision: https://phabricator.services.mozilla.com/D12180

--HG--
extra : moz-landing-system : lando
2018-11-17 21:20:57 +00:00
Andreas Tolfsen
046994a7fc bug 1509033: marionette: add docs about "debugger;" statement; r=me 2018-11-21 14:20:20 +00:00
Andreas Tolfsen
d5e7a0e8bc bug 1509033: marionette: fix markdown indentation in example; r=me 2018-11-21 14:20:19 +00:00
Andrea Marchesini
c0950f9d8a Bug 1480544 - Allow Console API to log messages on stdout, r=bgrins
This patch introduces 2 new prefs:
- devtools.console.stdout.chrome: if true, console API writes on stdout when
                                  used by chrome code
- devtools.console.stdout.content: console API write on stdout when used by
                                   content code.
2018-11-15 21:47:58 +01:00
Robert Strong
ce780910f7 Bug 1506917 - Don't attempt to check for updates from Firefox's nsBrowserGlue.js when running tests. r=ted
This adds the app.update.checkInstallTime pref with a value of false in all tests that have the app.update.disabledForTesting pref except for geckodriver which is covered by bug 1508283.
2018-11-19 07:33:33 -08:00
Timothy Guan-tin Chien
2b5881e46b Bug 1503019 - Part I, Remove dom.webcomponents.shadowdom.enabled r=smaug
This patch removes the dom.webcomponents.shadowdom.enabled pref and all its
references, including the following functions:

* nsContentUtils::IsShadowDOMEnabled()
* nsIDocument::IsShadowDOMEnabled()
* nsDocument::IsShadowDOMEnabled(JSContext* aCx, JSObject* aGlobal)
* nsDocument::IsShadowDOMEnabled(const nsINode* aNode)
* nsTextNode::IsShadowDOMEnabled(JSContext* aCx, JSObject* aObject)

This function is renamed and updated to nsDocument::IsCallerChromeOrAddon():

* nsDocument::IsShadowDOMEnabledAndCallerIsChromeOrAddon(JSContext* aCx, JSObject* aObject)

I didn't change the tests that load Shadow DOM tests in an iframe, in the interest of keeping hg annotation history.

Differential Revision: https://phabricator.services.mozilla.com/D11183

--HG--
extra : moz-landing-system : lando
2018-11-15 06:51:07 +00:00
Andreea Pavel
e3299fd2db Backed out 5 changesets (bug 1498640, bug 1436037, bug 1497660, bug 1505579) for mass failures on a CLOSED TREE
Backed out changeset 914a7a899dd1 (bug 1436037)
Backed out changeset e072757bf691 (bug 1436037)
Backed out changeset b0805a8cf6eb (bug 1505579)
Backed out changeset aa32ba9e6df3 (bug 1498640)
Backed out changeset ce441b8a784c (bug 1497660)
2018-11-15 07:53:41 +02:00
Andrew Halberstadt
b03e2aa337 Bug 1436037 - [python] Create Windows python-test tasks, r=gps
The following python-test paths are being moved out of 'make check' and into their own task:
- python/mozlint
- testing/mozbase
- tools/lint

The following python-test paths previously did not run on Windows:
- python/mozterm
- testing/marionette
- testing/raptor
- tools/tryselect

MozReview-Commit-ID: C07FANaYzf7

Depends on D10758

Differential Revision: https://phabricator.services.mozilla.com/D10759

--HG--
extra : moz-landing-system : lando
2018-11-15 00:49:45 +00:00
Andreea Pavel
d51566f085 Backed out 2 changesets (bug 1503019) for failing crashtests at dom/base/crashtests/1505811.html on a CLOSED TREE
Backed out changeset 06b12fd41ff1 (bug 1503019)
Backed out changeset 7b845eac9dd7 (bug 1503019)
2018-11-15 01:52:30 +02:00
Timothy Guan-tin Chien
c0cc4f74e7 Bug 1503019 - Part I, Remove dom.webcomponents.shadowdom.enabled r=smaug
This patch removes the dom.webcomponents.shadowdom.enabled pref and all its
references, including the following functions:

* nsContentUtils::IsShadowDOMEnabled()
* nsIDocument::IsShadowDOMEnabled()
* nsDocument::IsShadowDOMEnabled(JSContext* aCx, JSObject* aGlobal)
* nsDocument::IsShadowDOMEnabled(const nsINode* aNode)
* nsTextNode::IsShadowDOMEnabled(JSContext* aCx, JSObject* aObject)

This function is renamed and updated to nsDocument::IsCallerChromeOrAddon():

* nsDocument::IsShadowDOMEnabledAndCallerIsChromeOrAddon(JSContext* aCx, JSObject* aObject)

I didn't change the tests that load Shadow DOM tests in an iframe, in the interest of keeping hg annotation history.

Differential Revision: https://phabricator.services.mozilla.com/D11183

--HG--
extra : moz-landing-system : lando
2018-11-14 19:34:52 +00:00
Gijs Kruitbosch
8987941d82 Bug 1506796 - use OpenBrowserWindow instead of window.open() to create a browser window, r=whimboo
Differential Revision: https://phabricator.services.mozilla.com/D11745

--HG--
extra : moz-landing-system : lando
2018-11-14 14:27:58 +00:00
Henrik Skupin
2612677f2e Bug 1332064 - [marionette] Re-enable test_navigation.py:test_focus_after_navigation. r=jgraham
Differential Revision: https://phabricator.services.mozilla.com/D11755

--HG--
extra : moz-landing-system : lando
2018-11-13 13:24:28 +00:00
Henrik Skupin
0a13b40b29 Bug 1506643 - [marionette] Disable "about:newtab" page, and always load "about:blank". r=ato
Differential Revision: https://phabricator.services.mozilla.com/D11691

--HG--
extra : moz-landing-system : lando
2018-11-12 19:59:45 +00:00
James Graham
9bf3c6a089 Bug 1500158 - Implement marionette support for fuzzy reftests, r=ato
This adds an extra field to the reftest comaprisons to hold the
minumum/maximum allowed differences per pixel channel and the
minumum/maximum number of pixels that may differ.

Differential Revision: https://phabricator.services.mozilla.com/D9129

--HG--
extra : moz-landing-system : lando
2018-11-08 17:04:55 +00:00
Andreas Tolfsen
4d97ed0425 bug 1492499: marionette: increase TimedPromise timeout on debug; r=whimboo
The things that rely on TimedPromise, such as awaiting a sizemodechange
event on exiting fullscreen, takes a lot longer to perform in Asan
and debug builds than in optimised builds.

This patch increases the TimedPromise timeout duration by three
times in debug builds, which is the same amount WPT uses.

Depends on D10569

Differential Revision: https://phabricator.services.mozilla.com/D11189

--HG--
extra : moz-landing-system : lando
2018-11-08 13:11:40 +00:00
Andreas Tolfsen
fdddd29e71 bug 1492499: marionette: drop broken window maximization test; r=automatedtester
This test is duplicated by WPT tests.

Depends on D10568

Differential Revision: https://phabricator.services.mozilla.com/D10569

--HG--
extra : moz-landing-system : lando
2018-11-08 13:11:38 +00:00
Andreas Tolfsen
d67daa8b34 bug 1492499: marionette: restore from maximized before setting rect; r=whimboo
On certain window manager configurations a window may be resized
to fit the full available dimensions of the screen without going
into the maximised state.  Similarily, a maximised window may be
the exact dimensions of the screen.

If the window outerWidth/outerHeight is 800x600 and in maximised
state, resizing it to 800x600 through WebDriver:SetWindowRect will
not work because the window has already reached its requested dimensions.

This patch ensures to wait for the resizeEnd event when the window
state is not normal.

Depends on D8419

Differential Revision: https://phabricator.services.mozilla.com/D10568

--HG--
extra : moz-landing-system : lando
2018-11-08 13:11:31 +00:00
Andreas Tolfsen
de7f55fcf0 bug 1492499: marionette: empty event queue on window manipulation; r=automatedtester,whimboo
This requests an animation frame off ChromeWindow and waits for
the main thread's event queue to become idle in relation to window
manipulation commands.

It additionally clears the event queue before resizing, because
this is a particularly hazardous operation.  We don't know the
exact science as to why this is needed, so it may just be that this
introduces enough latency for the operation to complete successfully.
File this under "secret sauce".

This ensures all potential synchronisation code between e.g. the
parent process and the child processes have had time to run before
we return from WebDriver:{MinimizeWindow,MaximizeWindow,FullscreenWindow}.

Depends on D8418

Differential Revision: https://phabricator.services.mozilla.com/D8419

--HG--
extra : moz-landing-system : lando
2018-11-08 13:11:28 +00:00
Andreas Tolfsen
d0917b9009 bug 1492499: marionette: wait for last event on resizing window; r=automatedtester,whimboo
My delegating to the main thread, waiting for the last DOM resize event
to fire, and requesting an animation frame from the ChromeWindow, we
can ensure the window is (more) synchronously resized.  This ensures
better reliability when setting a window's dimensions.

All this means we can get rid of the heuristics we use for "waiting
for a window resize" to occur by checking if the outerWidth/outerHeight
has changed.  These were obviously bug ridden.

Depends on D8417

Differential Revision: https://phabricator.services.mozilla.com/D8418

--HG--
extra : moz-landing-system : lando
2018-11-08 13:11:26 +00:00
Andreas Tolfsen
b85c42be2d bug 1492499: marionette: make window positioning idempotent; r=whimboo
When the ChromeWindow is already in the desired x/y position,
WebDriver:SetWindowRect should act as a no-op.  This avoids a
superfluous call to ChromeWindow.moveTo.

Depends on D8416

Differential Revision: https://phabricator.services.mozilla.com/D8417

--HG--
extra : moz-landing-system : lando
2018-11-08 13:11:24 +00:00
Andreas Tolfsen
a63546f5e2 bug 1492499: marionette: fix buggy window state comparison; r=whimboo
win.Maximized does not exist.  This should be WindowState.Maximized.

Depends on D8415

Differential Revision: https://phabricator.services.mozilla.com/D8416

--HG--
extra : moz-landing-system : lando
2018-11-08 13:11:22 +00:00
Andreas Tolfsen
4caae08c48 bug 1492499: marionette: accept sizemodechange may not always fire; r=automatedtester,whimboo
Unlike the visibilitychange event, sizemodechange appears to fire in a
mostly reliable way.  However, in the off-chance that sizemodechange
should not fire, we need an escape path so that Marionette returns
within a timely fashion.

Depends on D8414

Differential Revision: https://phabricator.services.mozilla.com/D8415

--HG--
extra : moz-landing-system : lando
2018-11-08 13:11:20 +00:00
Andreas Tolfsen
aeb2acfd24 bug 1492499: marionette: bail if visibilitychange does not fire on minimization; r=whimboo
The visibilitychange DOM event does not fire reliably in all
configurations when retrieved from web content.  It appears to fire more
reliably in chrome, but to ensure a call to WebDriver:MinimizeWindow
never hangs, we additionally change it to be a TimedPromise.

There is an assumption here that if the iconification process does
not complete within this duration, there is nothing we can do.

Depends on D8413

Differential Revision: https://phabricator.services.mozilla.com/D8414

--HG--
extra : moz-landing-system : lando
2018-11-08 13:11:18 +00:00
Andreas Tolfsen
3d84531a75 bug 1492499: marionette: poll on restoring window; r=whimboo
Instead of waiting for the visibilitychange event to fire, which does
not work in headless mode, we can poll ChromeWindow.windowState which
appears to be a more reliable way of telling the window's current state.

This will resolve the problem where Marionette never returns from
restoration due to visibilitychange never firing, and will additionally
make it more reliable.

Depends on D8412

Differential Revision: https://phabricator.services.mozilla.com/D8413

--HG--
extra : moz-landing-system : lando
2018-11-08 13:11:16 +00:00
Andreas Tolfsen
78a0a14d3d bug 1492499: marionette: add debounce sync primitive; r=automatedtester
This adds a new synchronisation primitive to Marionette which will
allow us to wait for the last in a sequence of events to fire.
This is especially useful for high-frequency events such as the DOM
resize event, where multiple resize events may fire as the window
dimensions are being changed.

Depends on D8411

Differential Revision: https://phabricator.services.mozilla.com/D8412

--HG--
extra : moz-landing-system : lando
2018-11-08 13:11:14 +00:00
Mark Striemer
1f6ce6a3f9 Bug 1504890 - Restrict usage of event global r=Standard8,ahal
The event global is only available on Nightly so it should not be used.

Differential Revision: https://phabricator.services.mozilla.com/D10984
Differential Revision: https://phabricator.services.mozilla.com/D11125

--HG--
extra : rebase_source : 43d8c198a1eb9c633922d077a219f1cf17b811c1
2018-11-06 16:35:05 -06:00