Closed Bug 1252212 Opened 9 years ago Closed 9 years ago

Bring some sanity to the RIL WorkerRun stuff

Categories

(Core :: DOM: Core & HTML, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla47
Tracking Status
firefox47 --- fixed

People

(Reporter: bzbarsky, Assigned: bzbarsky)

References

Details

(Whiteboard: btpp-active)

Attachments

(1 file)

From my notes for bug 1072144: -- This is WorkerTaskRunnable. It calls RunTask and returns its return value. This is only usd in ril code. Of the three implementations: (a) RilWorker::UnregisterConsumerTask::RunTask does not use aCx and does not throw. (b) RilSocketIO::ReceiveTask::RunTask calls RilSocket::ReceiveSocketData which calls RilSocketConsumer::ReceiveSocketData. That's a pure virtual method and in practice only implemented by RilConsumer, which calls Receive. This will do JSAPI stuff that can throw and will happily return true, leaving dangling exceptions. XXXbz: This seems very broken. Note that ReceiveSocketData is a void method, so it couldn't report an error even if it wanted to. khuey says we don't care, just suppress things or something; worksforme. (c) RilWorker::RegisterConsumerTask::RunTask calls ConnectWorkerToRIL which can both report pending exceptions itself and leave them on the JSContext, in both cases returning failure which gets turned into a false return from RunTask. So this stuff is OK as long as we report exceptions in PostRun, which none of this stuff overrides. This bug is about fixing that XXX comment.
Blocks: 1072144
Whiteboard: btpp-active
Status: NEW → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla47
Component: DOM → DOM: Core & HTML
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: