Closed Bug 936690 Opened 11 years ago Closed 10 years ago

Remove the nsIContentView and nsIContentViewManager interfaces

Categories

(Core :: DOM: Core & HTML, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla34

People

(Reporter: botond, Assigned: mattwoodrow)

References

Details

Attachments

(2 files)

We have two XPCOM interfaces called nsIContentView [1] and nsIContentViewManager [2]. Based on the comments in their IDL file and the documentation found here [3], their purpose seems to be to allow chrome js and/or addons to perform asynchronous scrolling. They do not currently serve this purpose - that would require the cooperation of the APZ [4], which is what we now use for asynchronous scrolling. These interfaces are not used anywhere in m-c except for one test file. They are also not used by addons that are searchable on mxr.mozilla.org/addons except one which just seems to bundle the test file in question [5]. The implementation of nsIContentView, nsContentView, is used internally by RenderFrameParent [6], but not the interface itself. If an add-on were to try to use these interfaces to perform asynchronous scrolling, strange things would happen, as it could access the nsContentView instances used internally by RenderFrameParent and modify the state they store in a way that RenderFrameParent does not expect. I propose that these interfaces be removed, and the implementation nsContentView be kept around as an implementation detail of RenderFrameParent (that code can potentially be refactored as a follow-up to eliminate the implementation too). Any comments or objections? Did I miss a use or use case of these interfaces? [1] http://mxr.mozilla.org/mozilla-central/source/content/base/public/nsIFrameLoader.idl#41 [2] http://mxr.mozilla.org/mozilla-central/source/content/base/public/nsIFrameLoader.idl#85 [3] https://developer.mozilla.org/en-US/docs/Multi-Process_Architecture/Working_with_content_views [4] https://wiki.mozilla.org/Platform/GFX/APZ [5] https://mxr.mozilla.org/addons/search?string=nsIContentViewManager [6] http://mxr.mozilla.org/mozilla-central/source/layout/ipc/RenderFrameParent.h#151
Probably just left over from the first async scrolling implementation?
mattwoodrow, care to rip all this stuff out as a follow-up to bug 1056427?
Assignee: nobody → matt.woodrow
Depends on: 1056427
Attachment #8477437 - Flags: review?(mbrubeck) → review+
Attached patch Remove nsIContentView (deleted) — Splinter Review
Attachment #8478738 - Flags: review?(roc)
Comment on attachment 8478738 [details] [diff] [review] Remove nsIContentView Review of attachment 8478738 [details] [diff] [review]: ----------------------------------------------------------------- Hurrah!
Attachment #8478738 - Flags: review?(roc) → review+
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla34
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: