Open Bug 741475 Opened 13 years ago Updated 2 years ago

Use 10.7 OS specific fullscreen notifications for fullscreen api event states

Categories

(Core :: Widget: Cocoa, defect)

x86
macOS
defect

Tracking

()

People

(Reporter: humph, Unassigned)

References

(Depends on 1 open bug, )

Details

I'm trying to get tests to work for pointer lock (bug 633602) and it's proving to be difficult, especially on 10.7. I notice that we've opted for a hacky testing solution in http://mxr.mozilla.org/mozilla-central/source/content/html/content/test/test_fullscreen-api.html?force=1 and I think we should integrate the 10.7 specific notifications (see http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/ApplicationKit/Classes/NSWindow_Class/Reference/Reference.html): NSWindowWillEnterFullScreenNotification Posted when the window will enter full screen mode. The notification object is the NSWindow object will enter full screen mode. This notification does not contain a userInfo dictionary. Availability Available in Mac OS X v10.7 and later. Declared In NSWindow.h NSWindowDidEnterFullScreenNotification Posted when the window entered full screen mode. The notification object is the NSWindow object entered full screen mode. This notification does not contain a userInfo dictionary. Availability Available in Mac OS X v10.7 and later. Declared In NSWindow.h NSWindowWillExitFullScreenNotification Posted when the window will exit full screen mode. The notification object is the NSWindow object that will exit full screen mode. This notification does not contain a userInfo dictionary. Availability Available in Mac OS X v10.7 and later. Declared In NSWindow.h NSWindowDidExitFullScreenNotification Posted when the window will exit full screen mode. The notification object is the NSWindow object that will exit full screen mode. This notification does not contain a userInfo dictionary. Availability Available in Mac OS X v10.7 and later. Declared In NSWindow.h /System/Library/Frameworks/AppKit.framework/Versions/C/Headers/NSWindow.h @757: - (void)windowWillEnterFullScreen:(NSNotification *)notification NS_AVAILABLE_MAC(10_7); - (void)windowDidEnterFullScreen:(NSNotification *)notification NS_AVAILABLE_MAC(10_7); - (void)windowWillExitFullScreen:(NSNotification *)notification NS_AVAILABLE_MAC(10_7); - (void)windowDidExitFullScreen:(NSNotification *)notification NS_AVAILABLE_MAC(10_7); /System/Library/Frameworks/AppKit.framework/Versions/C/Headers/NSWindow.h @791: APPKIT_EXTERN NSString * const NSWindowWillEnterFullScreenNotification NS_AVAILABLE_MAC(10_7); APPKIT_EXTERN NSString * const NSWindowDidEnterFullScreenNotification NS_AVAILABLE_MAC(10_7); APPKIT_EXTERN NSString * const NSWindowWillExitFullScreenNotification NS_AVAILABLE_MAC(10_7); APPKIT_EXTERN NSString * const NSWindowDidExitFullScreenNotification NS_AVAILABLE_MAC(10_7); Chris pointed me at bug 739749, but I feel like we should just do the proper wiring and get notified as the steps progress.
So it looks like we do this (http://mxr.mozilla.org/mozilla-central/source/widget/cocoa/nsCocoaWindow.mm#1942) but perhaps not as well as we need to?
(In reply to David Humphrey (:humph) from comment #0) > Chris pointed me at bug 739749, but I feel like we should just do the proper > wiring and get notified as the steps progress. (In reply to David Humphrey (:humph) from comment #1) > So it looks like we do this > (http://mxr.mozilla.org/mozilla-central/source/widget/cocoa/nsCocoaWindow. > mm#1942) but perhaps not as well as we need to? When I filed bug 739749, I envisioned using the notifications we get from OS X. On other platforms (and OS X < 10.7) we would just fire the events ourselves as we saw appropriate. So I guess (without having read all of the pointer locking bug), we want the same thing - events fired from a window indicating the different stages of a transition to fullscreen?
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.