Closed Bug 1532725 Opened 1 year ago Closed 1 year ago

Rename PRemoteFrame to PBrowserBridge

Categories

(Core :: DOM: Core & HTML, enhancement, P3)

enhancement

Tracking

()

RESOLVED FIXED
mozilla67
Tracking Status
firefox67 --- fixed

People

(Reporter: rhunt, Assigned: rhunt)

References

Details

Attachments

(2 files)

Part of bug 1523072.

Getting a weird clang-plugin issue on try complaining about the 'can run script' annotation. No idea why yet.

[1] https://treeherder.mozilla.org/#/jobs?repo=try&revision=4999b1c9876f5710597feb8f3be4c5877bdea85a

These message handlers are currently marked as MOZ_CAN_RUN_SCRIPT, but are called from
PBrowserChild::OnMessageReceived which is not marked to run script. For some reason this is not
currently an issue on tip.

I suspect it has something to do with unified builds as renaming files caused this issue to
happen. I haven't looked into it enough to say for certain.

This commit changes the message handlers to be script boundaries so that the analysis is
satisified. This seemed like an easier change than modifying IPDL to emit the script boundary
around PBrowserChild::OnMessageReceived.

Additionally, Nika pointed out that IPDL doesn't hold a strong reference when calling
message handlers. If the script enters a nested event loop, it may be possible for
the protocol to be freed before control returns to it. This commit adds strong
references to prevent this.

Pushed by rhunt@eqrion.net:
https://hg.mozilla.org/integration/mozilla-inbound/rev/8c8e2862fd5e
Make TabParent::Recv{MouseEvent, HandleTap, ..} a script boundary and hold a strong reference. r=bzbarsky
https://hg.mozilla.org/integration/mozilla-inbound/rev/48241ea6a125
Rename PRemoteFrame to PBrowserBridge. r=nika
Status: NEW → RESOLVED
Closed: 1 year ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla67
Component: DOM → DOM: Core & HTML
You need to log in before you can comment on or make changes to this bug.