Changeset 175585 in webkit
- Timestamp:
- Nov 4, 2014 4:22:46 PM (9 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r175584 r175585 1 2014-11-04 Reza Abbasian <rabbasian@apple.com> 2 3 [iOS] Fix incorrect interface orientation that can be caused by fullscreen video dismissal. 4 https://bugs.webkit.org/show_bug.cgi?id=137930. 5 6 Reviewed by Jer Noble. 7 8 When a fullscreen video gets dismissed programmatically, for instance for removing 9 a webview from the view hierarchy, it can put the device in an incorrect orientation. 10 Make sure we retain the window of parentView when we attempt to go to fullscreen and use 11 the retained window for putting the device in correct orientation after dismissal. 12 13 * platform/ios/WebVideoFullscreenInterfaceAVKit.h: 14 * platform/ios/WebVideoFullscreenInterfaceAVKit.mm: 15 (WebVideoFullscreenInterfaceAVKit::setupFullscreen): 16 (WebVideoFullscreenInterfaceAVKit::cleanupFullscreen): 17 (WebVideoFullscreenInterfaceAVKit::invalidate): 18 1 19 2014-11-04 Andreas Kling <akling@apple.com> 2 20 -
trunk/Source/WebCore/platform/ios/WebVideoFullscreenInterfaceAVKit.h
r175279 r175585 102 102 RetainPtr<UIViewController> m_viewController; 103 103 RetainPtr<UIView> m_parentView; 104 RetainPtr<UIWindow> m_parentWindow; 104 105 HTMLMediaElement::VideoFullscreenMode m_mode; 105 106 bool m_exitRequested; -
trunk/Source/WebCore/platform/ios/WebVideoFullscreenInterfaceAVKit.mm
r175279 r175585 803 803 [CATransaction setDisableActions:YES]; 804 804 m_parentView = parentView; 805 m_parentWindow = parentView.window; 805 806 806 807 if (!applicationIsAdSheet()) { … … 980 981 [m_window setHidden:YES]; 981 982 [m_window setRootViewController:nil]; 982 [[getUIApplicationClass() sharedApplication] _setStatusBarOrientation:[[m_parentView window] interfaceOrientation]]; 983 if (m_parentWindow) 984 [[getUIApplicationClass() sharedApplication] _setStatusBarOrientation:[m_parentWindow interfaceOrientation]]; 983 985 } 984 986 [m_playerViewController setDelegate:nil]; … … 997 999 m_window = nil; 998 1000 m_parentView = nil; 1001 m_parentWindow = nil; 999 1002 1000 1003 WebThreadRun(^{ … … 1027 1030 m_window = nil; 1028 1031 m_parentView = nil; 1032 m_parentWindow = nil; 1029 1033 } 1030 1034
Note: See TracChangeset
for help on using the changeset viewer.