webrtc/examples/objc/AppRTCMobile/mac/APPRTCAppDelegate.m
landrey 15a73be295 Update apprtc example code to support macos 10.13
It currently blocks chromium to webrtc roll after https://crrev.com/c/3646050

Bug: b/232899082
Change-Id: I87e178d91037d844fc98a28491bdfe69fa3bc9b4
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/262802
Auto-Submit: Andrey Logvin <landrey@webrtc.org>
Commit-Queue: Kári Helgason <kthelgason@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Commit-Queue: Andrey Logvin <landrey@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36918}
2022-05-18 07:44:20 +00:00

55 lines
1.9 KiB
Objective-C

/*
* Copyright 2014 The WebRTC Project Authors. All rights reserved.
*
* Use of this source code is governed by a BSD-style license
* that can be found in the LICENSE file in the root of the source
* tree. An additional intellectual property rights grant can be found
* in the file PATENTS. All contributing project authors may
* be found in the AUTHORS file in the root of the source tree.
*/
#import "APPRTCAppDelegate.h"
#import "APPRTCViewController.h"
#import "sdk/objc/api/peerconnection/RTCSSLAdapter.h"
@interface APPRTCAppDelegate () <NSWindowDelegate>
@end
@implementation APPRTCAppDelegate {
APPRTCViewController* _viewController;
NSWindow* _window;
}
#pragma mark - NSApplicationDelegate
- (void)applicationDidFinishLaunching:(NSNotification*)notification {
RTCInitializeSSL();
NSScreen* screen = [NSScreen mainScreen];
NSRect visibleRect = [screen visibleFrame];
NSRect windowRect = NSMakeRect(NSMidX(visibleRect),
NSMidY(visibleRect),
1320,
1140);
NSUInteger styleMask = NSWindowStyleMaskTitled | NSWindowStyleMaskClosable;
_window = [[NSWindow alloc] initWithContentRect:windowRect
styleMask:styleMask
backing:NSBackingStoreBuffered
defer:NO];
_window.delegate = self;
[_window makeKeyAndOrderFront:self];
[_window makeMainWindow];
_viewController = [[APPRTCViewController alloc] initWithNibName:nil
bundle:nil];
[_window setContentView:[_viewController view]];
}
#pragma mark - NSWindow
- (void)windowWillClose:(NSNotification*)notification {
[_viewController windowWillClose:notification];
RTCCleanupSSL();
[NSApp terminate:self];
}
@end