Closed Bug 571438 Opened 12 years ago Closed 12 years ago

MayHavePaintEventListener fails for non-e10s message manager

Categories

(Core :: IPC, defect)

x86
macOS
defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: mfinkle, Assigned: smaug)

References

Details

Attachments

(1 file)

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
Attached patch patchSplinter Review
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.
Attachment #450637 - Flags: review?(jst) → review+
http://hg.mozilla.org/mozilla-central/rev/758a20968e2e
Status: NEW → RESOLVED
Closed: 12 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.