Closed Bug 571438 Opened 11 years ago Closed 11 years ago
Have Paint Event Listener fails for non-e10s message manager
I am moving the DOM event handlers out of Fennec's chrome front-end and moving them to a content process frame script. I found that MayHavePaintEventListener returns FALSE, even though I have added a "MozAfterPaint" event listener in the frame script. http://mxr.mozilla.org/mozilla-central/source/layout/base/nsPresContext.cpp#2058 Stepping through in GDB, nsCOMPtr<nsIInProcessContentFrameMessageManager> mm is NULL and none of the other checks trigger, so I get no "MozAfterPaint" event fired. I then added a simple dummy event listener for "MozAfterPaint" back in the front-end chrome. Then I was able to get the "MozAfterPaint" event fired in the chrome script _and_ in the frame content script. As I mentioned, this is happening in a mozilla-central, non-e10s message manager build.
I thought I had fixed this, but apparently I forgot to change the fix when I moved to another event propagation route.
Assignee: nobody → Olli.Pettay
This depends on Bug 568975. I have manual tests for this in my test-mm.xul. I'll mochitestify those tests.
Attachment #450637 - Flags: review?(jst)
(In reply to comment #2) > Created an attachment (id=450637) [details] > patch > > This depends on Bug 568975. > > I have manual tests for this in my test-mm.xul. > I'll mochitestify those tests.
Depends on: 568975
I meant to say, this bug is breaking the Fennec nightly.
Comment on attachment 450637 [details] [diff] [review] patch Just an update: I applied this patch and built Fennec. Works great. MozAfterPaint is being fired.
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
This fix may have regressed MozAfterPaint firing from remote=true web content scripts
Testing on electrolysis branch, local pages work fine (MozAfterPaint is fired) but remote pages do not fire the event in the content script
This fix was for m-c, not for e10s. Seems like the m-c -> e10s merge removed some code from e10s.
You need to log in before you can comment on or make changes to this bug.