Closed Bug 1631945 Opened 4 years ago Closed 4 years ago

Add API to junit test harness that enables tests to query for all web content pids

Categories

(GeckoView Graveyard :: Sandboxing, enhancement, P1)

Unspecified
Android
enhancement

Tracking

(firefox88 fixed)

RESOLVED FIXED
88 Branch
Tracking Status
firefox88 --- fixed

People

(Reporter: bugzilla, Assigned: owlish)

References

Details

(Whiteboard: [fission:android:m2] [geckoview:m88] )

Attachments

(1 file, 1 obsolete file)

This is kind of unfortunate, but a consequence of the fact that we have overloaded ContentParent to be used for multiple types of content.

In GeckoView we'd like to know whether we're being asked to launch a content process for the extension process or web content. Unfortunately, by the time a content process launch request reaches GeckoView code, we do not have that information.

It would be nice if we could have some mechanism to pass ContentParent::mRemoteType into GeckoChildProcessHost as a "subtype" so that GeckoView could route the request to create an extension process slightly differently from a normal content process.

The primary issue that we have is that many of our unit tests need to terminate multiple web content processes, but ATM we don't really have a way to distinguish between web and extension content. If there is an alternative way to ascertain this information, I'm all ears, but otherwise we will want to make this change sooner rather than later.

Hmmm, looks like I can probably stuff this info into the aExtraOpts argument to GeckoChildProcessHost::AsyncLaunch, so I'll move this into our component.

Component: IPC → General
Product: Core → GeckoView
Assignee: nobody → aklotz
Status: NEW → ASSIGNED
Priority: -- → P1
Whiteboard: [geckoview] → [geckoview:m77]
  • From Gecko we pass ContentParent::mRemoteType into GeckoProcessManager for
    both process launch and process termination;
  • We add the extension process as its own service;
  • We add the ContentProcessSubType enumeration to represent the various
    content process subtypes;
  • We add GeckoServiceType that resolves a
    (GeckoProcessType, ContentProcessSubType) tuple into a service name;
  • We convert GeckoProcessManager and ServiceAllocator to work with
    GeckoServiceType instead of GeckoProcessType.
Attachment #9142526 - Attachment description: Bug 1631945: Add a dedicated service to GeckoView for hosting the extension process; r=agi → Bug 1631945: Add a dedicated service to GeckoView for hosting the extension process; r=agi!, r=nika!

This is less important now that the extension process is disabled across the board.

Whiteboard: [geckoview:m77] → [geckoview:m78]
Attachment #9142526 - Attachment is obsolete: true
Blocks: 1535365
Depends on: 1634585
Summary: Make GeckoChildProcessHost aware of process subtypes → Add API to junit test harness that enables tests to query for all web content pids
Severity: -- → S3
Rank: 5
Depends on: 1355239

I think we were planning on bumping this from 78 during sprint planning, but that never made it into the bug.

Priority: P1 → P2
Whiteboard: [geckoview:m78] → [geckoview:m79]
Depends on: 1529510
No longer depends on: 1355239
Whiteboard: [geckoview:m79]

Tracking this bug for Android Fission milestone M2 (pass tests with Fission enabled).

Whiteboard: [fission:android:m2]
Assignee: aklotz → nobody
Status: ASSIGNED → NEW
Assignee: nobody → bugzeeeeee
Blocks: 1693416
Priority: P2 → P1
Whiteboard: [fission:android:m2] → [fission:android:m2] [geckoview:m88]
Pushed by istorozhko@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/f55f0f826ef6 Add API to junit test harness that enables tests to query for all web content pids r=geckoview-reviewers,aklotz
Status: NEW → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → 88 Branch

Moving isolated process bugs to the new GeckoView::Sandboxing component.

Component: General → Sandboxing
Product: GeckoView → GeckoView Graveyard
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: