Closed Bug 1526364 Opened 6 years ago Closed 5 years ago

Show visual cue when remote agent is active

Categories

(Remote Protocol :: Agent, enhancement, P1)

enhancement

Tracking

(firefox72 fixed)

RESOLVED FIXED
Firefox 72
Tracking Status
firefox72 --- fixed

People

(Reporter: ato, Assigned: ato)

References

(Blocks 1 open bug)

Details

(Whiteboard: [puppeteer-alpha])

Attachments

(3 files)

Similarly to https://bugzilla.mozilla.org/show_bug.cgi?id=1355890,
we want to show a visual UX cue when the remote agent is active,
to indicate to the user that the browser session exposed to remote
control.

Priority: -- → P3
Assignee: nobody → ato
Status: NEW → ASSIGNED
Priority: P3 → P1

browser/base/content/browser.js is not passed through the preprocessor
which means we can’t use #ifdef ENABLE_REMOTE_AGENT. Once the
remote agent is enabled in Nightly by default, we can use
AppConstants.NIGHTLY_BUILD to guard the import of RemoteAgent.jsm.

Depends on: 1533831
Attached patch 0001-wip.patch (deleted) — Splinter Review

Attaching a WIP patch that can be applied once bug 1533831 has been
fixed.

I originally wanted to recreate the nsIRemoteAgent XPCOM interface
that we had in the original prototype, because if we want to move
to a Rust-based HTTPD in the future we would need that.

However, since browser.js now allows for ChromeUtils imports and
we have RemoteAgent.jsm doing the right thing, we can make do with
just importing it for the time being. This seems like the least
invasive approach.

Besides that, the patch reuses the visual cue I implemented for
Marionette years ago. That could do with a stylistic update, but
serves the purpose without introducing any extra code.

Priority: P1 → P2

Not planning to do any more work on this for the time being.

Assignee: ato → nobody
Status: ASSIGNED → NEW
Priority: P2 → P3

This has become a priority because of the sec-review.

Assignee: nobody → ato
Status: NEW → ASSIGNED
Priority: P3 → P1
Whiteboard: [puppeteer-alpha]
Blocks: 1594435

I think we need to wait for bug 1543115 because it makes substantial
changes to remote/RemoteAgent.jsm, and also includes the system
observer notification we need.

Status: ASSIGNED → NEW
Depends on: 1543115
Priority: P1 → P2
Blocks: 1595727

This changes the event Marionette emits when it is running from
"remote-active" to "remote-listening".

The background for this change is that the forthcoming Chromium-based
remote protocol uses the same observer notification to indicate
when it listens for browser-external connections. This means that
with this change, the visual hint presented to the user will also
be applied when the remote agent starts its HTTPD listener.

Unlike Marionette however, the remote debugging protocol may be used
for browser-internal applications and it is not appropriate to signal
that the browser is under remote control under those circumstances,
hence the naming change away from "active".

We want to display a visual hint to the user that the browser session
is under control by a browser-external client when the remote agent
is listening. The hint is the same as for when Marionette is active.

Status: NEW → ASSIGNED
Priority: P2 → P1
Pushed by atolfsen@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/3ea0212843da browser, marionette: use "remote-listening" to indicate remote control; r=Gijs,marionette-reviewers,remote-protocol-reviewers,maja_zf https://hg.mozilla.org/integration/autoland/rev/805533fa08a8 browser: show visual cue when remote agent is listening; r=Gijs,remote-protocol-reviewers,maja_zf
Status: ASSIGNED → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 72
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: