Diff
Modified: trunk/Source/WebCore/ChangeLog (221793 => 221794)
--- trunk/Source/WebCore/ChangeLog 2017-09-08 18:58:24 UTC (rev 221793)
+++ trunk/Source/WebCore/ChangeLog 2017-09-08 19:03:53 UTC (rev 221794)
@@ -1,3 +1,17 @@
+2017-09-08 Commit Queue <[email protected]>
+
+ Unreviewed, rolling out r221773.
+ https://bugs.webkit.org/show_bug.cgi?id=176614
+
+ This caused build failures. (Requested by mlewis13 on
+ #webkit).
+
+ Reverted changeset:
+
+ "[Mac] Upstream QTKit-related WebKitSystemInterface functions"
+ https://bugs.webkit.org/show_bug.cgi?id=176472
+ http://trac.webkit.org/changeset/221773
+
2017-09-08 Antti Koivisto <[email protected]>
Remove support for >> descendant combinator syntax
Modified: trunk/Source/WebCore/PAL/ChangeLog (221793 => 221794)
--- trunk/Source/WebCore/PAL/ChangeLog 2017-09-08 18:58:24 UTC (rev 221793)
+++ trunk/Source/WebCore/PAL/ChangeLog 2017-09-08 19:03:53 UTC (rev 221794)
@@ -1,3 +1,17 @@
+2017-09-08 Commit Queue <[email protected]>
+
+ Unreviewed, rolling out r221773.
+ https://bugs.webkit.org/show_bug.cgi?id=176614
+
+ This caused build failures. (Requested by mlewis13 on
+ #webkit).
+
+ Reverted changeset:
+
+ "[Mac] Upstream QTKit-related WebKitSystemInterface functions"
+ https://bugs.webkit.org/show_bug.cgi?id=176472
+ http://trac.webkit.org/changeset/221773
+
2017-09-07 Andy Estes <[email protected]>
[Mac] Upstream QTKit-related WebKitSystemInterface functions
Modified: trunk/Source/WebCore/PAL/pal/spi/mac/QTKitSPI.h (221793 => 221794)
--- trunk/Source/WebCore/PAL/pal/spi/mac/QTKitSPI.h 2017-09-08 18:58:24 UTC (rev 221793)
+++ trunk/Source/WebCore/PAL/pal/spi/mac/QTKitSPI.h 2017-09-08 19:03:53 UTC (rev 221794)
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2016-2017 Apple Inc. All rights reserved.
+ * Copyright (C) 2016 Apple Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -25,12 +25,8 @@
#pragma once
-#if USE(APPLE_INTERNAL_SDK)
-
-#import <QTKit/QTHUDBackgroundView_Private.h>
-#import <QTKit/QTKit_Private.h>
-#import <QTKit/QTUtilities_Private.h>
-
+#if USE(APPLE_INTERNAL_SDK) || __MAC_OS_X_VERSION_MAX_ALLOWED < 101200
+#import <QTKit/QTKit.h>
#else
enum {
@@ -50,19 +46,8 @@
typedef enum {
QTIncludeCommonTypes = 0,
- QTIncludeOnlyFigMediaFileTypes = 1 << 8,
} QTMovieFileTypeOptions;
-enum {
- QTMovieTypeUnknown = 0,
- QTMovieTypeLocal,
- QTMovieTypeFastStart,
- QTMovieTypeLiveStream,
- QTMovieTypeStoredStream
-};
-
-@class QTTrack;
-
@interface QTMedia : NSObject
- (id)attributeForKey:(NSString *)attributeKey;
@@ -73,8 +58,6 @@
+ (NSArray *)movieFileTypes:(QTMovieFileTypeOptions)types;
-+ (void)disableComponent:(ComponentDescription)component;
-
- (id)initWithAttributes:(NSDictionary *)attributes error:(NSError **)errorPtr;
- (void)play;
@@ -98,14 +81,6 @@
- (NSArray *)tracks;
-- (NSArray *)alternateGroupTypes;
-- (NSArray *)alternatesForMediaType:(NSString *)type;
-- (void)deselectAlternateGroupTrack:(QTTrack *)alternateTrack;
-- (void)selectAlternateGroupTrack:(QTTrack *)alternateTrack;
-
-- (NSURL *)URL;
-- (UInt32)movieType;
-
@end
@interface QTMovieLayer : CALayer
@@ -131,20 +106,4 @@
@end
-@interface QTHUDBackgroundView : NSView
-
-- (void)setContentBorderPosition:(CGFloat)contentBorderPosition;
-
-@end
-
-@interface QTUtilities : NSObject
-
-+ (id)qtUtilities;
-
-- (NSArray *)sitesInDownloadCache;
-- (void)clearDownloadCache;
-- (void)clearDownloadCacheForSite:(NSString *)site;
-
-@end
-
#endif
Modified: trunk/Source/WebCore/platform/graphics/mac/MediaPlayerPrivateQTKit.mm (221793 => 221794)
--- trunk/Source/WebCore/platform/graphics/mac/MediaPlayerPrivateQTKit.mm 2017-09-08 18:58:24 UTC (rev 221793)
+++ trunk/Source/WebCore/platform/graphics/mac/MediaPlayerPrivateQTKit.mm 2017-09-08 19:03:53 UTC (rev 221794)
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2007-2017 Apple Inc. All rights reserved.
+ * Copyright (C) 2007, 2008, 2009, 2010, 2011 Apple Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -52,7 +52,6 @@
SOFT_LINK_CLASS(QTKit, QTMovie)
SOFT_LINK_CLASS(QTKit, QTMovieLayer)
-SOFT_LINK_CLASS(QTKit, QTUtilities)
SOFT_LINK_POINTER(QTKit, QTTrackMediaTypeAttribute, NSString *)
SOFT_LINK_POINTER(QTKit, QTMediaTypeAttribute, NSString *)
@@ -72,7 +71,6 @@
SOFT_LINK_POINTER(QTKit, QTMovieLoadStateAttribute, NSString *)
SOFT_LINK_POINTER(QTKit, QTMovieLoadStateErrorAttribute, NSString *)
SOFT_LINK_POINTER(QTKit, QTMovieLoadStateDidChangeNotification, NSString *)
-SOFT_LINK_POINTER(QTKit, QTMovieLoadedRangesDidChangeNotification, NSString *);
SOFT_LINK_POINTER(QTKit, QTMovieNaturalSizeAttribute, NSString *)
SOFT_LINK_POINTER(QTKit, QTMovieCurrentSizeAttribute, NSString *)
SOFT_LINK_POINTER(QTKit, QTMoviePreventExternalURLLinksAttribute, NSString *)
@@ -97,8 +95,8 @@
- (NSArray *)loadedRanges;
@end
+#define QTMovie getQTMovieClass()
#define QTMovieLayer getQTMovieLayerClass()
-#define QTUtilities getQTUtilitiesClass()
#define QTTrackMediaTypeAttribute getQTTrackMediaTypeAttribute()
#define QTMediaTypeAttribute getQTMediaTypeAttribute()
@@ -118,7 +116,6 @@
#define QTMovieLoadStateAttribute getQTMovieLoadStateAttribute()
#define QTMovieLoadStateErrorAttribute getQTMovieLoadStateErrorAttribute()
#define QTMovieLoadStateDidChangeNotification getQTMovieLoadStateDidChangeNotification()
-#define QTMovieLoadedRangesDidChangeNotification getQTMovieLoadedRangesDidChangeNotification()
#define QTMovieNaturalSizeAttribute getQTMovieNaturalSizeAttribute()
#define QTMovieCurrentSizeAttribute getQTMovieCurrentSizeAttribute()
#define QTMoviePreventExternalURLLinksAttribute getQTMoviePreventExternalURLLinksAttribute()
@@ -295,7 +292,7 @@
// QTKitServer has not yet started. As a result, we must pass in exactly the flags we want to
// disable per component. As a failsafe, if in the future these flags change, we will disable the
// PDF components for a third time with a wildcard flags field:
- ComponentDescription componentsToDisable[11] = {
+ uint32_t componentsToDisable[11][5] = {
{'eat ', 'TEXT', 'text', 0, 0},
{'eat ', 'TXT ', 'text', 0, 0},
{'eat ', 'utxt', 'text', 0, 0},
@@ -310,7 +307,7 @@
};
for (auto& component : componentsToDisable)
- [getQTMovieClass() disableComponent:component];
+ wkQTMovieDisableComponent(component);
}
void MediaPlayerPrivateQTKit::createQTMovie(NSURL *url, NSDictionary *movieAttributes)
@@ -348,10 +345,14 @@
object:m_qtMovie.get()];
// In updateState(), we track when maxTimeLoaded() == duration().
- [[NSNotificationCenter defaultCenter] addObserver:m_objcObserver.get()
- selector:@selector(loadedRangesChanged:)
- name:QTMovieLoadedRangesDidChangeNotification
- object:m_qtMovie.get()];
+ // In newer version of QuickTime, a notification is emitted when maxTimeLoaded changes.
+ // In older version of QuickTime, QTMovieLoadStateDidChangeNotification be fired.
+ if (NSString *maxTimeLoadedChangeNotification = wkQTMovieMaxTimeLoadedChangeNotification()) {
+ [[NSNotificationCenter defaultCenter] addObserver:m_objcObserver.get()
+ selector:@selector(loadedRangesChanged:)
+ name:maxTimeLoadedChangeNotification
+ object:m_qtMovie.get()];
+ }
[[NSNotificationCenter defaultCenter] addObserver:m_objcObserver.get()
selector:@selector(rateChanged:)
@@ -770,30 +771,18 @@
{
if (!metaDataAvailable())
return false;
- return [[m_qtMovie alternateGroupTypes] containsObject:@"clcp"];
+ return wkQTMovieHasClosedCaptions(m_qtMovie.get());
}
void MediaPlayerPrivateQTKit::setClosedCaptionsVisible(bool closedCaptionsVisible)
{
- if (!metaDataAvailable())
- return;
+ if (metaDataAvailable()) {
+ wkQTMovieSetShowClosedCaptions(m_qtMovie.get(), closedCaptionsVisible);
- if (![[m_qtMovie alternateGroupTypes] containsObject:@"clcp"])
- return;
-
- NSArray *trackAlternatesArray = [m_qtMovie alternatesForMediaType:@"clcp"];
- QTTrack *track = trackAlternatesArray[0][@"QTAlternates_QTTrack"];
- if (!track)
- return;
-
- if (!closedCaptionsVisible)
- [m_qtMovie deselectAlternateGroupTrack:track];
- else
- [m_qtMovie selectAlternateGroupTrack:track];
-
- if (closedCaptionsVisible && m_qtVideoLayer) {
- // Captions will be rendered upside down unless we flag the movie as flipped (again). See <rdar://7408440>.
- [m_qtVideoLayer.get() setGeometryFlipped:YES];
+ if (closedCaptionsVisible && m_qtVideoLayer) {
+ // Captions will be rendered upside down unless we flag the movie as flipped (again). See <rdar://7408440>.
+ [m_qtVideoLayer.get() setGeometryFlipped:YES];
+ }
}
}
@@ -952,58 +941,6 @@
m_player->client().mediaPlayerRenderingModeChanged(m_player);
}
-static void selectPreferredAlternateTrackForMediaType(QTMovie *movie, NSString *mediaType)
-{
- NSArray *alternates = [movie alternatesForMediaType:mediaType];
- if (!alternates.count)
- return;
-
- auto languageToQTTrackMap = adoptNS([[NSMutableDictionary alloc] initWithCapacity:alternates.count]);
-
- for (NSUInteger index = 0; index < alternates.count; ++index) {
- NSDictionary *alternateDict = alternates[index];
- NSString *languageString = alternateDict[@"QTAlternates_LanguageCodeEncoding_ISO_639_2T"];
- if (![languageString cStringUsingEncoding:kCFStringEncodingASCII])
- continue;
- if (!languageString)
- languageString = alternateDict[@"QTAlternates_LanguageCodeEncoding_RFC_4646"];
- if (!languageString) {
- LangCode langCode = [alternateDict[@"QTAlternates_LanguageCodeEncoding_MacType_LangCode"] intValue];
- auto identifier = adoptCF(CFLocaleCreateCanonicalLocaleIdentifierFromScriptManagerCodes(kCFAllocatorDefault, langCode, 0));
- languageString = (NSString *)identifier.autorelease();
- }
- if (!languageString)
- continue;
-
- id alternateTrack = alternateDict[@"QTAlternates_QTTrack"];
- if (!alternateTrack)
- continue;
-
- if (![[alternateTrack attributeForKey:@"QTTrackEnabledAttribute"] boolValue])
- continue;
-
- [languageToQTTrackMap setObject:alternateTrack forKey:languageString];
- }
-
- NSArray *preferredLanguages = [NSBundle preferredLocalizationsFromArray:[languageToQTTrackMap allKeys] forPreferences:nil];
- if (preferredLanguages.count) {
- id preferredTrack = [languageToQTTrackMap objectForKey:preferredLanguages[0]];
- if (preferredTrack) {
- // +[NSBundle preferredLocalizationsFromArray:forPreferences] may return a language which was
- // not present in preferredLanguages, and will therefore not have an associated track.
- [movie selectAlternateGroupTrack:preferredTrack];
- }
- }
-}
-
-static void selectPreferredAlternates(QTMovie *movie)
-{
- selectPreferredAlternateTrackForMediaType(movie, @"vide");
- selectPreferredAlternateTrackForMediaType(movie, @"soun");
- selectPreferredAlternateTrackForMediaType(movie, @"cplp");
- selectPreferredAlternateTrackForMediaType(movie, @"sbtl");
-}
-
void MediaPlayerPrivateQTKit::updateStates()
{
MediaPlayer::NetworkState oldNetworkState = m_networkState;
@@ -1028,7 +965,7 @@
loadState = QTMovieLoadStateError;
if (loadState != QTMovieLoadStateError) {
- selectPreferredAlternates(m_qtMovie.get());
+ wkQTMovieSelectPreferredAlternates(m_qtMovie.get());
cacheMovieScale();
MediaPlayer::MovieLoadType movieType = movieLoadType();
m_isStreaming = movieType == MediaPlayer::StoredStream || movieType == MediaPlayer::LiveStream;
@@ -1330,13 +1267,13 @@
static const HashSet<String, ASCIICaseInsensitiveHash>& mimeCommonTypesCache()
{
- static const auto cache = makeNeverDestroyed(createFileTypesSet([getQTMovieClass() movieFileTypes:QTIncludeCommonTypes]));
+ static const auto cache = makeNeverDestroyed(createFileTypesSet([QTMovie movieFileTypes:QTIncludeCommonTypes]));
return cache;
}
static const HashSet<String, ASCIICaseInsensitiveHash>& mimeModernTypesCache()
{
- static const auto cache = makeNeverDestroyed(createFileTypesSet([getQTMovieClass() movieFileTypes:QTIncludeOnlyFigMediaFileTypes]));
+ static const auto cache = makeNeverDestroyed(createFileTypesSet([QTMovie movieFileTypes:(QTMovieFileTypeOptions)wkQTIncludeOnlyModernMediaFileTypes()]));
return cache;
}
@@ -1387,7 +1324,7 @@
HashSet<RefPtr<SecurityOrigin>> MediaPlayerPrivateQTKit::originsInMediaCache(const String&)
{
HashSet<RefPtr<SecurityOrigin>> origins;
- NSArray *mediaSites = [[QTUtilities qtUtilities] sitesInDownloadCache];
+ NSArray *mediaSites = wkQTGetSitesInMediaDownloadCache();
for (NSString *site in mediaSites) {
URL siteAsURL = URL(URL(), site);
@@ -1400,7 +1337,7 @@
void MediaPlayerPrivateQTKit::clearMediaCache(const String&, std::chrono::system_clock::time_point)
{
LOG(Media, "MediaPlayerPrivateQTKit::clearMediaCache()");
- [[QTUtilities qtUtilities] clearDownloadCache];
+ wkQTClearMediaDownloadCache();
}
void MediaPlayerPrivateQTKit::clearMediaCacheForOrigins(const String&, const HashSet<RefPtr<SecurityOrigin>>& origins)
@@ -1407,7 +1344,7 @@
{
LOG(Media, "MediaPlayerPrivateQTKit::clearMediaCacheForOrigins()");
for (auto& origin : origins)
- [[QTUtilities qtUtilities] clearDownloadCacheForSite:origin->toRawString()];
+ wkQTClearMediaDownloadCacheForSite(origin->toRawString());
}
void MediaPlayerPrivateQTKit::disableUnsupportedTracks()
@@ -1531,7 +1468,7 @@
if (!m_qtMovie)
return false;
- Ref<SecurityOrigin> resolvedOrigin = SecurityOrigin::create(URL([m_qtMovie URL]));
+ Ref<SecurityOrigin> resolvedOrigin = SecurityOrigin::create(URL(wkQTMovieResolvedURL(m_qtMovie.get())));
Ref<SecurityOrigin> requestedOrigin = SecurityOrigin::createFromString(m_movieURL);
return resolvedOrigin->isSameSchemeHostPort(requestedOrigin.get());
}
@@ -1539,21 +1476,15 @@
MediaPlayer::MovieLoadType MediaPlayerPrivateQTKit::movieLoadType() const
{
if (!m_qtMovie)
- return MediaPlayer::MovieLoadType::Unknown;
+ return MediaPlayer::Unknown;
- UInt32 movieType = [m_qtMovie movieType];
- switch (movieType) {
- case QTMovieTypeLocal:
- case QTMovieTypeFastStart:
- return MediaPlayer::MovieLoadType::Download;
- case QTMovieTypeLiveStream:
- return MediaPlayer::MovieLoadType::LiveStream;
- case QTMovieTypeStoredStream:
- return MediaPlayer::MovieLoadType::StoredStream;
- case QTMovieTypeUnknown:
- default:
- return MediaPlayer::MovieLoadType::Unknown;
- }
+ MediaPlayer::MovieLoadType movieType = (MediaPlayer::MovieLoadType)wkQTMovieGetType(m_qtMovie.get());
+
+ // Can't include WebKitSystemInterface from WebCore so we can't get the enum returned
+ // by wkQTMovieGetType, but at least verify that the value is in the valid range.
+ ASSERT(movieType >= MediaPlayer::Unknown && movieType <= MediaPlayer::LiveStream);
+
+ return movieType;
}
void MediaPlayerPrivateQTKit::setPreload(MediaPlayer::Preload preload)
@@ -1584,7 +1515,7 @@
return false;
if (m_qtMovie)
- url = "" URL]);
+ url = ""
else
url = "" m_movieURL);
Modified: trunk/Source/WebCore/platform/mac/WebCoreSystemInterface.h (221793 => 221794)
--- trunk/Source/WebCore/platform/mac/WebCoreSystemInterface.h 2017-09-08 18:58:24 UTC (rev 221793)
+++ trunk/Source/WebCore/platform/mac/WebCoreSystemInterface.h 2017-09-08 19:03:53 UTC (rev 221794)
@@ -131,7 +131,32 @@
extern BOOL (*wkGetNSURLResponseMustRevalidate)(NSURLResponse *response);
extern BOOL (*wkHitTestMediaUIPart)(int part, CGRect bounds, CGPoint point);
extern void (*wkMeasureMediaUIPart)(int part, CGRect *bounds, CGSize *naturalSize);
+extern NSView *(*wkCreateMediaUIBackgroundView)(void);
+typedef enum {
+ wkMediaUIControlTimeline,
+ wkMediaUIControlSlider,
+ wkMediaUIControlPlayPauseButton,
+ wkMediaUIControlExitFullscreenButton,
+ wkMediaUIControlRewindButton,
+ wkMediaUIControlFastForwardButton,
+ wkMediaUIControlVolumeUpButton,
+ wkMediaUIControlVolumeDownButton
+} wkMediaUIControlType;
+extern NSControl *(*wkCreateMediaUIControl)(int);
+
+extern unsigned (*wkQTIncludeOnlyModernMediaFileTypes)(void);
+extern void (*wkQTMovieDisableComponent)(uint32_t[5]);
+extern float (*wkQTMovieMaxTimeLoaded)(QTMovie*);
+extern NSString *(*wkQTMovieMaxTimeLoadedChangeNotification)(void);
+extern int (*wkQTMovieGetType)(QTMovie*);
+extern BOOL (*wkQTMovieHasClosedCaptions)(QTMovie*);
+extern NSURL *(*wkQTMovieResolvedURL)(QTMovie*);
+extern void (*wkQTMovieSetShowClosedCaptions)(QTMovie*, BOOL);
+extern void (*wkQTMovieSelectPreferredAlternates)(QTMovie*);
+extern NSArray *(*wkQTGetSitesInMediaDownloadCache)();
+extern void (*wkQTClearMediaDownloadCacheForSite)(NSString *site);
+extern void (*wkQTClearMediaDownloadCache)();
extern void (*wkSetCookieStoragePrivateBrowsingEnabled)(BOOL);
#endif
extern void (*wkSetCONNECTProxyForStream)(CFReadStreamRef, CFStringRef proxyHost, CFNumberRef proxyPort);
Modified: trunk/Source/WebCore/platform/mac/WebCoreSystemInterface.mm (221793 => 221794)
--- trunk/Source/WebCore/platform/mac/WebCoreSystemInterface.mm 2017-09-08 18:58:24 UTC (rev 221793)
+++ trunk/Source/WebCore/platform/mac/WebCoreSystemInterface.mm 2017-09-08 19:03:53 UTC (rev 221794)
@@ -36,9 +36,23 @@
BOOL (*wkHitTestMediaUIPart)(int part, CGRect bounds, CGPoint point);
void (*wkDrawMediaUIPart)(int part, CGContextRef context, CGRect rect, unsigned state);
void (*wkMeasureMediaUIPart)(int part, CGRect *bounds, CGSize *naturalSize);
+NSView *(*wkCreateMediaUIBackgroundView)(void);
+NSControl *(*wkCreateMediaUIControl)(int);
NSTimeInterval (*wkGetNSURLResponseCalculatedExpiration)(NSURLResponse *response);
BOOL (*wkGetNSURLResponseMustRevalidate)(NSURLResponse *response);
void (*wkPopupMenu)(NSMenu*, NSPoint location, float width, NSView*, int selectedItem, NSFont*, NSControlSize controlSize, bool usesCustomAppearance);
+unsigned (*wkQTIncludeOnlyModernMediaFileTypes)(void);
+void (*wkQTMovieDisableComponent)(uint32_t[5]);
+float (*wkQTMovieMaxTimeLoaded)(QTMovie*);
+NSString *(*wkQTMovieMaxTimeLoadedChangeNotification)(void);
+int (*wkQTMovieGetType)(QTMovie*);
+BOOL (*wkQTMovieHasClosedCaptions)(QTMovie*);
+NSURL *(*wkQTMovieResolvedURL)(QTMovie*);
+void (*wkQTMovieSetShowClosedCaptions)(QTMovie*, BOOL);
+void (*wkQTMovieSelectPreferredAlternates)(QTMovie*);
+NSArray *(*wkQTGetSitesInMediaDownloadCache)();
+void (*wkQTClearMediaDownloadCacheForSite)(NSString *site);
+void (*wkQTClearMediaDownloadCache)();
void (*wkSetCONNECTProxyForStream)(CFReadStreamRef, CFStringRef proxyHost, CFNumberRef proxyPort);
void (*wkSetCONNECTProxyAuthorizationForStream)(CFReadStreamRef, CFStringRef proxyAuthorizationString);
Modified: trunk/Source/WebCore/platform/mac/WebVideoFullscreenHUDWindowController.mm (221793 => 221794)
--- trunk/Source/WebCore/platform/mac/WebVideoFullscreenHUDWindowController.mm 2017-09-08 18:58:24 UTC (rev 221793)
+++ trunk/Source/WebCore/platform/mac/WebVideoFullscreenHUDWindowController.mm 2017-09-08 19:03:53 UTC (rev 221794)
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2009-2017 Apple Inc. All rights reserved.
+ * Copyright (C) 2009-2016 Apple Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -31,38 +31,9 @@
#import <WebCore/HTMLVideoElement.h>
#import <WebCoreSystemInterface.h>
#import <pal/spi/cg/CoreGraphicsSPI.h>
-#import <pal/spi/mac/QTKitSPI.h>
-#import <wtf/SoftLinking.h>
-SOFT_LINK_FRAMEWORK(QTKit)
-
-SOFT_LINK_CLASS(QTKit, QTHUDBackgroundView)
-SOFT_LINK_CLASS(QTKit, QTHUDButton)
-SOFT_LINK_CLASS(QTKit, QTHUDSlider)
-SOFT_LINK_CLASS(QTKit, QTHUDTimeline)
-
-#define QTHUDBackgroundView getQTHUDBackgroundViewClass()
-#define QTHUDButton getQTHUDButtonClass()
-#define QTHUDSlider getQTHUDSliderClass()
-#define QTHUDTimeline getQTHUDTimelineClass()
-
using namespace WebCore;
-namespace WebCore {
-
-enum class MediaUIControl {
- Timeline,
- Slider,
- PlayPauseButton,
- ExitFullscreenButton,
- RewindButton,
- FastForwardButton,
- VolumeUpButton,
- VolumeDownButton,
-};
-
-}
-
@interface WebVideoFullscreenHUDWindowController (Private) <NSWindowDelegate>
- (void)updateTime;
@@ -294,68 +265,10 @@
[self setWindow:nil];
}
-static NSControl *createMediaUIControl(MediaUIControl controlType)
+static NSControl *createControlWithMediaUIControlType(int controlType, NSRect frame)
{
- switch (controlType) {
- case MediaUIControl::Timeline: {
- NSSlider *slider = [[QTHUDTimeline alloc] init];
- [[slider cell] setContinuous:YES];
- return slider;
- }
- case MediaUIControl::Slider: {
- NSButton *slider = [[QTHUDSlider alloc] init];
- [[slider cell] setContinuous:YES];
- return slider;
- }
- case MediaUIControl::PlayPauseButton: {
- NSButton *button = [[QTHUDButton alloc] init];
- [button setImage:[NSImage imageNamed:@"NSPlayTemplate"]];
- [button setAlternateImage:[NSImage imageNamed:@"NSPauseQTPrivateTemplate"]];
-
- [[button cell] setShowsStateBy:NSContentsCellMask];
- [button setBordered:NO];
- return button;
- }
- case MediaUIControl::ExitFullscreenButton: {
- NSButton *button = [[QTHUDButton alloc] init];
- [button setImage:[NSImage imageNamed:@"NSExitFullScreenTemplate"]];
- [button setBordered:NO];
- return button;
- }
- case MediaUIControl::RewindButton: {
- NSButton *button = [[QTHUDButton alloc] init];
- [button setImage:[NSImage imageNamed:@"NSRewindTemplate"]];
- [button setBordered:NO];
- return button;
- }
- case MediaUIControl::FastForwardButton: {
- NSButton *button = [[QTHUDButton alloc] init];
- [button setImage:[NSImage imageNamed:@"NSFastForwardTemplate"]];
- [button setBordered:NO];
- return button;
- }
- case MediaUIControl::VolumeUpButton: {
- NSButton *button = [[QTHUDButton alloc] init];
- [button setImage:[NSImage imageNamed:@"NSAudioOutputVolumeHighTemplate"]];
- [button setBordered:NO];
- return button;
- }
- case MediaUIControl::VolumeDownButton: {
- NSButton *button = [[QTHUDButton alloc] init];
- [button setImage:[NSImage imageNamed:@"NSAudioOutputVolumeLowTemplate"]];
- [button setBordered:NO];
- return button;
- }
- }
-
- ASSERT_NOT_REACHED();
- return nil;
-}
-
-static NSControl *createControlWithMediaUIControlType(MediaUIControl controlType, NSRect frame)
-{
- NSControl *control = createMediaUIControl(controlType);
- control.frame = frame;
+ NSControl *control = wkCreateMediaUIControl(controlType);
+ [control setFrame:frame];
return control;
}
@@ -372,21 +285,6 @@
return textField;
}
-static NSView *createMediaUIBackgroundView()
-{
- id view = [[QTHUDBackgroundView alloc] init];
-
- const CGFloat quickTimePlayerHUDHeight = 59;
- const CGFloat quickTimePlayerHUDContentBorderPosition = 38;
-
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
- [view setContentBorderPosition:quickTimePlayerHUDContentBorderPosition / quickTimePlayerHUDHeight];
-#pragma clang diagnostic pop
-
- return view;
-}
-
- (void)windowDidLoad
{
static const CGFloat horizontalMargin = 10;
@@ -412,7 +310,7 @@
NSWindow *window = [self window];
ASSERT(window);
- NSView *background = ""
+ NSView *background = ""
[window setContentView:background];
_area = [[NSTrackingArea alloc] initWithRect:[background bounds] options:NSTrackingMouseEnteredAndExited | NSTrackingActiveAlways owner:self userInfo:nil];
@@ -422,7 +320,7 @@
NSView *contentView = [window contentView];
CGFloat center = CGFloor((windowWidth - playButtonWidth) / 2);
- _playButton = (NSButton *)createControlWithMediaUIControlType(MediaUIControl::PlayPauseButton, NSMakeRect(center, windowHeight - playButtonTopMargin - playButtonHeight, playButtonWidth, playButtonHeight));
+ _playButton = (NSButton *)createControlWithMediaUIControlType(wkMediaUIControlPlayPauseButton, NSMakeRect(center, windowHeight - playButtonTopMargin - playButtonHeight, playButtonWidth, playButtonHeight));
ASSERT([_playButton isKindOfClass:[NSButton class]]);
[_playButton setTarget:self];
[_playButton setAction:@selector(togglePlaying:)];
@@ -429,7 +327,7 @@
[contentView addSubview:_playButton];
CGFloat closeToRight = windowWidth - horizontalMargin - exitFullscreenButtonWidth;
- NSControl *exitFullscreenButton = createControlWithMediaUIControlType(MediaUIControl::ExitFullscreenButton, NSMakeRect(closeToRight, windowHeight - exitFullscreenButtonTopMargin - exitFullscreenButtonHeight, exitFullscreenButtonWidth, exitFullscreenButtonHeight));
+ NSControl *exitFullscreenButton = createControlWithMediaUIControlType(wkMediaUIControlExitFullscreenButton, NSMakeRect(closeToRight, windowHeight - exitFullscreenButtonTopMargin - exitFullscreenButtonHeight, exitFullscreenButtonWidth, exitFullscreenButtonHeight));
[exitFullscreenButton setAction:@selector(exitFullscreen:)];
[exitFullscreenButton setTarget:self];
[contentView addSubview:exitFullscreenButton];
@@ -437,7 +335,7 @@
CGFloat volumeControlsBottom = windowHeight - volumeControlsTopMargin - volumeButtonHeight;
CGFloat left = horizontalMargin;
- NSControl *volumeDownButton = createControlWithMediaUIControlType(MediaUIControl::VolumeDownButton, NSMakeRect(left, volumeControlsBottom, volumeButtonWidth, volumeButtonHeight));
+ NSControl *volumeDownButton = createControlWithMediaUIControlType(wkMediaUIControlVolumeDownButton, NSMakeRect(left, volumeControlsBottom, volumeButtonWidth, volumeButtonHeight));
[contentView addSubview:volumeDownButton];
[volumeDownButton setTarget:self];
[volumeDownButton setAction:@selector(setVolumeToZero:)];
@@ -444,7 +342,7 @@
[volumeDownButton release];
left += volumeButtonWidth;
- _volumeSlider = createControlWithMediaUIControlType(MediaUIControl::Slider, NSMakeRect(left, volumeControlsBottom + CGFloor((volumeButtonHeight - volumeSliderHeight) / 2), volumeSliderWidth, volumeSliderHeight));
+ _volumeSlider = createControlWithMediaUIControlType(wkMediaUIControlSlider, NSMakeRect(left, volumeControlsBottom + CGFloor((volumeButtonHeight - volumeSliderHeight) / 2), volumeSliderWidth, volumeSliderHeight));
[_volumeSlider setValue:[NSNumber numberWithDouble:[self maxVolume]] forKey:@"maxValue"];
[_volumeSlider setTarget:self];
[_volumeSlider setAction:@selector(volumeChanged:)];
@@ -451,13 +349,13 @@
[contentView addSubview:_volumeSlider];
left += volumeSliderWidth + volumeUpButtonLeftMargin;
- NSControl *volumeUpButton = createControlWithMediaUIControlType(MediaUIControl::VolumeUpButton, NSMakeRect(left, volumeControlsBottom, volumeButtonWidth, volumeButtonHeight));
+ NSControl *volumeUpButton = createControlWithMediaUIControlType(wkMediaUIControlVolumeUpButton, NSMakeRect(left, volumeControlsBottom, volumeButtonWidth, volumeButtonHeight));
[volumeUpButton setTarget:self];
[volumeUpButton setAction:@selector(setVolumeToMaximum:)];
[contentView addSubview:volumeUpButton];
[volumeUpButton release];
- _timeline = createMediaUIControl(MediaUIControl::Timeline);
+ _timeline = wkCreateMediaUIControl(wkMediaUIControlTimeline);
[_timeline setTarget:self];
[_timeline setAction:@selector(timelinePositionChanged:)];
Modified: trunk/Source/WebKit/ChangeLog (221793 => 221794)
--- trunk/Source/WebKit/ChangeLog 2017-09-08 18:58:24 UTC (rev 221793)
+++ trunk/Source/WebKit/ChangeLog 2017-09-08 19:03:53 UTC (rev 221794)
@@ -1,3 +1,17 @@
+2017-09-08 Commit Queue <[email protected]>
+
+ Unreviewed, rolling out r221773.
+ https://bugs.webkit.org/show_bug.cgi?id=176614
+
+ This caused build failures. (Requested by mlewis13 on
+ #webkit).
+
+ Reverted changeset:
+
+ "[Mac] Upstream QTKit-related WebKitSystemInterface functions"
+ https://bugs.webkit.org/show_bug.cgi?id=176472
+ http://trac.webkit.org/changeset/221773
+
2017-09-08 Stephan Szabo <[email protected]>
[WinCairo] Add Storage Process files for wincairo webkit
Modified: trunk/Source/WebKit/WebProcess/WebCoreSupport/mac/WebSystemInterface.mm (221793 => 221794)
--- trunk/Source/WebKit/WebProcess/WebCoreSupport/mac/WebSystemInterface.mm 2017-09-08 18:58:24 UTC (rev 221793)
+++ trunk/Source/WebKit/WebProcess/WebCoreSupport/mac/WebSystemInterface.mm 2017-09-08 19:03:53 UTC (rev 221794)
@@ -43,6 +43,18 @@
INIT(DrawMediaUIPart);
INIT(HitTestMediaUIPart);
INIT(MeasureMediaUIPart);
+ INIT(QTIncludeOnlyModernMediaFileTypes);
+ INIT(QTMovieDisableComponent);
+ INIT(QTMovieGetType);
+ INIT(QTMovieHasClosedCaptions);
+ INIT(QTMovieMaxTimeLoaded);
+ INIT(QTMovieMaxTimeLoadedChangeNotification);
+ INIT(QTMovieResolvedURL);
+ INIT(QTMovieSelectPreferredAlternates);
+ INIT(QTMovieSetShowClosedCaptions);
+ INIT(QTGetSitesInMediaDownloadCache);
+ INIT(QTClearMediaDownloadCacheForSite);
+ INIT(QTClearMediaDownloadCache);
#endif
INIT(SetCONNECTProxyAuthorizationForStream);
INIT(SetCONNECTProxyForStream);
Modified: trunk/Source/WebKitLegacy/mac/ChangeLog (221793 => 221794)
--- trunk/Source/WebKitLegacy/mac/ChangeLog 2017-09-08 18:58:24 UTC (rev 221793)
+++ trunk/Source/WebKitLegacy/mac/ChangeLog 2017-09-08 19:03:53 UTC (rev 221794)
@@ -1,3 +1,17 @@
+2017-09-08 Commit Queue <[email protected]>
+
+ Unreviewed, rolling out r221773.
+ https://bugs.webkit.org/show_bug.cgi?id=176614
+
+ This caused build failures. (Requested by mlewis13 on
+ #webkit).
+
+ Reverted changeset:
+
+ "[Mac] Upstream QTKit-related WebKitSystemInterface functions"
+ https://bugs.webkit.org/show_bug.cgi?id=176472
+ http://trac.webkit.org/changeset/221773
+
2017-09-07 Andy Estes <[email protected]>
[Mac] Upstream QTKit-related WebKitSystemInterface functions
Modified: trunk/Source/WebKitLegacy/mac/WebCoreSupport/WebSystemInterface.mm (221793 => 221794)
--- trunk/Source/WebKitLegacy/mac/WebCoreSupport/WebSystemInterface.mm 2017-09-08 18:58:24 UTC (rev 221793)
+++ trunk/Source/WebKitLegacy/mac/WebCoreSupport/WebSystemInterface.mm 2017-09-08 19:03:53 UTC (rev 221794)
@@ -49,9 +49,25 @@
INIT(DrawMediaSliderTrack);
INIT(HitTestMediaUIPart);
INIT(MeasureMediaUIPart);
+ INIT(CreateMediaUIBackgroundView);
+ INIT(CreateMediaUIControl);
#endif
INIT(SetCONNECTProxyAuthorizationForStream);
INIT(SetCONNECTProxyForStream);
+#if ENABLE(VIDEO) && !PLATFORM(IOS)
+ INIT(QTIncludeOnlyModernMediaFileTypes);
+ INIT(QTMovieDisableComponent);
+ INIT(QTMovieMaxTimeLoaded);
+ INIT(QTMovieMaxTimeLoadedChangeNotification);
+ INIT(QTMovieGetType);
+ INIT(QTMovieHasClosedCaptions);
+ INIT(QTMovieResolvedURL);
+ INIT(QTMovieSetShowClosedCaptions);
+ INIT(QTMovieSelectPreferredAlternates);
+ INIT(QTGetSitesInMediaDownloadCache);
+ INIT(QTClearMediaDownloadCacheForSite);
+ INIT(QTClearMediaDownloadCache);
+#endif
#if !PLATFORM(IOS)
INIT(ExecutableWasLinkedOnOrBeforeSnowLeopard);