Closed
Bug 191408
Opened 22 years ago
Closed 21 years ago
Change security policy check in nsWindowWatcher::OpenWindowJS so that xpcshell can use the prompt service
Categories
(Core Graveyard :: Embedding: APIs, enhancement)
Tracking
(Not tracked)
RESOLVED
FIXED
People
(Reporter: timeless, Assigned: timeless)
Details
Attachments
(2 files)
|
692 bytes,
patch
|
danm.moz
:
review-
jst
:
superreview+
|
Details | Diff | Splinter Review |
|
1.41 KB,
patch
|
timeless
:
review+
timeless
:
superreview+
|
Details | Diff | Splinter Review |
I know this sort of thing is risky, but i'd like to be able to use the promptservice from xpcshell and at present I can't. what i've done: 1. created a contract (@raistlin.timeless/window-creator;1) for nsWindowCreator -- I think i've done this before (perhaps bug 131084), and I really should get some contract into cvs so that normal xpcshell testers can have access to it. 2. patched window watcher. Then in xpcshell, i can do this: const C=Components.classes,I=Components.interfaces; wc=C["@raistlin.timeless/window-creator;1"].getService(I.nsIWindowCreator2) ww=C["@mozilla.org/embedcomp/window-watcher;1"].getService(I.nsIWindowWatcher) ps=C["@mozilla.org/embedcomp/prompt-service;1"].getService(I.nsIPromptService) ww.setWindowCreator(wc) ps.alert({},"title","message") being able to use the prompt service and other things from xpcshell is very handy. the patch only works for modal dialogs (confirm, alert). I suspect windows would require setting up an event loop.
the scriptCX test is the only thing that fails in xpcshell. I believe that scriptCX will not be null in browser cases so the rest of the test should always work as expected.
Attachment #113167 -
Flags: superreview?
Attachment #113167 -
Flags: review?(jst)
Updated•22 years ago
|
QA Contact: depstein → mdunn
Comment 2•22 years ago
|
||
Comment on attachment 113167 [details] [diff] [review] treat the lack of a script context as a sign that the script is priveleged r=jst
Attachment #113167 -
Flags: review?(jst) → review+
Comment 3•22 years ago
|
||
I'm OK with this patch if jst is - in general, we assume (although it's somewhat risky) that no context means we're in privileged mode.
Comment 4•22 years ago
|
||
Comment on attachment 113167 [details] [diff] [review] treat the lack of a script context as a sign that the script is priveleged I think I meant to say sr=jst last time... sr=jst
Attachment #113167 -
Flags: superreview?
Attachment #113167 -
Flags: superreview+
Attachment #113167 -
Flags: review+
Attachment #113167 -
Flags: review?(danm)
Comment on attachment 113167 [details] [diff] [review] treat the lack of a script context as a sign that the script is priveleged possible dereference of null
Attachment #113167 -
Flags: review?(danm) → review-
If Mitchell's happy and Johnny's happy then I'm happy. Thanks for telling me about it. However, I think there was a flaw in the last patch. I suggest this one. This patch has three changes: the first is from the first patch. The second change is a drive-by patch because rv has no meaning right there so why not a little cleanup. The third change is because secMan can possibly be null given the first change, and while I was in there I thought it'd be nice to get rid of some redundant NS_FAILED/object-is-null silliness. One thing though and this wants review. This patch makes a failure to GetSubjectPrincipal not fatal. The possibility of no script context makes this an issue. This means the DocShellLoadInfo object will never get its Owner set. Should this be a fatal error? I'm not certain. It is now but won't be with these changes. I'd be comfy if Johnny and maybe Darin would take a look.
Attachment #113559 -
Flags: superreview?(darin)
Attachment #113559 -
Flags: review?(jst)
Comment 7•21 years ago
|
||
Comment on attachment 113559 [details] [diff] [review] same as before but a little more I don't think we want to ignore errors from GetSubjectPrincipal(), that call should only fail if something is really wrong, it won't fail just because there's no context on the context stack or anything like that. r=jst if you undo the last part of this change.
Attachment #113559 -
Flags: review?(jst) → review+
Comment on attachment 113559 [details] [diff] [review] same as before but a little more transfering jst's r to sr
Attachment #113559 -
Flags: superreview?(darin)
Attachment #113559 -
Flags: superreview+
Attachment #113559 -
Flags: review+
Comment on attachment 113559 [details] [diff] [review] same as before but a little more marking my own r=. jst's variation works for me, so i'm committing it.
Attachment #113559 -
Flags: review+
| Assignee | ||
Comment 10•21 years ago
|
||
checked in, thanks
Status: NEW → RESOLVED
Closed: 21 years ago
Resolution: --- → FIXED
Updated•5 years ago
|
Product: Core → Core Graveyard
You need to log in
before you can comment on or make changes to this bug.
Description
•