Closed
Bug 1054094
Opened 10 years ago
Closed 10 years ago
[e10s] LastPass addon calls dispatchEvent directly, causing assertion (!mozilla::ipc::ProcessingUrgentMessages()) and crash in mozilla::EventDispatcher::Dispatch
Categories
(Firefox :: Extension Compatibility, defect)
Tracking
()
RESOLVED
WORKSFORME
Tracking | Status | |
---|---|---|
e10s | ? | --- |
People
(Reporter: johns, Unassigned)
References
Details
From de-minified LastPass source:
> if (c) {
> if (c.ownerDocument && "function" ==
> typeof c.ownerDocument.createEvent) {
> var d = c.ownerDocument.createEvent("Events");
> d.initEvent("change", !0, !0);
> c.dispatchEvent(d);
> d = c.ownerDocument.createEvent("Events");
> d.initEvent("input", !0, !0);
> c.dispatchEvent(d);
> if ("undefined" != typeof ischrome && ischrome && ("function" == typeof c.onkeyup || c.hasAttribute("onkeyup")))
> if (f && (d.keyCode = 8), c.hasAttribute("onkeyup")) eval(c.getAttribute("onkeyup"));
> else c.onkeyup(d)
> } else "undefined" != typeof c.fireEvent && (c.fireEvent("onchange"), c.fireEvent("oninput"));
> ("undefined" ==
> typeof e || null == e || e) && "function" == typeof Ir && Ir("SHIFT", c);
> if ("function" == typeof Mb) {
> var g = Mb(c.ownerDocument);
> g && (g.lpfieldchanged = !0)
> }
> }
Per debugging with billm, this uses a CPOW to directly issue dispatchEvent, which is not allowed to run inside urgent message processing from CPOWs.
Looking through the source, lastpass seems to issue submit, keypress, keydown, keyup, change, input, and possibly message events, though the latter may be only for parent/chrome code.
Blocks: e10s-addons
Also bug 950745.
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → WORKSFORME
You need to log in
before you can comment on or make changes to this bug.
Description
•