Closed
Bug 936690
Opened 11 years ago
Closed 10 years ago
Remove the nsIContentView and nsIContentViewManager interfaces
Categories
(Core :: DOM: Core & HTML, defect)
Core
DOM: Core & HTML
Tracking
()
RESOLVED
FIXED
mozilla34
People
(Reporter: botond, Assigned: mattwoodrow)
References
Details
Attachments
(2 files)
(deleted),
patch
|
mbrubeck
:
review+
|
Details | Diff | Splinter Review |
(deleted),
patch
|
roc
:
review+
|
Details | Diff | Splinter Review |
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
Comment 1•11 years ago
|
||
Probably just left over from the first async scrolling implementation?
Let's get rid of them!
Comment 3•10 years ago
|
||
mbrubeck, see backstory at https://bugzilla.mozilla.org/show_bug.cgi?id=1056155#c9 and following comments.
Attachment #8477437 -
Flags: review?(mbrubeck)
Comment 4•10 years ago
|
||
mattwoodrow, care to rip all this stuff out as a follow-up to bug 1056427?
Assignee: nobody → matt.woodrow
Depends on: 1056427
Updated•10 years ago
|
Attachment #8477437 -
Flags: review?(mbrubeck) → review+
Assignee | ||
Comment 5•10 years ago
|
||
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+
Assignee | ||
Comment 7•10 years ago
|
||
Comment 8•10 years ago
|
||
This merged yesterday
https://hg.mozilla.org/mozilla-central/rev/f1b9d154464e
https://hg.mozilla.org/mozilla-central/rev/c612d2a179f0
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.
Description
•