RESOLVED FIXED 143131
Synchronize fullscreen animation between processes.
https://bugs.webkit.org/show_bug.cgi?id=143131
Summary Synchronize fullscreen animation between processes.
Jeremy Jones
Reported 2015-03-27 04:54:23 PDT
Synchronize fullscreen animation between processes.
Attachments
Patch (13.40 KB, patch)
2015-03-27 05:19 PDT, Jeremy Jones
no flags
Patch (19.53 KB, patch)
2015-03-27 12:12 PDT, Jeremy Jones
no flags
Patch (19.49 KB, patch)
2015-03-27 14:59 PDT, Jeremy Jones
no flags
Patch (24.14 KB, patch)
2015-04-02 18:47 PDT, Jer Noble
no flags
Jeremy Jones
Comment 1 2015-03-27 05:19:54 PDT
Jeremy Jones
Comment 2 2015-03-27 05:20:43 PDT
Simon Fraser (smfr)
Comment 3 2015-03-27 08:46:03 PDT
Comment on attachment 249562 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=249562&action=review > Source/WebCore/platform/ios/WebVideoFullscreenInterfaceAVKit.mm:623 > + id<CAAction> action = nil; // [self actionForKey:@"bounds"]; Please don't commit commented-out code. Reference a bug in a comment if you need to. > Source/WebCore/platform/ios/WebVideoFullscreenInterfaceAVKit.mm:624 > + if (action && action != [NSNull null]) { Should this use -isEqual:? > Source/WebKit2/UIProcess/ios/WebVideoFullscreenManagerProxy.mm:38 > +#import <BackBoardServices/BKSAnimationFence.h> > +#import <BackBoardServices/BKSAnimationFence_Private.h> This will break the public iOS build. > Source/WebKit2/UIProcess/ios/WebVideoFullscreenManagerProxy.mm:40 > +#import <UIKit/UIWindow_Private.h> Ditto. > Source/WebKit2/UIProcess/ios/WebVideoFullscreenManagerProxy.mm:56 > + : m_page(&page), m_lastFencePort(0) Each initialization on its own line please.
Jer Noble
Comment 4 2015-03-27 08:54:08 PDT
Comment on attachment 249562 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=249562&action=review >> Source/WebCore/platform/ios/WebVideoFullscreenInterfaceAVKit.mm:623 >> + id<CAAction> action = nil; // [self actionForKey:@"bounds"]; > > Please don't commit commented-out code. Reference a bug in a comment if you need to. This must have been inadvertent. It makes the following section meaningless. >> Source/WebCore/platform/ios/WebVideoFullscreenInterfaceAVKit.mm:624 >> + if (action && action != [NSNull null]) { > > Should this use -isEqual:? It should probably just get reversed to: if (!action || [action isKindOfClass:[NSNull class]]) ...disableActions... else { ...other stuff... } I'm curious, however, why the `action` doesn't seem to be used inside the following block: > Source/WebCore/platform/ios/WebVideoFullscreenInterfaceAVKit.mm:626 > + [CATransaction setAnimationTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]]; > + [CATransaction setAnimationDuration:0.4]; Shouldn't we be matching the timing function and duration with that of the action?
Jeremy Jones
Comment 5 2015-03-27 11:20:55 PDT
(In reply to comment #3) > Comment on attachment 249562 [details] > Patch > > View in context: > https://bugs.webkit.org/attachment.cgi?id=249562&action=review > > > Source/WebCore/platform/ios/WebVideoFullscreenInterfaceAVKit.mm:623 > > + id<CAAction> action = nil; // [self actionForKey:@"bounds"]; > > Please don't commit commented-out code. Reference a bug in a comment if you > need to. Removed. Code, referenced radar. > > > Source/WebCore/platform/ios/WebVideoFullscreenInterfaceAVKit.mm:624 > > + if (action && action != [NSNull null]) { > > Should this use -isEqual:? NSNull is a singleton, so this is valid, but I'll change it to -isEqual: > > > Source/WebKit2/UIProcess/ios/WebVideoFullscreenManagerProxy.mm:38 > > +#import <BackBoardServices/BKSAnimationFence.h> > > +#import <BackBoardServices/BKSAnimationFence_Private.h> > > This will break the public iOS build. Removed imports. Created BackBoardServiesSPI.h > > > Source/WebKit2/UIProcess/ios/WebVideoFullscreenManagerProxy.mm:40 > > +#import <UIKit/UIWindow_Private.h> > > Ditto. Removed import. Added interfaces to UIKitSPI.h > > > Source/WebKit2/UIProcess/ios/WebVideoFullscreenManagerProxy.mm:56 > > + : m_page(&page), m_lastFencePort(0) > > Each initialization on its own line please. Moved to separate line.
Jeremy Jones
Comment 6 2015-03-27 11:30:45 PDT
(In reply to comment #4) > Comment on attachment 249562 [details] > Patch > > View in context: > https://bugs.webkit.org/attachment.cgi?id=249562&action=review > > >> Source/WebCore/platform/ios/WebVideoFullscreenInterfaceAVKit.mm:623 > >> + id<CAAction> action = nil; // [self actionForKey:@"bounds"]; > > > > Please don't commit commented-out code. Reference a bug in a comment if you need to. Removed commented out code. Referenced a radar. > > This must have been inadvertent. It makes the following section meaningless. Intentional. I'll remove that code also and put it in the radar. The commented out code causes big UI problems. Still need to find a better way to do that. > > >> Source/WebCore/platform/ios/WebVideoFullscreenInterfaceAVKit.mm:624 > >> + if (action && action != [NSNull null]) { > > > > Should this use -isEqual:? NSNull is a singleton, so it is valid, but I've changed it to -isEqual: > > It should probably just get reversed to: > > if (!action || [action isKindOfClass:[NSNull class]]) > ...disableActions... > else { > ...other stuff... > } Reversed. > > I'm curious, however, why the `action` doesn't seem to be used inside the > following block: > > > Source/WebCore/platform/ios/WebVideoFullscreenInterfaceAVKit.mm:626 > > + [CATransaction setAnimationTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]]; > > + [CATransaction setAnimationDuration:0.4]; > > Shouldn't we be matching the timing function and duration with that of the > action? That action is a private class from UIKit and doesn't lend itself to proper inspection. I'm still looking for a better way to do that. I'll remove this code and move it to the radar.
Jeremy Jones
Comment 7 2015-03-27 12:12:36 PDT
Jeremy Jones
Comment 8 2015-03-27 14:59:07 PDT
Jer Noble
Comment 9 2015-04-02 18:47:39 PDT
WebKit Commit Bot
Comment 10 2015-04-06 15:03:40 PDT
Comment on attachment 250028 [details] Patch Clearing flags on attachment: 250028 Committed r182439: <http://trac.webkit.org/changeset/182439>
WebKit Commit Bot
Comment 11 2015-04-06 15:03:45 PDT
All reviewed patches have been landed. Closing bug.
Jer Noble
Comment 12 2015-04-07 10:20:07 PDT
Follow up build fix committed. Committed r182477: <http://trac.webkit.org/r182477>.
Note You need to log in before you can comment on or make changes to this bug.