WebKit Bugzilla
Attachment 361114 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-20190204154319.patch (text/plain), 27.80 KB, created by
Said Abou-Hallawa
on 2019-02-04 15:43:20 PST
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
Said Abou-Hallawa
Created:
2019-02-04 15:43:20 PST
Size:
27.80 KB
patch
obsolete
>Index: Source/WebCore/ChangeLog >=================================================================== >--- Source/WebCore/ChangeLog (revision 240941) >+++ Source/WebCore/ChangeLog (working copy) >@@ -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 Tim Horton. >+ >+ 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-04 Simon Fraser <simon.fraser@apple.com> > > Async overflow scroll with border-radius renders incorrectly >Index: Source/WebCore/platform/mac/StringUtilities.h >=================================================================== >--- Source/WebCore/platform/mac/StringUtilities.h (revision 240941) >+++ Source/WebCore/platform/mac/StringUtilities.h (working copy) >@@ -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__) >+ > } >Index: Source/WebCore/platform/mac/StringUtilities.mm >=================================================================== >--- Source/WebCore/platform/mac/StringUtilities.mm (revision 240941) >+++ Source/WebCore/platform/mac/StringUtilities.mm (working copy) >@@ -59,4 +59,15 @@ bool stringMatchesWildcardString(const S > 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; >+} >+ > } >Index: Source/WebKit/ChangeLog >=================================================================== >--- Source/WebKit/ChangeLog (revision 240941) >+++ Source/WebKit/ChangeLog (working copy) >@@ -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 Tim Horton. >+ >+ 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-04 Simon Fraser <simon.fraser@apple.com> > > PageOverlayController's layers should be created lazily >Index: Source/WebKit/Platform/mac/StringUtilities.h >=================================================================== >--- Source/WebKit/Platform/mac/StringUtilities.h (revision 240941) >+++ Source/WebKit/Platform/mac/StringUtilities.h (working copy) >@@ -37,8 +37,6 @@ namespace WebKit { > NSString *nsStringFromWebCoreString(const String&); > NSString *formattedPhoneNumberString(NSString *originalPhoneNumber); > >-Vector<String> webCoreStringVectorFromNSStringArray(NSArray<NSString *> *); >- > #endif // defined(__OBJC__) > > } >Index: Source/WebKit/Platform/mac/StringUtilities.mm >=================================================================== >--- Source/WebKit/Platform/mac/StringUtilities.mm (revision 240941) >+++ Source/WebKit/Platform/mac/StringUtilities.mm (working copy) >@@ -82,15 +82,4 @@ NSString *formattedPhoneNumberString(NSS > > #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; >-} >- > } >Index: Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm >=================================================================== >--- Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm (revision 240941) >+++ Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm (working copy) >@@ -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 @@ - (void)_initializeWithConfiguration:(WK > 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])); > >Index: Source/WebKitLegacy/mac/ChangeLog >=================================================================== >--- Source/WebKitLegacy/mac/ChangeLog (revision 240941) >+++ Source/WebKitLegacy/mac/ChangeLog (working copy) >@@ -1,3 +1,26 @@ >+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 Tim Horton. >+ >+ 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 _stringArrayValueForKey:]): >+ (-[WebPreferences _setStringArrayValueForKey:forKey:]): >+ (-[WebPreferences setAdditionalSupportedImageTypes:]): >+ (-[WebPreferences additionalSupportedImageTypes]): >+ * WebView/WebPreferencesPrivate.h: >+ * WebView/WebView.mm: >+ (-[WebView _preferencesChanged:]): >+ > 2019-02-04 Simon Fraser <simon.fraser@apple.com> > > PageOverlayController's layers should be created lazily >Index: Source/WebKitLegacy/mac/WebView/WebPreferenceKeysPrivate.h >=================================================================== >--- Source/WebKitLegacy/mac/WebView/WebPreferenceKeysPrivate.h (revision 240941) >+++ Source/WebKitLegacy/mac/WebView/WebPreferenceKeysPrivate.h (working copy) >@@ -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 >Index: Source/WebKitLegacy/mac/WebView/WebPreferences.mm >=================================================================== >--- Source/WebKitLegacy/mac/WebView/WebPreferences.mm (revision 240941) >+++ Source/WebKitLegacy/mac/WebView/WebPreferences.mm (working copy) >@@ -757,6 +757,36 @@ - (void)_setStringValue:(NSString *)valu > [self _postPreferencesChangedNotification]; > } > >+- (NSArray<NSString *> *)_stringArrayValueForKey:(NSString *)key >+{ >+ id value = [self _valueForKey:key]; >+ if (![value isKindOfClass:[NSArray class]]) >+ return nil; >+ >+ NSArray *array = (NSArray *)value; >+ for (id object in array) { >+ if (![object isKindOfClass:[NSString class]]) >+ return nil; >+ } >+ >+ return (NSArray<NSString *> *)array; >+} >+ >+- (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 +1189,16 @@ - (BOOL)loadsImagesAutomatically > 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; >Index: Source/WebKitLegacy/mac/WebView/WebPreferencesPrivate.h >=================================================================== >--- Source/WebKitLegacy/mac/WebView/WebPreferencesPrivate.h (revision 240941) >+++ Source/WebKitLegacy/mac/WebView/WebPreferencesPrivate.h (working copy) >@@ -626,4 +626,7 @@ @interface WebPreferences (WebPrivate) > > @property (nonatomic) NSString *mediaContentTypesRequiringHardwareSupport; > >+// additionalSupportedImageTypes is an array of image UTIs. >+@property (nonatomic, retain) NSArray<NSString *> *additionalSupportedImageTypes; >+ > @end >Index: Source/WebKitLegacy/mac/WebView/WebView.mm >=================================================================== >--- Source/WebKitLegacy/mac/WebView/WebView.mm (revision 240941) >+++ Source/WebKitLegacy/mac/WebView/WebView.mm (working copy) >@@ -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 @@ - (void)_preferencesChanged:(WebPreferen > 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 >Index: Tools/ChangeLog >=================================================================== >--- Tools/ChangeLog (revision 240941) >+++ Tools/ChangeLog (working copy) >@@ -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 Tim Horton. >+ >+ Add a test similar to the one under WebKit Cocoa but make it create a >+ WebView instead of a WKWebView. >+ >+ * 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::runTest): >+ (TestWebKitAPI::TEST): >+ > 2019-02-04 Dean Johnson <dean_johnson@apple.com> > > REGRESSION (r237269): webkit-patch what-broke is broken >Index: Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj >=================================================================== >--- Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj (revision 240941) >+++ Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj (working copy) >@@ -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 */, >Index: Tools/TestWebKitAPI/Tests/mac/AdditionalSupportedImageTypes.html >=================================================================== >--- Tools/TestWebKitAPI/Tests/mac/AdditionalSupportedImageTypes.html (nonexistent) >+++ Tools/TestWebKitAPI/Tests/mac/AdditionalSupportedImageTypes.html (working copy) >@@ -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> >Index: Tools/TestWebKitAPI/Tests/mac/AdditionalSupportedImageTypes.mm >=================================================================== >--- Tools/TestWebKitAPI/Tests/mac/AdditionalSupportedImageTypes.mm (nonexistent) >+++ Tools/TestWebKitAPI/Tests/mac/AdditionalSupportedImageTypes.mm (working copy) >@@ -0,0 +1,103 @@ >+/* >+ * 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> >+ >+@interface AdditionalSupportedImageTypesTest : NSObject <WebFrameLoadDelegate> { >+} >+@end >+ >+static bool didFinishLoad; >+ >+@implementation AdditionalSupportedImageTypesTest >+ >+- (void)webView:(WebView *)sender didFinishLoadForFrame:(WebFrame *)frame >+{ >+ didFinishLoad = true; >+} >+@end >+ >+namespace TestWebKitAPI { >+ >+static void runTest(NSArray *additionalSupportedImageTypes, Boolean expectedToLoad) >+{ >+ RetainPtr<WebPreferences> preferences = adoptNS([[WebPreferences alloc] initWithIdentifier:nil]); >+ [preferences setAdditionalSupportedImageTypes:additionalSupportedImageTypes]; >+ >+ 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 != nullptr, expectedToLoad); >+ if (image) >+ EXPECT_EQ([image width], 100); >+} >+ >+TEST(WebKitLegacy, AdditionalSupportedStringImageType) >+{ >+ runTest(@[@"com.truevision.tga-image"], true); >+} >+ >+TEST(WebKitLegacy, AdditionalBogusStringImageType) >+{ >+ runTest(@[@"public.bogus"], false); >+} >+ >+TEST(WebKitLegacy, AdditionalEmptyArrayImageType) >+{ >+ runTest(@[], false); >+} >+ >+TEST(WebKitLegacy, AdditionalArryOfNullImageType) >+{ >+ runTest(@[[NSNull null]], false); >+} >+ >+TEST(WebKitLegacy, AdditionalArrayOfArrayImageType) >+{ >+ runTest(@[@[@"com.truevision.tga-image"]], false); >+} >+ >+} // namespace TestWebKitAPI >Index: Tools/TestWebKitAPI/Tests/mac/100x100-red.tga >=================================================================== >Cannot display: file marked as a binary type. >svn:mime-type = application/octet-stream > >Property changes on: Tools/TestWebKitAPI/Tests/mac/100x100-red.tga >___________________________________________________________________ >Added: svn:mime-type >## -0,0 +1 ## >+application/octet-stream >\ No newline at end of property > >AAAKAAAAAAAAAAAAZABkACAo4wAA///jAAD//+MAAP//4wAA///jAAD//+MAAP//4wAA///jAAD/ >/+MAAP//4wAA///jAAD//+MAAP//4wAA///jAAD//+MAAP//4wAA///jAAD//+MAAP//4wAA///j >AAD//+MAAP//4wAA///jAAD//+MAAP//4wAA///jAAD//+MAAP//4wAA///jAAD//+MAAP//4wAA >///jAAD//+MAAP//4wAA///jAAD//+MAAP//4wAA///jAAD//+MAAP//4wAA///jAAD//+MAAP// >4wAA///jAAD//+MAAP//4wAA///jAAD//+MAAP//4wAA///jAAD//+MAAP//4wAA///jAAD//+MA >AP//4wAA///jAAD//+MAAP//4wAA///jAAD//+MAAP//4wAA///jAAD//+MAAP//4wAA///jAAD/ >/+MAAP//4wAA///jAAD//+MAAP//4wAA///jAAD//+MAAP//4wAA///jAAD//+MAAP//4wAA///j >AAD//+MAAP//4wAA///jAAD//+MAAP//4wAA///jAAD//+MAAP//4wAA///jAAD//+MAAP//4wAA >///jAAD//+MAAP//4wAA///jAAD//+MAAP//4wAA///jAAD//+MAAP//4wAA///jAAD//+MAAP// >4wAA//8= >
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