<rdar://problem/20306227> Controls should drop off in a predefined order as the video gets narrower.
Created attachment 253023 [details] patch
Comment on attachment 253023 [details] patch Attachment 253023 [details] did not pass mac-ews (mac): Output: http://webkit-queues.appspot.com/results/4840607851741184 New failing tests: media/controls-dropoff.html fullscreen/video-controls-timeline.html media/controls-drag-timebar.html
Created attachment 253024 [details] Archive of layout-test-results from ews100 for mac-mavericks The attached test failures were seen while running run-webkit-tests on the mac-ews. Bot: ews100 Port: mac-mavericks Platform: Mac OS X 10.9.5
Comment on attachment 253023 [details] patch Attachment 253023 [details] did not pass mac-wk2-ews (mac-wk2): Output: http://webkit-queues.appspot.com/results/4690977633599488 New failing tests: media/controls-dropoff.html fullscreen/video-controls-timeline.html media/controls-drag-timebar.html
Created attachment 253025 [details] Archive of layout-test-results from ews105 for mac-mavericks-wk2 The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews. Bot: ews105 Port: mac-mavericks-wk2 Platform: Mac OS X 10.9.5
Created attachment 253036 [details] patch
*** This bug has been marked as a duplicate of bug 144973 ***
Comment on attachment 253036 [details] patch View in context: https://bugs.webkit.org/attachment.cgi?id=253036&action=review > Source/WebCore/Modules/mediacontrols/mediaControlsApple.js:52 > +Controller.PlayButtonWidth = 44; > +Controller.RewindButtonWidth = 32; > +Controller.MuteButtonWidth = 30; > +Controller.WirelessTargetPickerButtonWidth = 32; > +Controller.CaptionButtonWidth = 32; > +Controller.FullScreenButtonWidth = 30; > +Controller.MinimumTimelineWidth = 200; It seems really inflexible to hard-wire all these widths. Is there any alternative? > Source/WebCore/Modules/mediacontrols/mediaControlsApple.js:626 > this.controls.statusDisplay.innerText = this.UIString('Error'); > - else if (this.isLive && this.video.readyState >= HTMLMediaElement.HAVE_CURRENT_DATA) > + this.minimumStatusWidth = 50; It looks like the width here of 50 is based on the width of the string; what if the localized version is wider? By the way, I think we should use textContent instead of innerText because I believe it is more efficient. > Source/WebCore/Modules/mediacontrols/mediaControlsApple.js:629 > this.controls.statusDisplay.innerText = this.UIString('Live Broadcast'); > - else if (this.video.networkState === HTMLMediaElement.NETWORK_LOADING) > + this.minimumStatusWidth = 100; It looks like the width here of 100 is based on the width of the string; what if the localized version is wider? > Source/WebCore/Modules/mediacontrols/mediaControlsApple.js:632 > this.controls.statusDisplay.innerText = this.UIString('Loading'); > - else > + this.minimumStatusWidth = 75; It looks like the width here of 75 is based on the width of the string; what if the localized version is wider? > Source/WebCore/platform/graphics/cocoa/FontCascadeCocoa.mm:369 > - CGContextSetFontAntialiasingStyle(cgContext, kCGFontAntialiasingStyleUnfilteredCustomDilation); > + CGContextSetFontAntialiasingStyle(cgContext, kCGFontAntialiasingStyleFilteredCustomDilation); Please don’t land this change as part of this patch!