Closed
Bug 1493655
Opened 6 years ago
Closed 6 years ago
nsISecureBrowserUI::Init should take a docshell instead of a content window
Categories
(Core :: Security: PSM, enhancement)
Core
Security: PSM
Tracking
()
RESOLVED
FIXED
mozilla64
Tracking | Status | |
---|---|---|
firefox64 | --- | fixed |
People
(Reporter: Gijs, Assigned: Gijs)
References
(Depends on 1 open bug, Blocks 1 open bug)
Details
Attachments
(1 file)
The only thing the nsSecureBrowserUIImpl constructor does with the window is get the docshell. Instead, we could just pass the docshell directly. This would reduce code size and avoid constructing an about:blank content window in the docshell when constructing the security UI / info object. This seems a pretty simple change so, assuming that doesn't turn out to be an illusion, I'd like to do that in this bug, to fix the immediate problem I'm seeing where the securityUI initialization forces initialization of the content window - plus tidying up some code that currently gets a content window reference for no reason other than to construct this object. Longer-term though, I wonder why consumers are responsible for the construction of this object. I guess there's a performance impact when constructing it for docshells that don't need it (ie have no security UI). On the other hand, perhaps we could rework the implementation so it can be fetched "just in time". That is, make docshell construct one if someone requests it and it doesn't exist yet, and make the securityInfo object populate its mState member if it's 0/uninitialized, and someone asks it for the security state, using the docshell's document channel (after which it'll then be updated the usual way).
Assignee | ||
Updated•6 years ago
|
Summary: nsISecureBrowserUI should either be constructed by docshell itself or at least take a docshell instead of a content window → nsISecureBrowserUI::Init take a docshell instead of a content window
Assignee | ||
Updated•6 years ago
|
Summary: nsISecureBrowserUI::Init take a docshell instead of a content window → nsISecureBrowserUI::Init should take a docshell instead of a content window
Assignee | ||
Comment 1•6 years ago
|
||
(In reply to :Gijs (he/him) from comment #0) > Longer-term though, I wonder why consumers are responsible for the > construction of this object. I guess there's a performance impact when > constructing it for docshells that don't need it (ie have no security UI). > On the other hand, perhaps we could rework the implementation so it can be > fetched "just in time". That is, make docshell construct one if someone > requests it and it doesn't exist yet, and make the securityInfo object > populate its mState member if it's 0/uninitialized, and someone asks it for > the security state, using the docshell's document channel (after which it'll > then be updated the usual way). Hm. I looked at this a bit, but I don't see a good way of making this lazy today - it looks and feels as if consumers explicitly construct this today because they want the onSecurityChange() notifications, and they don't otherwise update anything, so if we push responsibility into docshell we'd have to create it eagerly, or we'd miss the notifications. That's definitely possible, but seems like a bit of work that we don't necessarily need to do here, also because we'd want to avoid doing it for chrome type docshells etc. etc.
Assignee: nobody → gijskruitbosch+bugs
Status: NEW → ASSIGNED
Assignee | ||
Comment 2•6 years ago
|
||
This also removes the (afaict, unused) stub implementation from TabParent. The netwerk header inclusions were necessary because those files included TabParent.h and through it, nsISecureBrowserUI, but now TabParent.h no longer does that.
Comment on attachment 9011917 [details] Bug 1493655 - make nsISecureBrowserUI initialize from a docshell instead of a window, r?keeler,nika Dana Keeler [:keeler] (she/her) (use needinfo) has approved the revision.
Attachment #9011917 -
Flags: review+
Updated•6 years ago
|
Attachment #9011917 -
Attachment description: Bug 1493655 - make nsISecureBrowserUI initialize from a docshell instead of a window, r?keeler → Bug 1493655 - make nsISecureBrowserUI initialize from a docshell instead of a window, r?keeler,nika
Comment 4•6 years ago
|
||
Comment on attachment 9011917 [details] Bug 1493655 - make nsISecureBrowserUI initialize from a docshell instead of a window, r?keeler,nika :Nika Layzell has approved the revision.
Attachment #9011917 -
Flags: review+
Pushed by gijskruitbosch@gmail.com: https://hg.mozilla.org/integration/autoland/rev/d86f6268d191 make nsISecureBrowserUI initialize from a docshell instead of a window, r=keeler,nika
Comment 6•6 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/d86f6268d191
Status: ASSIGNED → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla64
You need to log in
before you can comment on or make changes to this bug.
Description
•