Open Bug 498835 Opened 15 years ago Updated 1 year ago

Changes to nsIWidget::HideWindowChrome and nsBaseWidget::MakeFullScreen


(Core :: Widget, defect, P3)





(Reporter: mstange, Unassigned)


Currently, nsBaseWidget::MakeFullScreen is implemented like this:
 1. Call HideWindowChrome,
 2. save the window's frame rect,
 3. resize the window to fullscreen.

This means that HideWindowChrome has to preserve the window's outer bounds, while IMO it would be better to preserve its content rect, i.e. the inner bounds.
Moreover, the Windows implementation of HideWindowChrome doesn't have any immediate effects; only when you resize the window (which MakeFullScreen always does), after having called HideWindowChrome, the chrome is hidden / shown.

I think we should add a new method HideWindowChromeInRect. Then MakeFullScreen would work like this:
 1. Save the window's frame rect,
 2. calculate the screen's rect,
 3. call HideWindowChromeInRect with the computed screen rect.

And HideWindowChrome could just call HideWindowChromeInRect with the content bounds.

I'm filing this in order to get a bug number to reference in bug 420491.
Priority: -- → P3
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.