Closed Bug 1056155 Opened 10 years ago Closed 10 years ago

Don't assume FrameMetrics and APZC objects are only on ContainerLayers

Categories

(Core :: Graphics: Layers, defect)

x86
macOS
defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla34

People

(Reporter: kats, Assigned: kats)

References

Details

Attachments

(1 file, 1 obsolete file)

I missed a few spots in bug 1051985 when I moved the scrolling-related properties from ContainerLayer to Layer
Attached patch Patch (obsolete) — Splinter Review
Comment on attachment 8475964 [details] [diff] [review]
Patch

Review of attachment 8475964 [details] [diff] [review]:
-----------------------------------------------------------------

Also, do you understand the code in RenderFrameParent? Specifically the code at [1] - it looks like it's doing something very similar to AsyncCompositionManager and I'm wondering if the order of transforms there needs to be flipped to go with bug 1052063 (cset 7dc893ff9125).

[1] http://mxr.mozilla.org/mozilla-central/source/layout/ipc/RenderFrameParent.cpp?rev=1ca58eced657#227
Attachment #8475964 - Flags: review?(matt.woodrow)
Bug 1056427 obsoletes the RenderFrameParent changes here but the rest is still valid I think.
Depends on: 1056427
Comment on attachment 8475964 [details] [diff] [review]
Patch

Review of attachment 8475964 [details] [diff] [review]:
-----------------------------------------------------------------

Feel free to leave out the RenderFrameParent bits as I'll be removing them.
Attachment #8475964 - Flags: review?(matt.woodrow) → review+
Attached patch PatchSplinter Review
Updated to remove the RFP bits; carrying r+
Attachment #8475964 - Attachment is obsolete: true
Attachment #8476626 - Flags: review+
checkin-needed because it's a simple patch and can be squashed with other things to save resources. Try push in comment 3 is green (except for the intermittents and the stuff I aborted).
Keywords: checkin-needed
Hm.. it looks like the latest version of your patch on bug 1056427 still keeps the bit in the RenderFrameParent constructor that gets the frame metrics from lm->GetRoot()->AsContainerLayer(). Will that also get axed at some point, or is that going to stick around?
Flags: needinfo?(matt.woodrow)
Metro and test-ipcbrowser both still use the nsIContentViewManager. I'm sure it's all dead code, because that interface can't have been working previously, and it needs to be ripped out. I don't know much about the metro code though, someone else might want to do that.
Flags: needinfo?(matt.woodrow)
(In reply to Matt Woodrow (:mattwoodrow) from comment #10)
> Metro and test-ipcbrowser both still use the nsIContentViewManager. I'm sure
> it's all dead code, because that interface can't have been working
> previously, and it needs to be ripped out. I don't know much about the metro
> code though, someone else might want to do that.

I filed bug 936690 a while ago about removing nsIContentView / nsIContentViewManager.
Jim, do you know about the code in metro that uses the nsIContentView[Manager] interfaces? It looks like that code is used for scrolling but is probably not used with APZC enabled, is that correct? Can we rip it out?

[1] http://mxr.mozilla.org/mozilla-central/source/browser/metro/base/content/bindings/browser.xml?rev=cc298e4b0f47#25
Flags: needinfo?(jmathies)
(This discussion should probably be happening on bug 1056427 and/or bug 936690, but whatever...)
(In reply to Kartikaya Gupta (email:kats@mozilla.com) from comment #12)
> Jim, do you know about the code in metro that uses the
> nsIContentView[Manager] interfaces? It looks like that code is used for
> scrolling but is probably not used with APZC enabled, is that correct? Can
> we rip it out?
> 
> [1]
> http://mxr.mozilla.org/mozilla-central/source/browser/metro/base/content/
> bindings/browser.xml?rev=cc298e4b0f47#25

I haven't interacted with this code at all so I'm not sure what it does. It looks like it's mostly untouched from the original landing.

The plan was to move over to using toolkits remote-browser, but that work was never completed.

Maybe we could just orphan this in the metro code, and file a bug on investigating what it's for knowing that the removal of the interfaces will break whatever it does.
Flags: needinfo?(jmathies)
(In reply to Jim Mathies [:jimm] from comment #14)
> (In reply to Kartikaya Gupta (email:kats@mozilla.com) from comment #12)
> > Jim, do you know about the code in metro that uses the
> > nsIContentView[Manager] interfaces? It looks like that code is used for
> > scrolling but is probably not used with APZC enabled, is that correct? Can
> > we rip it out?
> > 
> > [1]
> > http://mxr.mozilla.org/mozilla-central/source/browser/metro/base/content/
> > bindings/browser.xml?rev=cc298e4b0f47#25
> 
> I haven't interacted with this code at all so I'm not sure what it does. It
> looks like it's mostly untouched from the original landing.
> 
> The plan was to move over to using toolkits remote-browser, but that work
> was never completed.
> 
> Maybe we could just orphan this in the metro code, and file a bug on
> investigating what it's for knowing that the removal of the interfaces will
> break whatever it does.

The code is already broken, because those interfaces aren't hooked up to anything useful. We just want it ripped out so we can remove the interface definitions and finish cleaning things up.
My vote is to set this._contentViewManager to null with a TODO and leave the rest of the code as is. We can deal with the fallout if any the next time we merge m-c to the metro branch. My assumption is that the code is not exercised in any meaningful way and so there should be no problem. I can do a metro build with that tomorrow to verify.
https://hg.mozilla.org/mozilla-central/rev/734451332c5b
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla34
(In reply to Kartikaya Gupta (email:kats@mozilla.com) from comment #16)
> I can do
> a metro build with that tomorrow to verify.

I verified that setting _contentViewManager to null seems to have no effect on the latest code in the metro branch. The browser still starts and works as expected. Moving discussion over to bug 936690.
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: