WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
150906
[iOS] Fullscreen -> PiP should resume to Fullscreen, not inline
https://bugs.webkit.org/show_bug.cgi?id=150906
Summary
[iOS] Fullscreen -> PiP should resume to Fullscreen, not inline
Jer Noble
Reported
2015-11-04 14:51:17 PST
[iOS] Fullscreen -> PiP should resume to Fullscreen, not inline
Attachments
Patch
(38.39 KB, patch)
2015-11-05 14:33 PST
,
Jer Noble
no flags
Details
Formatted Diff
Diff
Patch
(38.48 KB, patch)
2015-11-05 16:58 PST
,
Jer Noble
simon.fraser
: review+
Details
Formatted Diff
Diff
Patch for landing
(38.08 KB, patch)
2015-12-02 15:45 PST
,
Jer Noble
no flags
Details
Formatted Diff
Diff
Show Obsolete
(1)
View All
Add attachment
proposed patch, testcase, etc.
Jer Noble
Comment 1
2015-11-05 14:33:25 PST
Created
attachment 264883
[details]
Patch
WebKit Commit Bot
Comment 2
2015-11-05 14:35:09 PST
Attachment 264883
[details]
did not pass style-queue: ERROR: Source/WebCore/platform/ios/WebVideoFullscreenInterfaceAVKit.mm:1435: Place brace on its own line for function definitions. [whitespace/braces] [4] Total errors found: 1 in 17 files If any of these errors are false positives, please file a bug against check-webkit-style.
Jer Noble
Comment 3
2015-11-05 16:58:10 PST
Created
attachment 264901
[details]
Patch
WebKit Commit Bot
Comment 4
2015-11-05 16:59:53 PST
Attachment 264901
[details]
did not pass style-queue: ERROR: Source/WebCore/platform/ios/WebVideoFullscreenInterfaceAVKit.mm:1435: Place brace on its own line for function definitions. [whitespace/braces] [4] Total errors found: 1 in 17 files If any of these errors are false positives, please file a bug against check-webkit-style.
Jon Lee
Comment 5
2015-11-12 11:38:35 PST
rdar://problem/20596271
Eric Carlson
Comment 6
2015-11-12 12:11:48 PST
Comment on
attachment 264901
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=264901&action=review
This looks fine to me, but a WK2 reviewer will need to give it an official r+.
> Source/WebCore/ChangeLog:22 > + Add methods to for clients to request a specific fullscreen mode, and to query whether > + the page is currently visible.
Nit: "to for clients"?
Simon Fraser (smfr)
Comment 7
2015-11-18 14:29:18 PST
Comment on
attachment 264901
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=264901&action=review
> Source/WebCore/ChangeLog:8 > + When "restoring" the user interface when exiting PiP, we should return to Fullscreen if that
"restoring" reads like butchers quotes.
> Source/WebCore/html/HTMLVideoElement.cpp:405 > + LOG(Media, "HTMLVideoElement::webkitSetPresentationMode(%p) - setting to \"%s\"", this, mode.utf8().data());
You could LOG_STREAM(Media, stream << "HTMLVideoElement::webkitSetPresentationMode(" << this << ") - setting to " << mode);
> Source/WebCore/platform/ios/WebVideoFullscreenInterfaceAVKit.mm:657 > if ([_videoSublayer superlayer] != self) > return; > > - [_videoSublayer setPosition:CGPointMake(CGRectGetMidX(bounds), CGRectGetMidY(bounds))]; > - > if (![_avPlayerController delegate]) > return;
Would be nice to wrap these checks in a function that describes what state you expect these to be true in.
> Source/WebCore/platform/ios/WebVideoFullscreenInterfaceAVKit.mm:838 > + WebAVPlayerLayer *pipPlayerLayer = (WebAVPlayerLayer *)[pipView layer];
Do we know that [pipView layer] is always a WebAVPlayerLayer? Could some other framework break this under us?
Jer Noble
Comment 8
2015-12-02 14:49:43 PST
(In reply to
comment #7
)
> Comment on
attachment 264901
[details]
> Patch > > View in context: >
https://bugs.webkit.org/attachment.cgi?id=264901&action=review
> > > Source/WebCore/ChangeLog:8 > > + When "restoring" the user interface when exiting PiP, we should return to Fullscreen if that > > "restoring" reads like butchers quotes.
Okay, I'll "remove" them.
> > Source/WebCore/html/HTMLVideoElement.cpp:405 > > + LOG(Media, "HTMLVideoElement::webkitSetPresentationMode(%p) - setting to \"%s\"", this, mode.utf8().data()); > > You could LOG_STREAM(Media, stream << > "HTMLVideoElement::webkitSetPresentationMode(" << this << ") - setting to " > << mode);
Nice!
> > Source/WebCore/platform/ios/WebVideoFullscreenInterfaceAVKit.mm:657 > > if ([_videoSublayer superlayer] != self) > > return; > > > > - [_videoSublayer setPosition:CGPointMake(CGRectGetMidX(bounds), CGRectGetMidY(bounds))]; > > - > > if (![_avPlayerController delegate]) > > return; > > Would be nice to wrap these checks in a function that describes what state > you expect these to be true in. > > > Source/WebCore/platform/ios/WebVideoFullscreenInterfaceAVKit.mm:838 > > + WebAVPlayerLayer *pipPlayerLayer = (WebAVPlayerLayer *)[pipView layer]; > > Do we know that [pipView layer] is always a WebAVPlayerLayer? Could some > other framework break this under us?
Yes. The PiP view will always have a WebAVPlayerLayer because WebAVPictureInPicturePlayerLayerView has a -layerClass member which returns [WebAVPlayerLayer class].
Jer Noble
Comment 9
2015-12-02 15:45:17 PST
Created
attachment 266482
[details]
Patch for landing
WebKit Commit Bot
Comment 10
2015-12-02 15:53:31 PST
Attachment 266482
[details]
did not pass style-queue: ERROR: Source/WebCore/platform/ios/WebVideoFullscreenInterfaceAVKit.mm:1434: Place brace on its own line for function definitions. [whitespace/braces] [4] Total errors found: 1 in 17 files If any of these errors are false positives, please file a bug against check-webkit-style.
WebKit Commit Bot
Comment 11
2015-12-03 11:12:41 PST
Comment on
attachment 266482
[details]
Patch for landing Clearing flags on attachment: 266482 Committed
r193340
: <
http://trac.webkit.org/changeset/193340
>
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug