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

Reply via email to