create public interface for WorkerPrivate to hide implementation details

NEW
Unassigned

Status

()

Core
DOM: Workers
P3
normal
7 months ago
7 months ago

People

(Reporter: bkelly, Unassigned)

Tracking

Firefox Tracking Flags

(Not tracked)

Details

(Reporter)

Description

7 months ago
Currently if someone needs to work with Workers at all they probably will end up referencing a WorkerPrivate.  This is a major build headache because it means all the details of the WorkerPrivate are essentially leaked to those consumer.

For example, I want to add an ipdlh defined type to WorkerLoadInfo.  If I do that, though, every directory that includes WorkerPrivate.h must change its moz.build to include:

  include('/ipc/chromium/chromium-config.mozbuild')

In general exposing our concrete type to all consumers makes developing Worker code harder.  There is more busy work for cases like I describe above.  It also makes builds longer by triggering rebuilds of code that don't care about private details of the worker internals.

We really need an abstract WorkerPrivate interface similar to nsGlobalWindow's nsPIDOMWindowInner.

Updated

7 months ago
Priority: -- → P3
You need to log in before you can comment on or make changes to this bug.