2011-05-24 Jer Noble <jer.noble@apple.com>
authorjer.noble@apple.com <jer.noble@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 25 May 2011 22:53:23 +0000 (22:53 +0000)
committerjer.noble@apple.com <jer.noble@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 25 May 2011 22:53:23 +0000 (22:53 +0000)
        Reviewed by Darin Adler.

        Video fails to play on Vimeo
        https://bugs.webkit.org/show_bug.cgi?id=61403

        No new tests; Covered by media/video-canvas-source.html.

        Vimeo redirects their assets from player.vimeo.com to av.vimeo.com, which is rejected
        by AVFoundation and QTKit due to our setting a ForbidCrossSiteReference option when
        creating an AVAsset or QTMovie. Instead, we should just reject local->remote and
        remote->local and make our answer to hasSingleSecurityOrigin dynamic.

        When checking whether a given request has a single security origin, use a
        SecurityOrigin to check the host, port, and scheme.

        * WebCore.exp.in:
        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
        (WebCore::MediaPlayerPrivateAVFoundation::assetURL): Added.
        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.h:
        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm:
        (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL): Exchange ForbidCrossSiteReference
            for ForbidRemoteReferenceToLocal and ForbidLocalReferenceToRemote
        (WebCore::MediaPlayerPrivateAVFoundationObjC::hasSingleSecurityOrigin): Check to see that the
            requested and resolved URLs have the same host and port.
        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
        (WebCore::MediaPlayerPrivateQTKit::commonMovieAttributes): Exchange NoCrossSiteAttribute for
            NoRemoteToLocalSiteAttribute and NoLocalToRemoteSiteAttribute.
        (WebCore::MediaPlayerPrivateQTKit::hasSingleSecurityOrigin):     Check to see that the
                requested and resolved URLs have the same host and port.
        * platform/mac/WebCoreSystemInterface.h: Added wkAVAssetResolvedURL.
        * platform/mac/WebCoreSystemInterface.mm: Ditto.
2011-05-24  Jer Noble  <jer.noble@apple.com>

        Reviewed by Darin Adler.

        Video fails to play on Vimeo
        https://bugs.webkit.org/show_bug.cgi?id=61403

        * WebCoreSupport/WebSystemInterface.mm:
        (InitWebCoreSystemInterface): Added support for wkAVAssetResolvedURL and
            wkQTMovieResolvedURL.
2011-05-24  Jer Noble  <jer.noble@apple.com>

        Reviewed by Darin Adler.

        Video fails to play on Vimeo
        https://bugs.webkit.org/show_bug.cgi?id=61403

        * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
        (InitWebCoreSystemInterface): Added support for wkAVAssetResolvedURL and
            wkQTMovieResolvedURL.
2011-05-25  Jer Noble  <jer.noble@apple.com>

        Reviewed by Darin Adler.

        Video fails to play on Vimeo
        https://bugs.webkit.org/show_bug.cgi?id=61403

        Added functions to retrieve the resolved URL for media types supported on
        mac.

        * WebKitSystemInterface.h:
        * WebKitSystemInterface.m:
        (WKAVAssetResolvedURL): Added.
        (WKQTMovieResolvedURL): Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@87328 268f45cc-cd09-0410-ab3c-d52691b4dbfc

16 files changed:
Source/WebCore/ChangeLog
Source/WebCore/WebCore.exp.in
Source/WebCore/platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h
Source/WebCore/platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.h
Source/WebCore/platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm
Source/WebCore/platform/graphics/mac/MediaPlayerPrivateQTKit.mm
Source/WebCore/platform/mac/WebCoreSystemInterface.h
Source/WebCore/platform/mac/WebCoreSystemInterface.mm
Source/WebKit/mac/ChangeLog
Source/WebKit/mac/WebCoreSupport/WebSystemInterface.mm
Source/WebKit2/ChangeLog
Source/WebKit2/WebProcess/WebCoreSupport/mac/WebSystemInterface.mm
WebKitLibraries/ChangeLog
WebKitLibraries/WebKitSystemInterface.h
WebKitLibraries/libWebKitSystemInterfaceLeopard.a
WebKitLibraries/libWebKitSystemInterfaceSnowLeopard.a

index c314854b7aa468ad28e0cfcf50e9fe1d0cea7e18..18f0242f929199ed8e3657e5ed7fe726725885b5 100644 (file)
@@ -1,3 +1,37 @@
+2011-05-24  Jer Noble  <jer.noble@apple.com>
+
+        Reviewed by Darin Adler.
+
+        Video fails to play on Vimeo
+        https://bugs.webkit.org/show_bug.cgi?id=61403
+
+        No new tests; Covered by media/video-canvas-source.html.
+
+        Vimeo redirects their assets from player.vimeo.com to av.vimeo.com, which is rejected
+        by AVFoundation and QTKit due to our setting a ForbidCrossSiteReference option when
+        creating an AVAsset or QTMovie. Instead, we should just reject local->remote and
+        remote->local and make our answer to hasSingleSecurityOrigin dynamic.
+
+        When checking whether a given request has a single security origin, use a 
+        SecurityOrigin to check the host, port, and scheme.
+
+        * WebCore.exp.in:
+        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
+        (WebCore::MediaPlayerPrivateAVFoundation::assetURL): Added.
+        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.h:
+        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm:
+        (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL): Exchange ForbidCrossSiteReference
+            for ForbidRemoteReferenceToLocal and ForbidLocalReferenceToRemote
+        (WebCore::MediaPlayerPrivateAVFoundationObjC::hasSingleSecurityOrigin): Check to see that the
+            requested and resolved URLs have the same host and port.
+        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
+        (WebCore::MediaPlayerPrivateQTKit::commonMovieAttributes): Exchange NoCrossSiteAttribute for 
+            NoRemoteToLocalSiteAttribute and NoLocalToRemoteSiteAttribute.
+        (WebCore::MediaPlayerPrivateQTKit::hasSingleSecurityOrigin):     Check to see that the
+                requested and resolved URLs have the same host and port.
+        * platform/mac/WebCoreSystemInterface.h: Added wkAVAssetResolvedURL.
+        * platform/mac/WebCoreSystemInterface.mm: Ditto.
+
 2011-05-25  Andrew Scherkus  <scherkus@chromium.org>
 
         Reviewed by Eric Carlson.
index e0a92cc2e7b0aaf96851421f41e9604bd6855fff..9e66b7a1adb5148c3c0039e7442facb67e152b51 100644 (file)
@@ -1458,6 +1458,8 @@ _wkSetScrollbarPainterTrackAlpha
 _wkVerticalScrollbarPainterForController
 _wkWillEndLiveResize
 _wkWillStartLiveResize
+_wkQTMovieResolvedURL
+_wkAVAssetResolvedURL
 #else
 _wkGetNSEventMomentumPhase
 #endif
index 503d54d9f826f873dc8005f73911d1043b879cfd..6803d6437445f17d543ac58d89f2923e3b762783 100644 (file)
@@ -150,7 +150,6 @@ protected:
     virtual bool supportsAcceleratedRendering() const = 0;
     virtual void acceleratedRenderingStateChanged();
 #endif
-    virtual bool hasSingleSecurityOrigin() const { return true; }
     virtual MediaPlayer::MovieLoadType movieLoadType() const;
     virtual void prepareForRendering();
     virtual float mediaTimeForTimeValue(float) const = 0;
@@ -243,6 +242,7 @@ protected:
     float invalidTime() const { return -1.0f; }
     void invalidateCachedDuration();
 
+    const String& assetURL() const { return m_assetURL; }
 private:
     MediaPlayer* m_player;
 
index 9a30f706433c3502c520d0314f9e8edc8eaf6d9b..382d79f3b72ff559e217d55112579387e4ce14c7 100644 (file)
@@ -119,6 +119,8 @@ private:
     virtual bool hasContextRenderer() const;
     virtual bool hasLayerRenderer() const;
 
+    virtual bool hasSingleSecurityOrigin() const;
+
     RetainPtr<CGImageRef> createImageForTimeInRect(float, const IntRect&);
 
     MediaPlayer* m_player;
index 8b690f90a0cdcd2354ffd2e724b6324a0b1cd6aa..5bf9a59b8d60a103c88fe84c9dd0cd2b7118b5dc 100644 (file)
@@ -37,6 +37,7 @@
 #import "GraphicsContext.h"
 #import "KURL.h"
 #import "Logging.h"
+#import "SecurityOrigin.h"
 #import "SoftLinking.h"
 #import "TimeRanges.h"
 #import "WebCoreSystemInterface.h"
@@ -256,7 +257,7 @@ void MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL(const String& url)
     setDelayCallbacks(true);
 
     NSDictionary *options = [NSDictionary dictionaryWithObjectsAndKeys:
-                        [NSNumber numberWithInt:AVAssetReferenceRestrictionForbidCrossSiteReference], AVURLAssetReferenceRestrictionsKey, 
+                        [NSNumber numberWithInt:AVAssetReferenceRestrictionForbidRemoteReferenceToLocal | AVAssetReferenceRestrictionForbidLocalReferenceToRemote], AVURLAssetReferenceRestrictionsKey, 
                         nil];
     NSURL *cocoaURL = KURL(ParsedURLString, url);
     m_avAsset.adoptNS([[AVURLAsset alloc] initWithURL:cocoaURL options:options]);
@@ -775,6 +776,16 @@ void MediaPlayerPrivateAVFoundationObjC::sizeChanged()
     setNaturalSize(IntSize(naturalSize));
 }
 
+bool MediaPlayerPrivateAVFoundationObjC::hasSingleSecurityOrigin() const 
+{
+    if (!m_avAsset)
+        return false;
+    
+    RefPtr<SecurityOrigin> resolvedOrigin = SecurityOrigin::create(KURL(wkAVAssetResolvedURL(m_avAsset.get())));
+    RefPtr<SecurityOrigin> requestedOrigin = SecurityOrigin::createFromString(assetURL());
+    return resolvedOrigin->isSameSchemeHostPort(requestedOrigin.get());
+}
+
 NSArray* assetMetadataKeyNames()
 {
     static NSArray* keys;
index 97a4902fb10faea8c62779e20e6cb365fe395cbd..878c0de0bb0e7ec8f9ffdb7947805ce9b483ab2d 100644 (file)
@@ -42,6 +42,7 @@
 #import "GraphicsContext.h"
 #import "KURL.h"
 #import "MIMETypeRegistry.h"
+#import "SecurityOrigin.h"
 #import "SoftLinking.h"
 #import "TimeRanges.h"
 #import "WebCoreSystemInterface.h"
@@ -96,6 +97,8 @@ SOFT_LINK_POINTER(QTKit, QTMovieTimeScaleAttribute, NSString *)
 SOFT_LINK_POINTER(QTKit, QTMovieURLAttribute, NSString *)
 SOFT_LINK_POINTER(QTKit, QTMovieVolumeDidChangeNotification, NSString *)
 SOFT_LINK_POINTER(QTKit, QTSecurityPolicyNoCrossSiteAttribute, NSString *)
+SOFT_LINK_POINTER(QTKit, QTSecurityPolicyNoLocalToRemoteSiteAttribute, NSString *)
+SOFT_LINK_POINTER(QTKit, QTSecurityPolicyNoRemoteToLocalSiteAttribute, NSString *)
 SOFT_LINK_POINTER(QTKit, QTVideoRendererWebKitOnlyNewImageAvailableNotification, NSString *)
 SOFT_LINK_POINTER(QTKit, QTMovieApertureModeClean, NSString *)
 SOFT_LINK_POINTER(QTKit, QTMovieApertureModeAttribute, NSString *)
@@ -132,6 +135,8 @@ SOFT_LINK_POINTER(QTKit, QTMovieApertureModeAttribute, NSString *)
 #define QTMovieURLAttribute getQTMovieURLAttribute()
 #define QTMovieVolumeDidChangeNotification getQTMovieVolumeDidChangeNotification()
 #define QTSecurityPolicyNoCrossSiteAttribute getQTSecurityPolicyNoCrossSiteAttribute()
+#define QTSecurityPolicyNoLocalToRemoteSiteAttribute getQTSecurityPolicyNoLocalToRemoteSiteAttribute()
+#define QTSecurityPolicyNoRemoteToLocalSiteAttribute getQTSecurityPolicyNoRemoteToLocalSiteAttribute()
 #define QTVideoRendererWebKitOnlyNewImageAvailableNotification getQTVideoRendererWebKitOnlyNewImageAvailableNotification()
 #define QTMovieApertureModeClean getQTMovieApertureModeClean()
 #define QTMovieApertureModeAttribute getQTMovieApertureModeAttribute()
@@ -234,7 +239,9 @@ NSMutableDictionary *MediaPlayerPrivateQTKit::commonMovieAttributes()
     NSMutableDictionary *movieAttributes = [NSMutableDictionary dictionaryWithObjectsAndKeys:
             [NSNumber numberWithBool:m_player->preservesPitch()], QTMovieRateChangesPreservePitchAttribute,
             [NSNumber numberWithBool:YES], QTMoviePreventExternalURLLinksAttribute,
-            [NSNumber numberWithBool:YES], QTSecurityPolicyNoCrossSiteAttribute,
+            [NSNumber numberWithBool:NO], QTSecurityPolicyNoCrossSiteAttribute,
+            [NSNumber numberWithBool:YES], QTSecurityPolicyNoRemoteToLocalSiteAttribute,
+            [NSNumber numberWithBool:YES], QTSecurityPolicyNoLocalToRemoteSiteAttribute,
             [NSNumber numberWithBool:NO], QTMovieAskUnresolvedDataRefsAttribute,
             [NSNumber numberWithBool:NO], QTMovieLoopsAttribute,
             [NSNumber numberWithBool:!m_privateBrowsing], @"QTMovieAllowPersistentCacheAttribute",
@@ -1627,9 +1634,12 @@ void MediaPlayerPrivateQTKit::acceleratedRenderingStateChanged()
 
 bool MediaPlayerPrivateQTKit::hasSingleSecurityOrigin() const
 {
-    // We tell quicktime to disallow resources that come from different origins
-    // so we know all media is single origin.
-    return true;
+    if (!m_qtMovie)
+        return false;
+
+    RefPtr<SecurityOrigin> resolvedOrigin = SecurityOrigin::create(KURL(wkQTMovieResolvedURL(m_qtMovie.get())));
+    RefPtr<SecurityOrigin> requestedOrigin = SecurityOrigin::createFromString(m_movieURL);
+    return resolvedOrigin->isSameSchemeHostPort(requestedOrigin.get());
 }
 
 MediaPlayer::MovieLoadType MediaPlayerPrivateQTKit::movieLoadType() const
index e2b58caed42b0d818403051089755d4a8d57d29a..69a420558881592084115b80375fbbd8378cb2ed 100644 (file)
@@ -67,6 +67,7 @@ typedef struct _NSRect NSRect;
 #endif
 
 #ifdef __OBJC__
+@class AVAsset;
 @class NSArray;
 @class NSButtonCell;
 @class NSData;
@@ -87,6 +88,7 @@ typedef struct _NSRect NSRect;
 @class QTMovie;
 @class QTMovieView;
 #else
+class AVAsset;
 class NSArray;
 class NSButtonCell;
 class NSData;
@@ -159,6 +161,7 @@ extern NSString *(*wkQTMovieMaxTimeLoadedChangeNotification)(void);
 extern float (*wkQTMovieMaxTimeSeekable)(QTMovie*);
 extern int (*wkQTMovieGetType)(QTMovie*);
 extern BOOL (*wkQTMovieHasClosedCaptions)(QTMovie*);
+extern NSURL *(*wkQTMovieResolvedURL)(QTMovie*);
 extern void (*wkQTMovieSetShowClosedCaptions)(QTMovie*, BOOL);
 extern void (*wkQTMovieSelectPreferredAlternates)(QTMovie*);
 extern void (*wkQTMovieViewSetDrawSynchronously)(QTMovieView*, BOOL);
@@ -263,6 +266,8 @@ extern bool (*wkScrollbarPainterUsesOverlayScrollers)(void);
 extern bool (*wkExecutableWasLinkedOnOrBeforeSnowLeopard)(void);
 
 extern CFStringRef (*wkCopyDefaultSearchProviderDisplayName)(void);
+
+extern NSURL *(*wkAVAssetResolvedURL)(AVAsset*);
 #endif
 
 extern void (*wkUnregisterUniqueIdForElement)(id element);
@@ -292,7 +297,6 @@ extern CFURLRef (*wkGetCFURLResponseURL)(CFURLResponseRef);
 extern CFHTTPMessageRef (*wkGetCFURLResponseHTTPResponse)(CFURLResponseRef);
 extern CFStringRef (*wkCopyCFURLResponseSuggestedFilename)(CFURLResponseRef);
 extern void (*wkSetCFURLResponseMIMEType)(CFURLResponseRef, CFStringRef mimeType);
-
 }
 
 #endif
index b627a0647512eb8e8f47d5a036b8c5802ef28414..e18d17d78c3c6b20d5fb3c9b50db43c55fdd26c2 100644 (file)
@@ -64,6 +64,7 @@ NSString *(*wkQTMovieMaxTimeLoadedChangeNotification)(void);
 float (*wkQTMovieMaxTimeSeekable)(QTMovie*);
 int (*wkQTMovieGetType)(QTMovie*);
 BOOL (*wkQTMovieHasClosedCaptions)(QTMovie*);
+NSURL *(*wkQTMovieResolvedURL)(QTMovie*);
 void (*wkQTMovieSetShowClosedCaptions)(QTMovie*, BOOL);
 void (*wkQTMovieSelectPreferredAlternates)(QTMovie*);
 void (*wkQTMovieViewSetDrawSynchronously)(QTMovieView*, BOOL);
@@ -159,6 +160,8 @@ bool (*wkScrollbarPainterUsesOverlayScrollers)(void);
 bool (*wkExecutableWasLinkedOnOrBeforeSnowLeopard)(void);
 
 CFStringRef (*wkCopyDefaultSearchProviderDisplayName)(void);
+
+NSURL *(*wkAVAssetResolvedURL)(AVAsset*);
 #endif
 
 void (*wkUnregisterUniqueIdForElement)(id element);
index 234668c8fd139a313484bb30afe81d83b5a23410..d0247ed40e583e15b3ee06df7d623d3d84c15fb8 100644 (file)
@@ -1,3 +1,14 @@
+2011-05-24  Jer Noble  <jer.noble@apple.com>
+
+        Reviewed by Darin Adler.
+
+        Video fails to play on Vimeo
+        https://bugs.webkit.org/show_bug.cgi?id=61403
+
+        * WebCoreSupport/WebSystemInterface.mm:
+        (InitWebCoreSystemInterface): Added support for wkAVAssetResolvedURL and
+            wkQTMovieResolvedURL.
+
 2011-05-24  Keishi Hattori  <keishi@webkit.org>
 
         Reviewed by Kent Tamura.
index 8efcc416aac31c4668adf3a643263c8e3ebc33b1..142defd58b537660504f8eeb6d2b6d3d119d0f7e 100644 (file)
@@ -96,6 +96,7 @@ void InitWebCoreSystemInterface(void)
     INIT(QTMovieMaxTimeSeekable);
     INIT(QTMovieGetType);
     INIT(QTMovieHasClosedCaptions);
+    INIT(QTMovieResolvedURL);
     INIT(QTMovieSetShowClosedCaptions);
     INIT(QTMovieSelectPreferredAlternates);
     INIT(QTMovieViewSetDrawSynchronously);
@@ -153,6 +154,7 @@ void InitWebCoreSystemInterface(void)
     INIT(ScrollbarPainterUsesOverlayScrollers);
     INIT(ExecutableWasLinkedOnOrBeforeSnowLeopard);
     INIT(CopyDefaultSearchProviderDisplayName);
+    INIT(AVAssetResolvedURL);
 #endif
 
     INIT(GetAXTextMarkerTypeID);
index 30ec516017ed6832964e50b45b576c460f3a6c39..bfdce9bd0cba2397beae18bc8d1b240b9215a331 100644 (file)
@@ -1,3 +1,14 @@
+2011-05-24  Jer Noble  <jer.noble@apple.com>
+
+        Reviewed by Darin Adler.
+
+        Video fails to play on Vimeo
+        https://bugs.webkit.org/show_bug.cgi?id=61403
+
+        * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
+        (InitWebCoreSystemInterface): Added support for wkAVAssetResolvedURL and
+            wkQTMovieResolvedURL.
+
 2011-05-25  Jon Honeycutt  <jhoneycutt@apple.com>
 
         REGRESSION (WebKit2): Crash in Flash on USA Today photo gallery
index ce7d26924d6434a9be64ad6f27753b31e1f60f13..8674d6e513cbdf2719b94bdb2de661b4360918fd 100644 (file)
@@ -76,6 +76,7 @@ void InitWebCoreSystemInterface(void)
         INIT(QTMovieMaxTimeLoaded);
         INIT(QTMovieMaxTimeLoadedChangeNotification);
         INIT(QTMovieMaxTimeSeekable);
+        INIT(QTMovieResolvedURL);
         INIT(QTMovieSelectPreferredAlternates);
         INIT(QTMovieSetShowClosedCaptions);
         INIT(QTMovieViewSetDrawSynchronously);
@@ -147,6 +148,7 @@ void InitWebCoreSystemInterface(void)
         INIT(ScrollbarPainterUsesOverlayScrollers);
         INIT(ExecutableWasLinkedOnOrBeforeSnowLeopard);
         INIT(CopyDefaultSearchProviderDisplayName);
+        INIT(AVAssetResolvedURL);
 #else
         INIT(GetHyphenationLocationBeforeIndex);
         INIT(GetNSEventMomentumPhase);
index 5752802513c418b580cfdda50aa39175f02bc76b..ace3c0d8b37f19a7f937263e5f53c852b689c87f 100644 (file)
@@ -1,3 +1,18 @@
+2011-05-25  Jer Noble  <jer.noble@apple.com>
+
+        Reviewed by Darin Adler.
+
+        Video fails to play on Vimeo
+        https://bugs.webkit.org/show_bug.cgi?id=61403
+
+        Added functions to retrieve the resolved URL for media types supported on 
+        mac.
+
+        * WebKitSystemInterface.h:
+        * WebKitSystemInterface.m:
+        (WKAVAssetResolvedURL): Added.
+        (WKQTMovieResolvedURL): Added.
+
 2011-05-24  Keishi Hattori  <keishi@webkit.org>
 
         Reviewed by Kent Tamura.
index a213c263fe44dea054165a699ea3f8d73971ad51..ce460e11991f3b9d596389d7bb3100ff95e6caa2 100644 (file)
@@ -10,6 +10,7 @@
 
 @class QTMovie;
 @class QTMovieView;
+@class AVAsset;
 
 #ifdef __cplusplus
 extern "C" {
@@ -206,6 +207,7 @@ float WKQTMovieMaxTimeSeekable(QTMovie* movie);
 NSString *WKQTMovieMaxTimeLoadedChangeNotification(void);
 void WKQTMovieViewSetDrawSynchronously(QTMovieView* view, BOOL sync);
 void WKQTMovieDisableComponent(uint32_t[5]);
+NSURL *WKQTMovieResolvedURL(QTMovie* movie);
 
 CFStringRef WKCopyFoundationCacheDirectory(void);
 
@@ -454,6 +456,7 @@ NSRange WKExtractWordDefinitionTokenRangeFromContextualString(NSString *contextS
 void WKShowWordDefinitionWindow(NSAttributedString *term, NSPoint screenPoint, NSDictionary *options);
 void WKHideWordDefinitionWindow(void);
 
+NSURL* WKAVAssetResolvedURL(AVAsset*);
 #endif
 
 #ifdef __cplusplus
index df6c6b8b6e50abbae5e608f2366b12b449a8e5d8..43b60432f2524dfc1fdc4a45acd72f5f8ec2af16 100644 (file)
Binary files a/WebKitLibraries/libWebKitSystemInterfaceLeopard.a and b/WebKitLibraries/libWebKitSystemInterfaceLeopard.a differ
index af9e931c57370dd24ad4ec020c526495cd759e13..845ca5428dea539c524dc21dedf317df711e5937 100644 (file)
Binary files a/WebKitLibraries/libWebKitSystemInterfaceSnowLeopard.a and b/WebKitLibraries/libWebKitSystemInterfaceSnowLeopard.a differ