Closed Bug 1553272 Opened 3 months ago Closed 3 months ago

Eliminate the unnecessary ProtocolState object

Categories

(Core :: IPC, enhancement, P2)

enhancement

Tracking

()

RESOLVED FIXED
mozilla69
Tracking Status
firefox69 --- fixed

People

(Reporter: Nika, Assigned: Nika)

References

Details

Attachments

(1 file)

No description provided.

The vast majority of the virtual methods which were used on ProtocolState were
actually methods which only had meaningful implementations on the toplevel
protocol. This patch adds a new field to IProtocol holding a direct pointer to
the protocol's IToplevelProtocol, and the methods formerly implemented with
ProtocolState now directly call the corresponding method on IToplevelProtocol.
IToplevelProtocol then shadows these methods with the toplevel protocol
implementation, meaning that the right code is run in the right places.

In addition, some state was maintained for protocols inside of the separate
ProtocolState allocation, and this patch moves that state back into the actor
itself.

Attachment #9066796 - Attachment description: Bug 1553270 - Eliminate the unnecessary ProtocolState object, → Bug 1553272 - Eliminate the unnecessary ProtocolState object,
Pushed by nlayzell@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/60ce5565ab9a
Eliminate the unnecessary ProtocolState object, r=froydnj
Status: NEW → RESOLVED
Closed: 3 months ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla69
You need to log in before you can comment on or make changes to this bug.