Closed
Bug 1110495
Opened 10 years ago
Closed 10 years ago
Wrap try/catch around e10s add-on shim initialization
Categories
(Toolkit :: General, defect)
Tracking
()
Tracking | Status | |
---|---|---|
e10s | m5+ | --- |
People
(Reporter: mconley, Assigned: mconley)
Details
Attachments
(1 file)
2.13 KB,
patch
|
billm
:
review+
|
Details | Diff | Splinter Review |
We've seen from bug 1102410 that it's possible for the initialization of the add-on shims to cause pretty major problems for remote browsers, since throwing an exception inside browser-child.js can cause pretty important stuff to not execute. Examples include: autocomplete for form fields, and session history (youch!) We should wrap the initialization of the shims in a try/catch, report anything that goes wrong while initializing, but let the remainder of browser-child.js execute. Marking this M5 because this is simple to do, and probably just good defensive coding. Not going with M4 because I'm a coward.
Updated•10 years ago
|
Flags: firefox-backlog+
Assignee | ||
Updated•10 years ago
|
Status: NEW → ASSIGNED
Assignee | ||
Comment 1•10 years ago
|
||
Assignee | ||
Updated•10 years ago
|
Attachment #8548487 -
Flags: review?(wmccloskey)
Comment on attachment 8548487 [details] [diff] [review] Wrap try/catch around e10s add-on shim initialization. r=? Review of attachment 8548487 [details] [diff] [review]: ----------------------------------------------------------------- ::: toolkit/components/addoncompat/RemoteAddonsChild.jsm @@ +526,5 @@ > + try { > + ObserverChild.init(); > + } catch(e) { > + Cu.reportError(e); > + } How about: let shims = [ObserverChild, ...]; for (let shim of shims) { try { shim.init(); } catch (e) { Cu.reportError(e); } }
Attachment #8548487 -
Flags: review?(wmccloskey) → review+
Assignee | ||
Comment 3•10 years ago
|
||
(In reply to Bill McCloskey (:billm) from comment #2) > Comment on attachment 8548487 [details] [diff] [review] > Wrap try/catch around e10s add-on shim initialization. r=? > > Review of attachment 8548487 [details] [diff] [review]: > ----------------------------------------------------------------- > > ::: toolkit/components/addoncompat/RemoteAddonsChild.jsm > @@ +526,5 @@ > > + try { > > + ObserverChild.init(); > > + } catch(e) { > > + Cu.reportError(e); > > + } > > How about: > let shims = [ObserverChild, ...]; > for (let shim of shims) { > try { > shim.init(); > } catch (e) { > Cu.reportError(e); > } > } Yeah, that's way better. Thanks!
Assignee | ||
Comment 4•10 years ago
|
||
Landed on fx-team with alterations: remote: https://hg.mozilla.org/integration/fx-team/rev/d0576cfa0b5c
Comment 5•10 years ago
|
||
https://hg.mozilla.org/mozilla-central/rev/d0576cfa0b5c
Status: ASSIGNED → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla38
Updated•10 years ago
|
Iteration: --- → 38.1 - 26 Jan
Flags: qe-verify?
You need to log in
before you can comment on or make changes to this bug.
Description
•