We should follow the real use cases to synthesize mouse or touch events to generate pointer events so that the related logic is covered by these test cases.
MozReview-Commit-ID: 9xSgjSL0Azt
This function makes it possible to listen for multiple events from the
content process, even when there are frameloader swaps.
This commit also adds a checkFn param to firstBrowserLoaded, which is
useful.
MozReview-Commit-ID: 93ItHIPSGVU
The test intentionally uses async_test to avoid browser's awkward micro task
handling.
MozReview-Commit-ID: K5WzEML7D5M
--HG--
extra : rebase_source : 67d35539e4c3654aca4d2016e6d3b5cb3221c02f
This removes the last remenants of frame.Manager and
testing/marionette/frame.js from Marionette. The preceding commits
in this changeset has gradually removed the unused and duplicated
features that it implemented. The only remaining pieces are the
registrating of some chrome-side IPC message handlers which we can
leave attached for the duration of the Marionette session.
MozReview-Commit-ID: EYjrJBeTybz
--HG--
extra : rebase_source : cf8b2d04c05d22eea6fe24061ccb9b21680f0d3c
This removes the Marionette:emitTouchEvent IPC message which is
currently not in use by any tests. Along with removing this message
listener we can get rid of a tonne of complicated infrastructure
in testing/marionette/frame.js.
On switching the content frame we no longer await frame scripts to
register themselves because they implicitly inherit the parent's
frame script in Firefox/Fennec. This was a relic from the B2G days
when each frame was OOP.
MozReview-Commit-ID: 5vxrWHjzd68
--HG--
extra : rebase_source : 544013f42c9ee9eebb119b8d98061d997c7a10f0
It turns out that we no longer need to guard against the browser/frame
closing when using the legacy actions module. This means we can
get rid of GeckoDriver#addFrameCloseListener, which again populates
mozBrowserClose and adds handlers for the related mozbrowserclose event.
The mozbrowsercloseevent was set for every case of Marionette:ok,
Marionette:done, and Marionette:error IPC messages. These events
are still in use in testing/marionette/proxy.js, but with this
patch we stop listening for these events in testing/marionette/driver.js.
MozReview-Commit-ID: jp34kh7nqD
--HG--
extra : rebase_source : b9551972717c9c399806b7c7e1e2a1adc99593c5
The IPC message "aliveCheck" will always fail because there is no such
message handler in Marionette and because it swallows all thrown errors.
MozReview-Commit-ID: JISuK65ZcGM
--HG--
extra : rebase_source : e4ccbb96727a67ce11f31463a08f66768bd23589
The MarionetteFrame:getCurrentFrameId IPC message was used for B2G
applications that needed access to chrome-scoped APIs for emitting
touch events. Now that actions happen either in chrome _or_ in
content this is no longer necessary functionality to maintain.
MozReview-Commit-ID: Bk9LRAOxjAw
--HG--
extra : rebase_source : 71dac090db681a24dc5ebb54fdf1cf02a97563b0
MarionetteFrame:getInterruptedState was used in B2G to abortence
if the OOP frame got interrupted by a modal dialogue. Like the
MarionetteFrame:handleModal IPC message, the frame script needed
chrome assistance for querying the presence of this dialogue.
Today modal dialogues (known as "user prompts") are handled entirely
in chrome space, and the presence of such a dialogue is indeed
meant to pause script execution in the web document.
This patch makes some rather questionable changes to the legacyaction
module, but this is alright because we don't expect any more tests to
be written using it. This patch just about makes sure the remaining
body of tests keeps passing.
MozReview-Commit-ID: 72g0GlYy21T
--HG--
extra : rebase_source : f44ed5999554a42c67827d6935bd96cc79a8e5dd
The MarionetteFrame:handleModal IPC message is not used in listener.js,
and it is no longer a requirement that this is done through a call
from the content frame script.
MozReview-Commit-ID: Bn40b1VT7Da
--HG--
extra : rebase_source : 9def3f7faa5f860622259bd85982e1072b436be0
The Marionette:shareData IPC message was used by the simpletest
harness to share test logs with the main process. This is no longer
a requirement.
MozReview-Commit-ID: 4nn7FefCdJ8
--HG--
extra : rebase_source : 44d8334c4a116d7056ee7a938fdf900e350d73f2
We used to transport log messages to the main process for logging.
This is no longer required and the IPC message has not been in use
for some time.
MozReview-Commit-ID: F5thqDOJADd
--HG--
extra : rebase_source : b1ba930cc870655398f7024213c77cb6b93113c9
In B2G, when a frame was interrupted by a modal dialogue, the
Marionette:switchToModalOrigin IPC message allowed you to switch
back to the frame that was interrupted. It got called by the
interrupted frame once the dialogue got dismissed and the frame
resumed its process. This functionality is no longer requried.
MozReview-Commit-ID: DtCOzeW45qP
--HG--
extra : rebase_source : 46ed3841abc53e0369246625d16839e9b2576d39
Also remove related code that was only used from here including
stuff related to marketplace purchases, etc.
MozReview-Commit-ID: ESX78tVQK7M
--HG--
extra : rebase_source : 56d956168f75cdc40fd3df057e41493f80733352
These magic locations evolve over time. Baking them into
moz.configure is the easiest way to share them across the build
system, and pushing them into a new |mach android *| command continues
a pattern that has been very successful.
MozReview-Commit-ID: CyxVQ0LHHgl
--HG--
extra : rebase_source : 8350d71665f0126aa4ee2c8fec32c4b8e34dc772
We've had good success with |mach android *| for invoking test suites
and other Gradle-related features; this was just an oversight. The
real advantage is that almost all of the magic Gradle targets are now
in mobile/android/mach_commands.py and not scattered throughout the
tree. That'll make it easier to move the actual Gradle configuration
choices forward in the future.
MozReview-Commit-ID: GI1pUHHfXeO
--HG--
extra : rebase_source : 9d7b98e968a2537f8dd1ffd0646c51ffe429bd57
These magic locations evolve over time. Baking them into
moz.configure is the easiest way to share them across the build
system, and pushing them into a new |mach android *| command continues
a pattern that has been very successful.
MozReview-Commit-ID: CyxVQ0LHHgl
--HG--
extra : rebase_source : 8350d71665f0126aa4ee2c8fec32c4b8e34dc772
We've had good success with |mach android *| for invoking test suites
and other Gradle-related features; this was just an oversight. The
real advantage is that almost all of the magic Gradle targets are now
in mobile/android/mach_commands.py and not scattered throughout the
tree. That'll make it easier to move the actual Gradle configuration
choices forward in the future.
MozReview-Commit-ID: GI1pUHHfXeO
--HG--
extra : rebase_source : 9d7b98e968a2537f8dd1ffd0646c51ffe429bd57
It looks like the main cause of intermittent failures in getDirectory is
that the adb pull command fails because the emulator has hung. For other
commands, we usually handle this by checking the return code and raising
DMError if anything fails. There is mozharness/taskcluster code in
place to automatically retry tasks that throw DMError.