On Sep 3, 8:13 pm, Daniel Veditz <[EMAIL PROTECTED]> wrote: > rael wrote: > > On Sep 1, 11:48 am, Daniel Veditz <[EMAIL PROTECTED]> wrote: > >> It looks like there's an extra check, in addition to having the right > >> privelege (UniversalBrowserWrite) the window in question must have a > >> chrome parent: > > >>http://bonsai.mozilla.org/cvsblame.cgi?file=mozilla/embedding/compone... > > > Ugh. It would have been nice to have this documented when I started > > on this ... oh well. So, how do insure a window that I'm opening has > > a "chrome parent"? > > By running chrome code, but you then say you don't want to do that: > > > Thanks for your other suggestions, though if I cannot get > > alwaysLowered to work, even in a signed script, I'll have to give up > > on this. > > Why is signed script with pre-installed prefs OK but a preinstalled > component not? Your signed script is already asking for permissions > equal to a preinstalled component.
[Sorry Daniel, I replied to you and did not include the group.] Largely for expediency. We have a tremendous amount invested in the current javascript-based infrastructure, and learning how to build a component, solely for the purpose of getting a window to open underneath others seems to be too much work for such a small payoff. I feel that I am close, again, if I understand how alwaysLowered is supposed to work. I've already gotten past signed scripts, now I just need to get the blasted window to open beneath the others. See, here is the issue: I am trying to have a stack of windows, two sets of two windows. The first set of windows is sized identically and fits visually "inside" the other set of two windows --- that is, the larger window set "wraps" the smaller window. The first set of windows must be able to cycle from back to front, and the second set of window must be able to cycle from front to back. The reason for this is complicated, but basically it is twofold: 1) to allow content to load into a window set in the lower window, and when it has started loading, to make it visible above the other window in its set, thus avoiding (as much as possible) visual whitespace while the component displaying the content gets itself going on the new content (e.g., mplayer); 2) to allow the lower set of content, when it is cycled to avoid visual whitespace, to never obscure the upper set of windows --- hence the need for an 'alwaysLowered" window. So, imagine two sheets of letter paper layed horizontally on top of each other --- this is the larger set, call it the "full-screen" set. Then, take two postcards and put them one on top of the other, and align their top-left corner with that of the letter paper stack. Now, imagine saying "ok, show me the puppy-dog video in the full-screen window". The code loads the puppy-dog video into the bottom-most letter paper, then after a short delay (say, 75 milliseconds) it brings that bottom-most window above the other piece of letter paper, but not above either of the postcards. The way I have tried to accomplish this cycling of the full-screen windows is to close the top-most of them, simply uncovering the lower-most one, and then opening another full-screen window in 'alwaysLowered' mode. I have spent most of the day walking through the firefox source code to see how this works, but I'm not having much luck. It appears that the window features are being passed properly, the code realizes that I'm asking for an alwaysLowered window, it does not appear that any security violations are causing this setting to be ignored, etc., but no matter what I try, I cannot get the window to do what I want. Well, thank you for your time. If you have any ideas on how to get this to work in a signed script, I'd appreciate it. If I really must, I will look into writing a component, but there the component must be able to cycle the window stacks as I need them to... Thanks again. Bill _______________________________________________ dev-security mailing list [email protected] https://lists.mozilla.org/listinfo/dev-security
