Closed
Bug 977891
Opened 11 years ago
Closed 11 years ago
[e10s] Painting stops happening on certain web pages
Categories
(Core :: General, defect)
Tracking
()
RESOLVED
FIXED
mozilla30
People
(Reporter: billm, Assigned: mattwoodrow)
References
Details
Attachments
(2 files)
974 bytes,
patch
|
Details | Diff | Splinter Review | |
11.39 KB,
patch
|
nical
:
review+
billm
:
feedback+
|
Details | Diff | Splinter Review |
I haven't figured out the circumstances, but several people have seen this problem. On certain web sites (possibly those with plugins or with lots of images), we stop painting except when you move the mouse outside of the content area. I've seen this happen on http://typesetinthefuture.com/moon/, but Tom can't reproduce it there. It only happen in e10s, so I don't think it's purely an OMTC problem. If you switch to a different tab, painting works fine.
Reporter | ||
Comment 1•11 years ago
|
||
OK, it's definitely plugin-related. It only happens on the page I mentioned when Flash is enabled.
Reporter | ||
Comment 2•11 years ago
|
||
This is the line that's causing the problem. If I comment it out, everything works fine. Matt, any advice about what to do?
Flags: needinfo?(matt.woodrow)
Reporter | ||
Comment 3•11 years ago
|
||
In case it's important, we're running Flash in windowless mode in e10s.
Reporter | ||
Comment 4•11 years ago
|
||
I think the problem might be that this code:
http://mxr.mozilla.org/mozilla-central/source/gfx/layers/client/ClientLayerManager.cpp#260
isn't doing anything because GetRemoteRenderer() is null. I tried setting it to the right CompositorChild, but that's not working for some reason.
Assignee | ||
Comment 5•11 years ago
|
||
Ah, this is my fault :(
The problem is that the receiving end of that message (CrossProcessCompositorChild::RecvForceComposite) does nothing. And it can't really do anything, since the PCompositor connection is a singleton per child process, and we don't know which LayerTree we're operating on.
The ForceComposite ipdl message should be moved to PLayerTransaction instead, since that always lets us map a ClientLayerManager to a CompositorParent (the root one, not CrossProcessCP). 'ShadowLayersUpdated' is an exmaple of this.
Flags: needinfo?(matt.woodrow)
Assignee | ||
Comment 6•11 years ago
|
||
This should no longer discriminate against e10s child processes, but I haven't actually tested it. It builds!
Attachment #8383483 -
Flags: feedback?(wmccloskey)
Reporter | ||
Comment 7•11 years ago
|
||
Comment on attachment 8383483 [details] [diff] [review]
Fix ForceComposite message for e10s
Review of attachment 8383483 [details] [diff] [review]:
-----------------------------------------------------------------
Works great, thanks!
Attachment #8383483 -
Flags: feedback?(wmccloskey) → feedback+
Assignee | ||
Updated•11 years ago
|
Attachment #8383483 -
Flags: review?(nical.bugzilla)
Comment 8•11 years ago
|
||
Comment on attachment 8383483 [details] [diff] [review]
Fix ForceComposite message for e10s
Review of attachment 8383483 [details] [diff] [review]:
-----------------------------------------------------------------
::: gfx/layers/ipc/PLayerTransaction.ipdl
@@ +84,5 @@
>
> // Drop any front buffers that might be retained on the compositor
> // side.
> async ClearCachedResources();
> +
nit: trailing space
Attachment #8383483 -
Flags: review?(nical.bugzilla) → review+
Assignee | ||
Comment 9•11 years ago
|
||
Assignee | ||
Updated•11 years ago
|
Assignee: nobody → matt.woodrow
Comment 10•11 years ago
|
||
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla30
You need to log in
before you can comment on or make changes to this bug.
Description
•