WebKit Bugzilla
Attachment 361079 Details for
Bug 194190
: [CG] Enable setAdditionalSupportedImageTypes for WK1
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch
bug-194190-20190204113953.patch (text/plain), 27.55 KB, created by
Said Abou-Hallawa
on 2019-02-04 11:39:54 PST
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
Said Abou-Hallawa
Created:
2019-02-04 11:39:54 PST
Size:
27.55 KB
patch
obsolete
>Subversion Revision: 240891 >diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog >index 2c442482db30b4e5214a6d96e5e962ca86c76103..96e34305200e04fea4a8eccaec2665e74092dc35 100644 >--- a/Source/WebCore/ChangeLog >+++ b/Source/WebCore/ChangeLog >@@ -1,3 +1,17 @@ >+2019-02-04 Said Abou-Hallawa <said@apple.com> >+ >+ [CG] Enable setAdditionalSupportedImageTypes for WK1 >+ https://bugs.webkit.org/show_bug.cgi?id=194190 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ Move the function webCoreStringVectorFromNSStringArray from WebKit to >+ WebCore so it can be used by both WebKit and WebKitLegacy. >+ >+ * platform/mac/StringUtilities.h: >+ * platform/mac/StringUtilities.mm: >+ (WebCore::webCoreStringVectorFromNSStringArray): >+ > 2019-02-01 Simon Fraser <simon.fraser@apple.com> > > Remove the unused layerForScrolling() >diff --git a/Source/WebKit/ChangeLog b/Source/WebKit/ChangeLog >index 97397111d4e31f2267ac2c98d3a5539395f009f4..72bae23e20b870bccada3df43b06eb398ea68ac4 100644 >--- a/Source/WebKit/ChangeLog >+++ b/Source/WebKit/ChangeLog >@@ -1,3 +1,19 @@ >+2019-02-04 Said Abou-Hallawa <said@apple.com> >+ >+ [CG] Enable setAdditionalSupportedImageTypes for WK1 >+ https://bugs.webkit.org/show_bug.cgi?id=194190 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ Move the function webCoreStringVectorFromNSStringArray from WebKit to >+ WebCore so it can be used by both WebKit and WebKitLegacy. >+ >+ * Platform/mac/StringUtilities.h: >+ * Platform/mac/StringUtilities.mm: >+ (WebKit::webCoreStringVectorFromNSStringArray): Deleted. >+ * UIProcess/API/Cocoa/WKWebView.mm: >+ (-[WKWebView _initializeWithConfiguration:]): >+ > 2019-02-01 David Kilzer <ddkilzer@apple.com> > > Move soft-linking of TelephonyUtilities.framework out of TUCallSPI.h >diff --git a/Source/WebKitLegacy/mac/ChangeLog b/Source/WebKitLegacy/mac/ChangeLog >index a22164a9c7fcb2ab3fef0e3b20814a8db28590ce..2362cf2d2c3895b6820516ac838792ed0b6ce67a 100644 >--- a/Source/WebKitLegacy/mac/ChangeLog >+++ b/Source/WebKitLegacy/mac/ChangeLog >@@ -1,3 +1,27 @@ >+2019-02-04 Said Abou-Hallawa <said@apple.com> >+ >+ [CG] Enable setAdditionalSupportedImageTypes for WK1 >+ https://bugs.webkit.org/show_bug.cgi?id=194190 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ 1. Define the preferences key AdditionalSupportedImageTypes. >+ 2. Add additionalSupportedImageTypes as a private preference property. >+ 3. Define the setter and the getter of the property. >+ 4. Add function to convert from an id to an array of strings. >+ 5. Call WebCore::setAdditionalSupportedImageTypes when preferences change. >+ >+ * WebView/WebPreferenceKeysPrivate.h: >+ * WebView/WebPreferences.mm: >+ (+[WebPreferences initialize]): >+ (-[WebPreferences _stringArrayValueForKey:]): >+ (-[WebPreferences _setStringArrayValueForKey:forKey:]): >+ (-[WebPreferences setAdditionalSupportedImageTypes:]): >+ (-[WebPreferences additionalSupportedImageTypes]): >+ * WebView/WebPreferencesPrivate.h: >+ * WebView/WebView.mm: >+ (-[WebView _preferencesChanged:]): >+ > 2019-01-31 Alex Christensen <achristensen@webkit.org> > > Revert r238819 which is unneeded and caused a performance regression. >diff --git a/Source/WebCore/platform/mac/StringUtilities.h b/Source/WebCore/platform/mac/StringUtilities.h >index 0011bfc549061558ea6ee65f19aefdaa0ced99d5..abf2bf1308afdcededb53a51191cefc411cebba5 100644 >--- a/Source/WebCore/platform/mac/StringUtilities.h >+++ b/Source/WebCore/platform/mac/StringUtilities.h >@@ -29,5 +29,11 @@ > #import <wtf/Forward.h> > > namespace WebCore { >+ > WEBCORE_EXPORT bool stringMatchesWildcardString(const String& stringToBeMatched, const String& wildcardString); >+ >+#ifdef __OBJC__ >+WEBCORE_EXPORT Vector<String> webCoreStringVectorFromNSStringArray(NSArray<NSString *> *); >+#endif // defined(__OBJC__) >+ > } >diff --git a/Source/WebCore/platform/mac/StringUtilities.mm b/Source/WebCore/platform/mac/StringUtilities.mm >index 7cd1bd80ae9e33e756f65912240f7ed6cc33c5b5..f1f56b3087d0e0911f180e5532066fb0da1e6a9e 100644 >--- a/Source/WebCore/platform/mac/StringUtilities.mm >+++ b/Source/WebCore/platform/mac/StringUtilities.mm >@@ -59,4 +59,15 @@ bool stringMatchesWildcardString(const String& string, const String& wildcardStr > return JSC::Yarr::RegularExpression(wildcardRegexPatternString(wildcardString), JSC::Yarr::TextCaseInsensitive).match(string) != -1; > } > >+Vector<String> webCoreStringVectorFromNSStringArray(NSArray<NSString *> *nsStringArray) >+{ >+ Vector<String> stringVector; >+ stringVector.reserveInitialCapacity([nsStringArray count]); >+ >+ for (NSString *nsString in nsStringArray) >+ stringVector.uncheckedAppend(nsString); >+ >+ return stringVector; >+} >+ > } >diff --git a/Source/WebKit/Platform/mac/StringUtilities.h b/Source/WebKit/Platform/mac/StringUtilities.h >index 4257c8cfa9e4aba142aade8191e9f99fb29d8239..29a76cd7538c5dfc8e1a8d289ecc9e8b6c805df0 100644 >--- a/Source/WebKit/Platform/mac/StringUtilities.h >+++ b/Source/WebKit/Platform/mac/StringUtilities.h >@@ -37,8 +37,6 @@ namespace WebKit { > NSString *nsStringFromWebCoreString(const String&); > NSString *formattedPhoneNumberString(NSString *originalPhoneNumber); > >-Vector<String> webCoreStringVectorFromNSStringArray(NSArray<NSString *> *); >- > #endif // defined(__OBJC__) > > } >diff --git a/Source/WebKit/Platform/mac/StringUtilities.mm b/Source/WebKit/Platform/mac/StringUtilities.mm >index bcd2fb655a524cc041b91a9e7fc2793ad8f77ef8..ecbb797776c2b8f97165c339ef04ffbf494a68d9 100644 >--- a/Source/WebKit/Platform/mac/StringUtilities.mm >+++ b/Source/WebKit/Platform/mac/StringUtilities.mm >@@ -82,15 +82,4 @@ NSString *formattedPhoneNumberString(NSString *) > > #endif // ENABLE(TELEPHONE_NUMBER_DETECTION) && PLATFORM(MAC) > >-Vector<String> webCoreStringVectorFromNSStringArray(NSArray<NSString *> *nsStringArray) >-{ >- Vector<String> stringVector; >- stringVector.reserveInitialCapacity([nsStringArray count]); >- >- for (NSString *nsString in nsStringArray) >- stringVector.uncheckedAppend(nsString); >- >- return stringVector; >-} >- > } >diff --git a/Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm b/Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm >index 9a73a36c4fef977e89acc25dffcd3a1c741d8aad..757c958bf0a8e5bd8f3349636aab44d67fbfd4e9 100644 >--- a/Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm >+++ b/Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm >@@ -51,7 +51,6 @@ > #import "RemoteObjectRegistry.h" > #import "RemoteObjectRegistryMessages.h" > #import "SafeBrowsingWarning.h" >-#import "StringUtilities.h" > #import "UIDelegate.h" > #import "UserMediaProcessManager.h" > #import "VersionChecks.h" >@@ -112,6 +111,7 @@ > #import <WebCore/SchemeRegistry.h> > #import <WebCore/Settings.h> > #import <WebCore/SharedBuffer.h> >+#import <WebCore/StringUtilities.h> > #import <WebCore/ValidationBubble.h> > #import <WebCore/ViewportArguments.h> > #import <WebCore/WritingMode.h> >@@ -583,7 +583,7 @@ static void validate(WKWebViewConfiguration *configuration) > pageConfiguration->setPageGroup(WebKit::WebPageGroup::create(configuration._groupIdentifier).ptr()); > } > >- pageConfiguration->setAdditionalSupportedImageTypes(WebKit::webCoreStringVectorFromNSStringArray([_configuration _additionalSupportedImageTypes])); >+ pageConfiguration->setAdditionalSupportedImageTypes(WebCore::webCoreStringVectorFromNSStringArray([_configuration _additionalSupportedImageTypes])); > > pageConfiguration->preferenceValues().set(WebKit::WebPreferencesKey::suppressesIncrementalRenderingKey(), WebKit::WebPreferencesStore::Value(!![_configuration suppressesIncrementalRendering])); > >diff --git a/Source/WebKitLegacy/mac/WebView/WebPreferenceKeysPrivate.h b/Source/WebKitLegacy/mac/WebView/WebPreferenceKeysPrivate.h >index 49d342ff2e27404ae8c269e2b5a960a26df3b980..da4d627ce823316547171406c374cb9f9a078430 100644 >--- a/Source/WebKitLegacy/mac/WebView/WebPreferenceKeysPrivate.h >+++ b/Source/WebKitLegacy/mac/WebView/WebPreferenceKeysPrivate.h >@@ -66,6 +66,7 @@ > #define WebKitAllowAnimatedImagesPreferenceKey @"WebKitAllowAnimatedImagesPreferenceKey" > #define WebKitAllowAnimatedImageLoopingPreferenceKey @"WebKitAllowAnimatedImageLoopingPreferenceKey" > #define WebKitDisplayImagesKey @"WebKitDisplayImagesKey" >+#define WebKitAdditionalSupportedImageTypesKey @"WebKitAdditionalSupportedImageTypesKey" > #define WebKitLoadSiteIconsKey @"WebKitLoadSiteIconsKey" > #define WebKitBackForwardCacheExpirationIntervalKey @"WebKitBackForwardCacheExpirationIntervalKey" > #if !TARGET_OS_IPHONE >diff --git a/Source/WebKitLegacy/mac/WebView/WebPreferences.mm b/Source/WebKitLegacy/mac/WebView/WebPreferences.mm >index e802c0a48cdacf8fc193df66f717ca031c2e6664..d6870930de123e1a3e320ec4921b35fbe24127c0 100644 >--- a/Source/WebKitLegacy/mac/WebView/WebPreferences.mm >+++ b/Source/WebKitLegacy/mac/WebView/WebPreferences.mm >@@ -456,6 +456,7 @@ public: > [NSNumber numberWithBool:YES], WebKitAllowAnimatedImagesPreferenceKey, > [NSNumber numberWithBool:YES], WebKitAllowAnimatedImageLoopingPreferenceKey, > [NSNumber numberWithBool:YES], WebKitDisplayImagesKey, >+ @[], WebKitAdditionalSupportedImageTypesKey, > [NSNumber numberWithBool:NO], WebKitLoadSiteIconsKey, > @"1800", WebKitBackForwardCacheExpirationIntervalKey, > #if !PLATFORM(IOS_FAMILY) >@@ -757,6 +758,27 @@ public: > [self _postPreferencesChangedNotification]; > } > >+- (NSArray<NSString *> *)_stringArrayValueForKey:(NSString *)key >+{ >+ id s = [self _valueForKey:key]; >+ return [s isKindOfClass:[NSArray<NSString *> class]] ? (NSArray<NSString *> *)s : nil; >+} >+ >+- (void)_setStringArrayValueForKey:(NSArray<NSString *> *)value forKey:(NSString *)key >+{ >+ NSString *_key = KEY(key); >+#if PLATFORM(IOS_FAMILY) >+ dispatch_barrier_sync(_private->readWriteQueue, ^{ >+#endif >+ [_private->values.get() setObject:value forKey:_key]; >+#if PLATFORM(IOS_FAMILY) >+ }); >+#endif >+ if (_private->autosaves) >+ [[NSUserDefaults standardUserDefaults] setObject:value forKey:_key]; >+ [self _postPreferencesChangedNotification]; >+} >+ > - (int)_integerValueForKey:(NSString *)key > { > id o = [self _valueForKey:key]; >@@ -1159,6 +1181,16 @@ public: > return [self _boolValueForKey: WebKitDisplayImagesKey]; > } > >+- (void)setAdditionalSupportedImageTypes: (NSArray<NSString *> *)imageTypes >+{ >+ [self _setStringArrayValueForKey:imageTypes forKey:WebKitAdditionalSupportedImageTypesKey]; >+} >+ >+- (NSArray<NSString *> *)additionalSupportedImageTypes >+{ >+ return [self _stringArrayValueForKey:WebKitAdditionalSupportedImageTypesKey]; >+} >+ > - (void)setAutosaves:(BOOL)flag > { > _private->autosaves = flag; >diff --git a/Source/WebKitLegacy/mac/WebView/WebPreferencesPrivate.h b/Source/WebKitLegacy/mac/WebView/WebPreferencesPrivate.h >index 8820db2703f7ab859726e5ac71ad1d595f38c283..26b062c1d916d2f660c3a7fa8f63842b2c18e354 100644 >--- a/Source/WebKitLegacy/mac/WebView/WebPreferencesPrivate.h >+++ b/Source/WebKitLegacy/mac/WebView/WebPreferencesPrivate.h >@@ -626,4 +626,6 @@ extern NSString *WebPreferencesCacheModelChangedInternalNotification WEBKIT_DEPR > > @property (nonatomic) NSString *mediaContentTypesRequiringHardwareSupport; > >+@property (nonatomic, retain) NSArray<NSString *> *additionalSupportedImageTypes; >+ > @end >diff --git a/Source/WebKitLegacy/mac/WebView/WebView.mm b/Source/WebKitLegacy/mac/WebView/WebView.mm >index 663093439161d2848e5d29e6fd9568918e8d852d..0b76ba600f682708e76f0c8653c6ce952e5cfee8 100644 >--- a/Source/WebKitLegacy/mac/WebView/WebView.mm >+++ b/Source/WebKitLegacy/mac/WebView/WebView.mm >@@ -204,9 +204,11 @@ > #import <WebCore/Settings.h> > #import <WebCore/ShouldTreatAsContinuingLoad.h> > #import <WebCore/SocketProvider.h> >+#import <WebCore/StringUtilities.h> > #import <WebCore/StyleProperties.h> > #import <WebCore/TextResourceDecoder.h> > #import <WebCore/ThreadCheck.h> >+#import <WebCore/UTIRegistry.h> > #import <WebCore/UserAgent.h> > #import <WebCore/UserContentController.h> > #import <WebCore/UserGestureIndicator.h> >@@ -2865,6 +2867,9 @@ static bool needsSelfRetainWhileLoadingQuirk() > settings.setStandardFontFamily([preferences standardFontFamily]); > settings.setLoadsImagesAutomatically([preferences loadsImagesAutomatically]); > settings.setLoadsSiteIconsIgnoringImageLoadingSetting([preferences loadsSiteIconsIgnoringImageLoadingPreference]); >+ >+ WebCore::setAdditionalSupportedImageTypes(WebCore::webCoreStringVectorFromNSStringArray([preferences additionalSupportedImageTypes])); >+ > #if PLATFORM(IOS_FAMILY) > settings.setShouldPrintBackgrounds(true); > #else >diff --git a/Tools/ChangeLog b/Tools/ChangeLog >index 8d63f6292feb2c457db6ca85435e379f63b2b05f..8a7edcb353a7eb43fbbf9e96c9dae41921f9b3e1 100644 >--- a/Tools/ChangeLog >+++ b/Tools/ChangeLog >@@ -1,3 +1,21 @@ >+2019-02-04 Said Abou-Hallawa <said@apple.com> >+ >+ [CG] Enable setAdditionalSupportedImageTypes for WK1 >+ https://bugs.webkit.org/show_bug.cgi?id=194190 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ Add a test similar to the one under WebKit Cocoa but make it create a >+ WebView instead of a WKWebView. >+ >+ * ChangeLog-2015-11-21: >+ * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: >+ * TestWebKitAPI/Tests/mac/100x100-red.tga: Added. >+ * TestWebKitAPI/Tests/mac/AdditionalSupportedImageTypes.html: Added. >+ * TestWebKitAPI/Tests/mac/AdditionalSupportedImageTypes.mm: Added. >+ (-[AdditionalSupportedImageTypesTest webView:didFinishLoadForFrame:]): >+ (TestWebKitAPI::TEST): >+ > 2019-02-01 Aakash Jain <aakash_jain@apple.com> > > [ews-build] Add unit test to verify builder keys >diff --git a/Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj b/Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj >index 98b074496d19b6ef841e9743c5382af0b651a8b7..b199788e03174543a3825df08dd8eb0025eecb65 100644 >--- a/Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj >+++ b/Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj >@@ -263,6 +263,7 @@ > 55A817FC218100E00004A39A /* AdditionalSupportedImageTypes.mm in Sources */ = {isa = PBXBuildFile; fileRef = 55A817FB218100E00004A39A /* AdditionalSupportedImageTypes.mm */; }; > 55A817FF2181021A0004A39A /* 100x100-red.tga in Copy Resources */ = {isa = PBXBuildFile; fileRef = 55A817FE218101DF0004A39A /* 100x100-red.tga */; }; > 55A81800218102210004A39A /* 400x400-green.png in Copy Resources */ = {isa = PBXBuildFile; fileRef = 55A817FD218101DF0004A39A /* 400x400-green.png */; }; >+ 55F9D2E52205031800A9AB38 /* AdditionalSupportedImageTypes.mm in Sources */ = {isa = PBXBuildFile; fileRef = 55F9D2E42205031800A9AB38 /* AdditionalSupportedImageTypes.mm */; }; > 5714ECB91CA8B5B000051AC8 /* DownloadRequestOriginalURL.html in Copy Resources */ = {isa = PBXBuildFile; fileRef = 5714ECB81CA8B58800051AC8 /* DownloadRequestOriginalURL.html */; }; > 5714ECBB1CA8BFE400051AC8 /* DownloadRequestOriginalURLFrame.html in Copy Resources */ = {isa = PBXBuildFile; fileRef = 5714ECBA1CA8BFD100051AC8 /* DownloadRequestOriginalURLFrame.html */; }; > 5714ECBD1CA8C22A00051AC8 /* DownloadRequestOriginalURL2.html in Copy Resources */ = {isa = PBXBuildFile; fileRef = 5714ECBC1CA8C21800051AC8 /* DownloadRequestOriginalURL2.html */; }; >@@ -340,6 +341,8 @@ > 6B306106218A372900F5A802 /* ClosingWebView.mm in Sources */ = {isa = PBXBuildFile; fileRef = 6B306105218A372900F5A802 /* ClosingWebView.mm */; }; > 6B9ABE122086952F00D75DE6 /* HTTPParsers.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6B9ABE112086952F00D75DE6 /* HTTPParsers.cpp */; }; > 6BFD294C1D5E6C1D008EC968 /* HashCountedSet.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7A38D7E51C752D5F004F157D /* HashCountedSet.cpp */; }; >+ 725C3EEF220570BE007C36FC /* 100x100-red.tga in Copy Resources */ = {isa = PBXBuildFile; fileRef = 725C3EEE22057005007C36FC /* 100x100-red.tga */; }; >+ 725C3EF322058A5B007C36FC /* AdditionalSupportedImageTypes.html in Copy Resources */ = {isa = PBXBuildFile; fileRef = 725C3EF2220584BA007C36FC /* AdditionalSupportedImageTypes.html */; }; > 751B05D61F8EAC410028A09E /* DatabaseTrackerTest.mm in Sources */ = {isa = PBXBuildFile; fileRef = 751B05D51F8EAC1A0028A09E /* DatabaseTrackerTest.mm */; }; > 754CEC811F6722F200D0039A /* AutoFillAvailable.mm in Sources */ = {isa = PBXBuildFile; fileRef = 754CEC801F6722DC00D0039A /* AutoFillAvailable.mm */; }; > 7673499D1930C5BB00E44DF9 /* StopLoadingDuringDidFailProvisionalLoad_bundle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7673499A1930182E00E44DF9 /* StopLoadingDuringDidFailProvisionalLoad_bundle.cpp */; }; >@@ -993,10 +996,12 @@ > dstPath = TestWebKitAPI.resources; > dstSubfolderSpec = 7; > files = ( >+ 725C3EEF220570BE007C36FC /* 100x100-red.tga in Copy Resources */, > 55A817FF2181021A0004A39A /* 100x100-red.tga in Copy Resources */, > 1A9E52C913E65EF4006917F5 /* 18-characters.html in Copy Resources */, > 55A81800218102210004A39A /* 400x400-green.png in Copy Resources */, > 379028B914FAC24C007E6B43 /* acceptsFirstMouse.html in Copy Resources */, >+ 725C3EF322058A5B007C36FC /* AdditionalSupportedImageTypes.html in Copy Resources */, > 1C2B81871C8925A000A5529F /* Ahem.ttf in Copy Resources */, > 1A63479F183D72A4005B1707 /* all-content-in-one-iframe.html in Copy Resources */, > C25CCA0D1E5141840026CB8A /* AllAhem.svg in Copy Resources */, >@@ -1636,6 +1641,7 @@ > 55A817FB218100E00004A39A /* AdditionalSupportedImageTypes.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = AdditionalSupportedImageTypes.mm; sourceTree = "<group>"; }; > 55A817FD218101DF0004A39A /* 400x400-green.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "400x400-green.png"; sourceTree = "<group>"; }; > 55A817FE218101DF0004A39A /* 100x100-red.tga */ = {isa = PBXFileReference; lastKnownFileType = file; path = "100x100-red.tga"; sourceTree = "<group>"; }; >+ 55F9D2E42205031800A9AB38 /* AdditionalSupportedImageTypes.mm */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.objcpp; path = AdditionalSupportedImageTypes.mm; sourceTree = "<group>"; }; > 5714ECB81CA8B58800051AC8 /* DownloadRequestOriginalURL.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = DownloadRequestOriginalURL.html; sourceTree = "<group>"; }; > 5714ECBA1CA8BFD100051AC8 /* DownloadRequestOriginalURLFrame.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = DownloadRequestOriginalURLFrame.html; sourceTree = "<group>"; }; > 5714ECBC1CA8C21800051AC8 /* DownloadRequestOriginalURL2.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = DownloadRequestOriginalURL2.html; sourceTree = "<group>"; }; >@@ -1713,6 +1719,8 @@ > 6B0A07F621FA9C2B00D57391 /* AdClickAttribution.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = AdClickAttribution.cpp; sourceTree = "<group>"; }; > 6B306105218A372900F5A802 /* ClosingWebView.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = ClosingWebView.mm; sourceTree = "<group>"; }; > 6B9ABE112086952F00D75DE6 /* HTTPParsers.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = HTTPParsers.cpp; sourceTree = "<group>"; }; >+ 725C3EEE22057005007C36FC /* 100x100-red.tga */ = {isa = PBXFileReference; lastKnownFileType = file; path = "100x100-red.tga"; sourceTree = "<group>"; }; >+ 725C3EF2220584BA007C36FC /* AdditionalSupportedImageTypes.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = AdditionalSupportedImageTypes.html; sourceTree = "<group>"; }; > 751B05D51F8EAC1A0028A09E /* DatabaseTrackerTest.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = DatabaseTrackerTest.mm; sourceTree = "<group>"; }; > 754CEC801F6722DC00D0039A /* AutoFillAvailable.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = AutoFillAvailable.mm; sourceTree = "<group>"; }; > 7560917719259C59009EF06E /* MemoryCacheAddImageToCacheIOS.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MemoryCacheAddImageToCacheIOS.mm; sourceTree = "<group>"; }; >@@ -2513,7 +2521,6 @@ > A125478D1DB18B9400358564 /* LoadDataWithNilMIMEType.mm */, > 4612C2B8210A6ABF00B788A6 /* LoadFileThenReload.mm */, > 57901FAC1CAF12C200ED64F9 /* LoadInvalidURLRequest.mm */, >- 5774AA6721FBBF7800AF2A1B /* TestLoadOptimizer.mm */, > 51E6A8921D2F1BEC00C004B6 /* LocalStorageClear.mm */, > CA38459520AE012E00990D3B /* LocalStorageDatabaseTracker.mm */, > 46C519D81D355A7300DAA51A /* LocalStorageNullEntries.mm */, >@@ -2574,6 +2581,7 @@ > 515BE1701D428BD100DD7C68 /* StoreBlobThenDelete.mm */, > 1C734B5220788C4800F430EA /* SystemColors.mm */, > 2D70059521EDA0C6003463CB /* TabOutOfWebView.mm */, >+ 5774AA6721FBBF7800AF2A1B /* TestLoadOptimizer.mm */, > F4CD74C720FDB49600DE3794 /* TestURLSchemeHandler.h */, > F4CD74C820FDB49600DE3794 /* TestURLSchemeHandler.mm */, > 5CB40B4D1F4B98BE007DC7B9 /* UIDelegate.mm */, >@@ -3410,6 +3418,7 @@ > children = ( > C07E6CB013FD737C0038B22B /* Resources */, > 379028B514FABD92007E6B43 /* AcceptsFirstMouse.mm */, >+ 55F9D2E42205031800A9AB38 /* AdditionalSupportedImageTypes.mm */, > B55F119F1516834F00915916 /* AttributedString.mm */, > 00CD9F6215BE312C002DA2CE /* BackForwardList.mm */, > 1C7FEB1F207C0F2D00D23278 /* BackgroundColor.mm */, >@@ -3484,7 +3493,9 @@ > C07E6CB013FD737C0038B22B /* Resources */ = { > isa = PBXGroup; > children = ( >+ 725C3EEE22057005007C36FC /* 100x100-red.tga */, > 379028B814FABE49007E6B43 /* acceptsFirstMouse.html */, >+ 725C3EF2220584BA007C36FC /* AdditionalSupportedImageTypes.html */, > B55F11B01517A2C400915916 /* attributedStringCustomFont.html */, > 7C9ED98A17A19D0600E4DC33 /* attributedStringStrikethrough.html */, > 26DF5A6115A2A22B003689C2 /* CancelLoadFromResourceLoadDelegate.html */, >@@ -3904,6 +3915,7 @@ > 6B0A07F721FA9C2B00D57391 /* AdClickAttribution.cpp in Sources */, > 37E7DD641EA06FF2009B396D /* AdditionalReadAccessAllowedURLs.mm in Sources */, > 55A817FC218100E00004A39A /* AdditionalSupportedImageTypes.mm in Sources */, >+ 55F9D2E52205031800A9AB38 /* AdditionalSupportedImageTypes.mm in Sources */, > 7A909A7D1D877480007E10F8 /* AffineTransform.cpp in Sources */, > A1DF74321C41B65800A2F4D0 /* AlwaysRevalidatedURLSchemes.mm in Sources */, > 2DE71AFE1D49C0BD00904094 /* AnimatedResize.mm in Sources */, >@@ -4241,6 +4253,7 @@ > F4F5BB5221667BAA002D06B9 /* TestFontOptions.mm in Sources */, > F45E15762112CE6200307E82 /* TestInputDelegate.mm in Sources */, > F45D3891215A7B4B002A2979 /* TestInspectorBar.mm in Sources */, >+ 5774AA6821FBBF7800AF2A1B /* TestLoadOptimizer.mm in Sources */, > 2D1C04A71D76298B000A6816 /* TestNavigationDelegate.mm in Sources */, > A14FC5901B8AE36F00D107EB /* TestProtocol.mm in Sources */, > 7CCE7EAE1A411A3400447C4C /* TestsController.cpp in Sources */, >@@ -4259,7 +4272,6 @@ > 7CCE7F271A411AF600447C4C /* UserContentController.mm in Sources */, > 7CCE7F2D1A411B1000447C4C /* UserContentTest.mm in Sources */, > 7C882E0A1C80C764006BF731 /* UserContentWorld.mm in Sources */, >- 5774AA6821FBBF7800AF2A1B /* TestLoadOptimizer.mm in Sources */, > 7CCB99211D3B41F6003922F6 /* UserInitiatedActionInNavigationAction.mm in Sources */, > 7CCE7F171A411AE600447C4C /* UserMedia.cpp in Sources */, > 0799C3491EBA2D7B003B7532 /* UserMediaDisabled.mm in Sources */, >diff --git a/Tools/TestWebKitAPI/Tests/mac/100x100-red.tga b/Tools/TestWebKitAPI/Tests/mac/100x100-red.tga >new file mode 100644 >index 0000000000000000000000000000000000000000..06958ba0c44106058884a3f24a23eed1828b174b >GIT binary patch >literal 518 >ccmZQz;9`J*6owQA1&zlH4FCU+5+f=M0C{mC4gdfE > >literal 0 >HcmV?d00001 > >diff --git a/Tools/TestWebKitAPI/Tests/mac/AdditionalSupportedImageTypes.html b/Tools/TestWebKitAPI/Tests/mac/AdditionalSupportedImageTypes.html >new file mode 100644 >index 0000000000000000000000000000000000000000..5fe0ede9c3717d3071e2c510c11ff49daeb454f3 >--- /dev/null >+++ b/Tools/TestWebKitAPI/Tests/mac/AdditionalSupportedImageTypes.html >@@ -0,0 +1,12 @@ >+<!DOCTYPE html> >+<html> >+<body> >+ <img src="100x100-red.tga" onerror="imgError(this);"> >+ <script> >+ function imgError(image) { >+ image.parentNode. removeChild(image); >+ return true; >+ } >+ </script> >+</body> >+</html> >diff --git a/Tools/TestWebKitAPI/Tests/mac/AdditionalSupportedImageTypes.mm b/Tools/TestWebKitAPI/Tests/mac/AdditionalSupportedImageTypes.mm >new file mode 100644 >index 0000000000000000000000000000000000000000..62770baabbf8bebf033030fd9c1581c36cc54e75 >--- /dev/null >+++ b/Tools/TestWebKitAPI/Tests/mac/AdditionalSupportedImageTypes.mm >@@ -0,0 +1,80 @@ >+/* >+ * Copyright (C) 2019 Apple Inc. All rights reserved. >+ * >+ * Redistribution and use in source and binary forms, with or without >+ * modification, are permitted provided that the following conditions >+ * are met: >+ * 1. Redistributions of source code must retain the above copyright >+ * notice, this list of conditions and the following disclaimer. >+ * 2. Redistributions in binary form must reproduce the above copyright >+ * notice, this list of conditions and the following disclaimer in the >+ * documentation and/or other materials provided with the distribution. >+ * >+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' >+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, >+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR >+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS >+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR >+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF >+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS >+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN >+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) >+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF >+ * THE POSSIBILITY OF SUCH DAMAGE. >+ */ >+ >+#include "config.h" >+ >+#import "PlatformUtilities.h" >+#import "PlatformWebView.h" >+ >+#import <WebKit/DOM.h> >+#import <WebKit/WebPreferencesPrivate.h> >+#import <WebKit/WebViewPrivate.h> >+#import <wtf/RetainPtr.h> >+ >+#if WK_API_ENABLED && PLATFORM(COCOA) >+ >+@interface AdditionalSupportedImageTypesTest : NSObject <WebFrameLoadDelegate> { >+} >+@end >+ >+static bool didFinishLoad; >+ >+@implementation AdditionalSupportedImageTypesTest >+ >+- (void)webView:(WebView *)sender didFinishLoadForFrame:(WebFrame *)frame >+{ >+ didFinishLoad = true; >+} >+@end >+ >+namespace TestWebKitAPI { >+ >+TEST(WebKitLegacy, AdditionalSupportedImageTypes) >+{ >+ RetainPtr<WebPreferences> preferences = adoptNS([[WebPreferences alloc] initWithIdentifier:nil]); >+ [preferences setAdditionalSupportedImageTypes:@[@"com.truevision.tga-image"]]; >+ >+ RetainPtr<WebView> webView = adoptNS([[WebView alloc] initWithFrame:NSMakeRect(0, 0, 120, 200) frameName:nil groupName:nil]); >+ [webView setPreferences:preferences.get()]; >+ >+ RetainPtr<AdditionalSupportedImageTypesTest> testController = adoptNS([AdditionalSupportedImageTypesTest new]); >+ webView.get().frameLoadDelegate = testController.get(); >+ >+ RetainPtr<NSURL> testURL = [[NSBundle mainBundle] URLForResource:@"AdditionalSupportedImageTypes" withExtension:@"html" subdirectory:@"TestWebKitAPI.resources"]; >+ [[webView.get() mainFrame] loadRequest:[NSURLRequest requestWithURL:testURL.get()]]; >+ >+ Util::run(&didFinishLoad); >+ didFinishLoad = false; >+ >+ DOMDocument *document = webView.get().mainFrameDocument; >+ DOMElement *documentElement = [document documentElement]; >+ >+ DOMHTMLImageElement *image = (DOMHTMLImageElement *)[documentElement querySelector:@"img"]; >+ EXPECT_EQ([image width], 100); >+} >+ >+} >+ >+#endif
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 194190
:
360969
|
361079
|
361087
|
361114
|
361115