Closed Bug 1485676 Opened 6 years ago Closed 6 years ago

Make TabTarget always remote-like

Categories

(DevTools :: Framework, enhancement, P2)

enhancement

Tracking

(firefox64 fixed)

RESOLVED FIXED
Firefox 64
Tracking Status
firefox64 --- fixed

People

(Reporter: ochameau, Assigned: ochameau)

References

Details

(Whiteboard: dt-fission)

Attachments

(10 files, 1 obsolete file)

46 bytes, text/x-phabricator-request
yulia
: review+
Details | Review
46 bytes, text/x-phabricator-request
yulia
: review+
Details | Review
46 bytes, text/x-phabricator-request
yulia
: review+
Details | Review
46 bytes, text/x-phabricator-request
yulia
: review+
Details | Review
46 bytes, text/x-phabricator-request
yulia
: review+
Details | Review
46 bytes, text/x-phabricator-request
yulia
: review+
Details | Review
46 bytes, text/x-phabricator-request
yulia
: review+
Details | Review
46 bytes, text/x-phabricator-request
jdescottes
: review+
Details | Review
46 bytes, text/x-phabricator-request
jdescottes
: review+
Details | Review
46 bytes, text/x-phabricator-request
yulia
: review+
Details | Review
Today, you can pass to TabTarget constructor only a tab object:
  https://searchfox.org/mozilla-central/rev/f2ac80ab7dbde5400a3400d463e07331194dec94/devtools/client/framework/target.js#122-127

Which will later be resolved into a FrameTargetActor's form in makeRemote:
  https://searchfox.org/mozilla-central/rev/f2ac80ab7dbde5400a3400d463e07331194dec94/devtools/client/framework/target.js#482-486
          .then(() => this._client.getTab({tab: this.tab}))
          .then(response => {
            this._form = response.tab;

And one step later in makeRemote, be translated into a TabClient:
  https://searchfox.org/mozilla-central/rev/f2ac80ab7dbde5400a3400d463e07331194dec94/devtools/client/framework/target.js#453-454
          const [response, tabClient] = await this._client.attachTab(this._form.actor);
          this.activeTab = tabClient;

But the plan in bug 1465635 is to make Target class become the front for the Target actors, so that we can't let this class fetch itself. We are having a chicken-egg problem here.

Instead, TabTarget should always receive a `form`. It currently does receive a form for all remote usages, even remote tabs when connecting to fennec.
TabTarget is quite messy today because of these two very distinct codepaths in TabTarget's constructor and makeRemote:
* local tabs
* everything else (browser toolbox, browser console, all remotes debugging, ...)

It would be great to only keep the codepath where TabTarget receive a `form` object:
  https://searchfox.org/mozilla-central/rev/f2ac80ab7dbde5400a3400d463e07331194dec94/devtools/client/framework/target.js#127-134
For local tabs, this `form` object would be the FrameTargetActor's form.
i.e. the result of `RootActor.getTab` request.

Then, it will be much easier to convert TabTarget to become the FrameTargetActor's form, as that's the main argument required to build its front (that and a client object, which appears to be also an argument of TabTarget!)


One option would be to move the code that:
1) Create a DebuggerServer and a DebuggerClient and connects them
2) Call RootActor.getTab()
to TargetFactory.forTab.

The main issue here is that forTab is currently synchronous.
So it would require changing all the callsites to async.
Unfortunately there is tons of callsites as that's used in all tests...
Assignee: nobody → poirot.alex
Here is a patch to do that with an almost green try:
  https://treeherder.mozilla.org/#/jobs?repo=try&revision=4a1ff20e130a793fe4094cb70324753a1017fd3b&selectedJob=195262674
(required to lot of patience to fix correctly *all* the tests)
First time I get a full green try (if you ignore intermittents):
  https://treeherder.mozilla.org/#/jobs?repo=try&revision=34ea4c6dd313ab48775ce59a6c772121348e4a53&selectedJob=196397343

I'll try to cleanup this patch now and see if I can split it in meaningful pieces.
Comment on attachment 9003465 [details]
Bug 1485676 - Connect to local server from TargetFactory.forTab and make TabTarget always remote-like. r=yulia

Before I spent more time on this time...
Do you agree on the overall move here?

The main change here is to move part of TabTarget.makeRemote to TargetFactory.forTab:
https://phabricator.services.mozilla.com/D4078#change-sbXhYwVS3Dcs
I'm moving everything that leads to fetch the Target actor, i.e. FrameTargetActor in the case of local tab debugging. i.e. the result of RootClient.getTab() request.

After this patch, TabTarget arguments are similar to what we would use to instanciate a TargetActor's front, i.e. client and actor's form.
So that it will be easier to convert all that to a front in a next step.

The main challenge of this patch is that it makes TargetFactor.forTab become async and it is being used in manyyyyy places!
Attachment #9003465 - Flags: feedback?(ystartsev)
Attachment #9003465 - Flags: feedback?(jdescottes)
We are not passing a tab here. It only works by chance!

Depends On D4535
Depends On D4536
Depends On D4537
Fetching any target is now asynchronous. But RDM setup/destroy codepath is very fragile
and introduce many low level exception when trying to restore the original browser element
if any timing changes.
So this patch prevents trying to fetch the target object if a toolbox isn't already opened.
The target object is being used only for Telemetry purpose for now.

Depends On D4538
Comment on attachment 9003465 [details]
Bug 1485676 - Connect to local server from TargetFactory.forTab and make TabTarget always remote-like. r=yulia

Yulia already provided some feedback on phabricator.
Julian you are still welcomed to comment :)

I pushed split patches, I plan to merge most of them before landing as they won't work landed individually and are mostly useful for the review.

An immediate followup will be to rework/rename makeRemote which looks more like an attach method than a makeRemote!
Attachment #9003465 - Flags: feedback?(ystartsev)
When switching to async, it is important to catch exception or register a rejection handler
so that errors keep being logged.
So in this patch I'm catching exception in a couple of important codepath.

Depends On D4541
Note that the first patch is still the biggest, but the only non-trivial change is target.js one. It is actually the most important change from the whole patch queue. But the rest of this first changeset is just converting the codebase to wait for `forTab`'s promise...
Comment on attachment 9004876 [details]
Bug 1485676 - Adapt gDevTools API to new async forTab and also adapt its callsites. r=yulia

Yulia Startsev [:yulia] has approved the revision.
Attachment #9004876 - Flags: review+
Comment on attachment 9004875 [details]
Bug 1485676 - Prevent exceptions in the emulation actor when trying to use it while it is already destroyed. r=yulia

Yulia Startsev [:yulia] has approved the revision.
Attachment #9004875 - Flags: review+
Comment on attachment 9004871 [details]
Bug 1485676 - Remove usused getOpenWebConsole method from hudservice.js. r=yulia

Yulia Startsev [:yulia] has approved the revision.
Attachment #9004871 - Flags: review+
Comment on attachment 9004868 [details]
Bug 1485676 - Adapt gDevTools.createTargetForTab to new TabTarget class. r=yulia

Yulia Startsev [:yulia] has approved the revision.
Attachment #9004868 - Flags: review+
Comment on attachment 9004867 [details]
Bug 1485676 - Convert TargetFactory.forTab call to forRemoteTab in debugger mochitest. r=yulia

Yulia Startsev [:yulia] has approved the revision.
Attachment #9004867 - Flags: review+
Comment on attachment 9004866 [details]
Bug 1485676 - Refactor gDevTools.getTargetForTab callsites to assume getTargetForTab is async. r=yulia

Yulia Startsev [:yulia] has approved the revision.
Attachment #9004866 - Flags: review+
Comment on attachment 9004874 [details]
Bug 1485676 - Tweak RDM manage to support new async forTab. r=yulia

Yulia Startsev [:yulia] has approved the revision.
Attachment #9004874 - Flags: review+
Comment on attachment 9003465 [details]
Bug 1485676 - Connect to local server from TargetFactory.forTab and make TabTarget always remote-like. r=yulia

Yulia Startsev [:yulia] has approved the revision.
Attachment #9003465 - Flags: review+
Now that all the "remoting" of this method has been moved to TargetFactory.createTargetForTab,
we should rename this method to what it does now. It mostly call attach requests
of the target actor and its child console actor.
It also "connect" the webextension target actor, but I would like to eventually move that
outside of TabTarget.attach, like makeRemote.

Depends On D4078
This method isn't specific to tabs. It can attach to any "target" actor that inherits from BrowsingContextActor.

Depends On D6161
Attachment #9009978 - Attachment description: Bug 1485676 - Rename DebuggerClient.attachTab to attachTarget. r=yulia → Bug 1485676 - Rename DebuggerClient.attachTab to attachTarget. r=jdescottes
Attachment #9009977 - Attachment description: Bug 1485676 - Rename TabTarget.makeRemote to TabTarget.attach. r=yulia → Bug 1485676 - Rename TabTarget.makeRemote to TabTarget.attach. r=jdescottes
Comment on attachment 9009977 [details]
Bug 1485676 - Rename TabTarget.makeRemote to TabTarget.attach. r=jdescottes

Julian Descottes [:jdescottes][:julian] has approved the revision.
Attachment #9009977 - Flags: review+
Comment on attachment 9009978 [details]
Bug 1485676 - Rename DebuggerClient.attachTab to attachTarget. r=jdescottes

Julian Descottes [:jdescottes][:julian] has approved the revision.
Attachment #9009978 - Flags: review+
Blocks: 1492826
Pushed by apoirot@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/f0f4f9407970
Refactor gDevTools.getTargetForTab callsites to assume getTargetForTab is async. r=yulia
https://hg.mozilla.org/integration/autoland/rev/ec0a322f5cc9
Convert TargetFactory.forTab call to forRemoteTab in debugger mochitest. r=yulia
https://hg.mozilla.org/integration/autoland/rev/56240996921f
Adapt gDevTools.createTargetForTab to new TabTarget class. r=yulia
https://hg.mozilla.org/integration/autoland/rev/d8fe80bb0e3c
Tweak RDM manage to support new async forTab. r=yulia
https://hg.mozilla.org/integration/autoland/rev/4c5a956b33f7
Prevent exceptions in the emulation actor when trying to use it while it is already destroyed. r=yulia
https://hg.mozilla.org/integration/autoland/rev/275463260056
Adapt gDevTools API to new async forTab and also adapt its callsites. r=yulia
https://hg.mozilla.org/integration/autoland/rev/03278e6fe685
Connect to local server from TargetFactory.forTab and make TabTarget always remote-like. r=yulia
https://hg.mozilla.org/integration/autoland/rev/0d530c1316a4
Rename TabTarget.makeRemote to TabTarget.attach. r=jdescottes
https://hg.mozilla.org/integration/autoland/rev/9f5ec2aa7109
Rename DebuggerClient.attachTab to attachTarget. r=jdescottes
Backed out 9 changesets (bug 1485676)for perma failures in devtools/client/canvasdebugger/test/browser_canvas-actor-test-01.js CLOSED TREE

Backout revision: https://hg.mozilla.org/integration/autoland/rev/60699959597caf8b973ce064c4011bcab53f00c9
Failed push: https://treeherder.mozilla.org/#/jobs?repo=autoland&resultStatus=testfailed%2Cbusted%2Cexception&classifiedState=unclassified&revision=9f5ec2aa71096b89717eaea7a3439a44064523d3

Failure log: https://treeherder.mozilla.org/logviewer.html#?job_id=200689806&repo=autoland

:ochameau could you please take a look?
Flags: needinfo?(poirot.alex)
This test failed during latest rebase, I rebased again and got a green try:
  https://treeherder.mozilla.org/#/jobs?repo=try&revision=9009715e8a3e86e80a8ed73c5e6efd3e34c9704e
Flags: needinfo?(poirot.alex)
Pushed by apoirot@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/d7646ea8640b
Refactor gDevTools.getTargetForTab callsites to assume getTargetForTab is async. r=yulia
https://hg.mozilla.org/integration/mozilla-inbound/rev/d1d6b9bc2372
Convert TargetFactory.forTab call to forRemoteTab in debugger mochitest. r=yulia
https://hg.mozilla.org/integration/mozilla-inbound/rev/ba2157632772
Adapt gDevTools.createTargetForTab to new TabTarget class. r=yulia
https://hg.mozilla.org/integration/mozilla-inbound/rev/acb27b915742
Tweak RDM manage to support new async forTab. r=yulia
https://hg.mozilla.org/integration/mozilla-inbound/rev/b1fd24929e09
Prevent exceptions in the emulation actor when trying to use it while it is already destroyed. r=yulia
https://hg.mozilla.org/integration/mozilla-inbound/rev/a83636fab16a
Adapt gDevTools API to new async forTab and also adapt its callsites. r=yulia
https://hg.mozilla.org/integration/mozilla-inbound/rev/f9ef30ae3f7f
Connect to local server from TargetFactory.forTab and make TabTarget always remote-like. r=yulia
https://hg.mozilla.org/integration/mozilla-inbound/rev/e63025150c7a
Rename TabTarget.makeRemote to TabTarget.attach. r=jdescottes
https://hg.mozilla.org/integration/mozilla-inbound/rev/4de2e71debfe
Rename DebuggerClient.attachTab to attachTarget. r=jdescottes
Backed out 9 changesets (bug 1485676) for failing at damp inspector/cold-open.js on a CLOSED TREE

Backout link: https://hg.mozilla.org/integration/mozilla-inbound/rev/99b4f09fa32cea27ac1cb2fad682da5bcc4db615

Push with failures: https://treeherder.mozilla.org/#/jobs?repo=mozilla-inbound&resultStatus=testfailed,busted,exception&selectedJob=200993035&revision=4de2e71debfe26267375c315074a46dfe3a17791

Log link: https://treeherder.mozilla.org/logviewer.html#?job_id=200993035&repo=mozilla-inbound&lineNumber=682

Log snippet: 

09:26:56     INFO -  TEST-START | damp
09:26:56     INFO -  Initialising browser for damp test...
09:26:56     INFO -  Cloning profile located at /Users/cltbld/tasks/task_1537624753/build/tests/talos/talos/base_profile
09:26:56     INFO -  Merging profile: /Users/cltbld/tasks/task_1537624753/build/tests/talos/talos/profile_data/common
09:26:56     INFO -  Merging profile: /Users/cltbld/tasks/task_1537624753/build/tests/talos/talos/profile_data/perf
09:26:56     INFO -  Installing Add-ons:
09:26:56     INFO -  ['/Users/cltbld/tasks/task_1537624753/build/tests/talos/talos/talos-powers', '/Users/cltbld/tasks/task_1537624753/build/tests/talos/talos/pageloader', '/Users/cltbld/tasks/task_1537624753/build/tests/talos/talos/tests/devtools/addon']
09:26:56     INFO -  Browser initialized.
09:26:57     INFO -  Running cycle 1/5 for damp test...
09:26:57     INFO -  Using env: {'Apple_PubSub_Socket_Render': '/private/tmp/com.apple.launchd.aMZ5Ql1aIR/Render',
09:26:57     INFO -   'GECKO_HEAD_REPOSITORY': 'https://hg.mozilla.org/integration/mozilla-inbound',
09:26:57     INFO -   'GECKO_HEAD_REV': '4de2e71debfe26267375c315074a46dfe3a17791',
09:26:57     INFO -   'HOME': '/Users/cltbld',
09:26:57     INFO -   'IDLEIZER_DISABLE_SHUTDOWN': 'true',
09:26:57     INFO -   'JSGC_DISABLE_POISONING': '1',
09:26:57     INFO -   'LANG': 'en_US.UTF-8',
09:26:57     INFO -   'LC_ALL': 'en_US.UTF-8',
09:26:57     INFO -   'LD_LIBRARY_PATH': '/Users/cltbld/tasks/task_1537624753/build/application/Firefox Nightly.app/Contents/MacOS',
09:26:57     INFO -   'LOGNAME': 'cltbld',
09:26:57     INFO -   'MINIDUMP_SAVE_PATH': '/Users/cltbld/tasks/task_1537624753/build/blobber_upload_dir',
09:26:57     INFO -   'MINIDUMP_STACKWALK': '/Users/cltbld/tasks/task_1537624753/build/macosx64-minidump_stackwalk',
09:26:57     INFO -   'MOZ_AUTOMATION': '1',
09:26:57     INFO -   'MOZ_CRASHREPORTER': '1',
09:26:57     INFO -   'MOZ_CRASHREPORTER_NO_REPORT': '1',
09:26:57     INFO -   'MOZ_DISABLE_NONLOCAL_CONNECTIONS': '1',
09:26:57     INFO -   'MOZ_HIDE_RESULTS_TABLE': '1',
09:26:57     INFO -   'MOZ_NODE_PATH': '/usr/local/bin/node',
09:26:57     INFO -   'MOZ_NO_REMOTE': '1',
09:26:57     INFO -   'MOZ_UPLOAD_DIR': '/Users/cltbld/tasks/task_1537624753/build/blobber_upload_dir',
09:26:57     INFO -   'NO_EM_RESTART': '1',
09:26:57     INFO -   'NO_FAIL_ON_TEST_ERRORS': '1',
09:26:57     INFO -   'PATH': '/Users/cltbld/tasks/task_1537624753/build/venv/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin',
09:26:57     INFO -   'PWD': '/Users/cltbld',
09:26:57     INFO -   'PYTHONPATH': '/Users/cltbld/tasks/task_1537624753/build/tests/talos',
09:26:57     INFO -   'RUST_BACKTRACE': 'full',
09:26:57     INFO -   'SCCACHE_DISABLE': '1',
09:26:57     INFO -   'SCRIPTSPATH': '/Users/cltbld/tasks/task_1537624753/mozharness',
09:26:57     INFO -   'SHELL': '/bin/bash',
09:26:57     INFO -   'SHLVL': '1',
09:26:57     INFO -   'SSH_AUTH_SOCK': '/private/tmp/com.apple.launchd.MQb67PZ0DV/Listeners',
09:26:57     INFO -   'STYLO_FORCE_ENABLED': '1',
09:26:57     INFO -   'TASK_ID': 'cExnUO1xTC60Cxbm5kKQYQ',
09:26:57     INFO -   'TMPDIR': '/var/folders/rc/qr91s8956511xm2ftj87ns8w00000w/T/',
09:26:57     INFO -   'USER': 'cltbld',
09:26:57     INFO -   'VERSIONER_PYTHON_PREFER_32_BIT': 'no',
09:26:57     INFO -   'VERSIONER_PYTHON_VERSION': '2.7',
09:26:57     INFO -   'XPCOM_DEBUG_BREAK': 'warn',
09:26:57     INFO -   'XPC_FLAGS': '0x0',
09:26:57     INFO -   'XPC_SERVICE_NAME': '0',
09:26:57     INFO -   '_': '/usr/local/bin/generic-worker',
09:26:57     INFO -   '__CF_USER_TEXT_ENCODING': '0x1C:0:0'}
09:26:57     INFO -  TEST-INFO | started process 1805 (/Users/cltbld/tasks/task_1537624753/build/application/Firefox Nightly.app/Contents/MacOS/firefox -foreground -profile /var/folders/rc/qr91s8956511xm2ftj87ns8w00000w/T/tmpJp_gJk/profile)
09:27:01     INFO -  PID 1805 | Initialize the head file with a reference to this DAMP instance
09:27:03     INFO -  PID 1805 | Garbage collect
09:27:03     INFO -  PID 1805 | Loading test 'inspector/cold-open.js'
09:27:03     INFO -  PID 1805 | Executing test 'inspector/cold-open.js'
09:27:14     INFO -  PID 1805 | 2018-09-22 09:27:14.145 firefox[1805:16446] Persistent UI failed to open file file:///Users/cltbld/Library/Saved%20Application%20State/org.mozilla.nightly.savedState/window_1.data: No such file or directory (2)
09:32:03     INFO -  PID 1805 | TEST-UNEXPECTED-FAIL | damp | inspector/cold-open.js: Test timed out
09:32:03     INFO -  Terminating psutil.Process(pid=1805, name='firefox', started='09:26:57')
09:32:03     INFO -  PID 1805 | [GFX1-]: Receive IPC close with reason=AbnormalShutdown
09:32:03     INFO -  PID 1805 | [GFX1-]: Receive IPC close with reason=AbnormalShutdown
09:32:03     INFO -  PID 1805 | ** Unknown exception behavior: -2147483647
09:32:03     INFO -  PID 1805 | ** Unknown exception behavior: -2147483647
09:32:03     INFO -  PID 1805 | ** Unknown exception behavior: -2147483647
09:32:03     INFO -  TEST-UNEXPECTED-ERROR | damp | unexpected error
09:32:03    ERROR -  Traceback (most recent call last):
09:32:03     INFO -    File "/Users/cltbld/tasks/task_1537624753/build/tests/talos/talos/run_tests.py", line 299, in run_tests
09:32:03     INFO -      talos_results.add(mytest.runTest(browser_config, test))
09:32:03     INFO -    File "/Users/cltbld/tasks/task_1537624753/build/tests/talos/talos/ttest.py", line 63, in runTest
09:32:03     INFO -      return self._runTest(browser_config, test_config, setup)
09:32:03     INFO -    File "/Users/cltbld/tasks/task_1537624753/build/tests/talos/talos/ttest.py", line 212, in _runTest
09:32:03     INFO -      debugger_args=browser_config['debugger_args']
09:32:03     INFO -    File "/Users/cltbld/tasks/task_1537624753/build/tests/talos/talos/talos_process.py", line 156, in run_browser
09:32:03     INFO -      raise TalosError("unexpected error")
09:32:03     INFO -  TalosError: unexpected error
09:32:03     INFO -  TEST-INFO took 306969ms
09:32:03     INFO -  SUITE-END | took 306s
09:32:04    ERROR - Return code: 2
09:32:04  WARNING - setting return code to 2
09:32:04    ERROR - # TBPL FAILURE #
Flags: needinfo?(poirot.alex)
Attachment #9004871 - Attachment is obsolete: true
Oh. I forgot to scan testing folder.

New green try, including DAMP:
https://treeherder.mozilla.org/#/jobs?repo=try&author=apoirot@mozilla.com&selectedJob=201082925
Flags: needinfo?(poirot.alex)
Pushed by apoirot@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/ceb93dd1799a
Refactor gDevTools.getTargetForTab callsites to assume getTargetForTab is async. r=yulia
https://hg.mozilla.org/integration/mozilla-inbound/rev/fb03f174bd5f
Convert TargetFactory.forTab call to forRemoteTab in debugger mochitest. r=yulia
https://hg.mozilla.org/integration/mozilla-inbound/rev/926f725f2183
Adapt gDevTools.createTargetForTab to new TabTarget class. r=yulia
https://hg.mozilla.org/integration/mozilla-inbound/rev/454eddf52157
Tweak RDM manage to support new async forTab. r=yulia
https://hg.mozilla.org/integration/mozilla-inbound/rev/16d2403aa787
Prevent exceptions in the emulation actor when trying to use it while it is already destroyed. r=yulia
https://hg.mozilla.org/integration/mozilla-inbound/rev/3a6f1b0e71f4
Adapt gDevTools API to new async forTab and also adapt its callsites. r=yulia
https://hg.mozilla.org/integration/mozilla-inbound/rev/6e78058df94d
Connect to local server from TargetFactory.forTab and make TabTarget always remote-like. r=yulia
https://hg.mozilla.org/integration/mozilla-inbound/rev/ed554dbb062f
Rename TabTarget.makeRemote to TabTarget.attach. r=jdescottes
https://hg.mozilla.org/integration/mozilla-inbound/rev/d358feec4ca1
Rename DebuggerClient.attachTab to attachTarget. r=jdescottes
Backed out 9 changesets (Bug 1485676) for failures in browser/tools/mozscreenshots/devtools/browser_devtools.js CLOSED TREE

https://treeherder.mozilla.org/#/jobs?repo=mozilla-inbound&resultStatus=testfailed,busted,exception&selectedJob=201177011

https://treeherder.mozilla.org/logviewer.html#?job_id=201177011&repo=mozilla-inbound&lineNumber=2645
Flags: needinfo?(poirot.alex)
Backout by shindli@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/e90758e4c518
Backed out 9 changesets for failures in browser/tools/mozscreenshots/devtools/browser_devtools.js CLOSED TREE
MozReview-Commit-ID: LyWehotW4Ws
This time I asked a "-u all" try run:
  https://treeherder.mozilla.org/#/jobs?repo=try&revision=9107780e1649425bc79e707e3c74656097d9bacf

And submitted another changeset dedicated to mozscreenshot:
  https://phabricator.services.mozilla.com/D6667
Flags: needinfo?(poirot.alex)
Blocks: 1397020
Comment on attachment 9011467 [details]
Bug 1485676 - Adapt mozscreenshot code to async TargetFactory.forTab

Yulia Startsev [:yulia] has approved the revision.
Attachment #9011467 - Flags: review+
Pushed by apoirot@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/68e27d43311b
Fix missing await on TargetFactory.forTab in console tests after rebase. (hotfix) r=me
Pushed by apoirot@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/92e6d8114af9
Refactor gDevTools.getTargetForTab callsites to assume getTargetForTab is async. r=yulia
https://hg.mozilla.org/integration/mozilla-inbound/rev/872c3b0176ba
Convert TargetFactory.forTab call to forRemoteTab in debugger mochitest. r=yulia
https://hg.mozilla.org/integration/mozilla-inbound/rev/eba1f54334cb
Adapt gDevTools.createTargetForTab to new TabTarget class. r=yulia
https://hg.mozilla.org/integration/mozilla-inbound/rev/0eff9c943b88
Tweak RDM manage to support new async forTab. r=yulia
https://hg.mozilla.org/integration/mozilla-inbound/rev/dfe72c2697b2
Prevent exceptions in the emulation actor when trying to use it while it is already destroyed. r=yulia
https://hg.mozilla.org/integration/mozilla-inbound/rev/cd4a03a48a86
Adapt gDevTools API to new async forTab and also adapt its callsites. r=yulia
https://hg.mozilla.org/integration/mozilla-inbound/rev/644fb45085db
Connect to local server from TargetFactory.forTab and make TabTarget always remote-like. r=yulia
https://hg.mozilla.org/integration/mozilla-inbound/rev/889192132e19
Rename TabTarget.makeRemote to TabTarget.attach. r=jdescottes
https://hg.mozilla.org/integration/mozilla-inbound/rev/afd631f6606d
Rename DebuggerClient.attachTab to attachTarget. r=jdescottes
https://hg.mozilla.org/integration/mozilla-inbound/rev/02308fea5840
Adapt mozscreenshot code to async TargetFactory.forTab. r=yulia
This bug doesn't modify c++, so it is unlikely to break a GTest.
It looks more related to bug 1493365's investigations.
Flags: needinfo?(poirot.alex)
Depends on: 1494281
Whiteboard: dt-fission
Attachment #9003465 - Flags: feedback?(jdescottes)
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: