WebKit Bugzilla
Attachment 346095 Details for
Bug 188139
: REGRESSION (r231107): MoviStar+ launches to a blank black screen
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch
bug-188139-20180730133935.patch (text/plain), 10.23 KB, created by
Daniel Bates
on 2018-07-30 13:39:36 PDT
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
Daniel Bates
Created:
2018-07-30 13:39:36 PDT
Size:
10.23 KB
patch
obsolete
>Subversion Revision: 234316 >diff --git a/Source/WTF/ChangeLog b/Source/WTF/ChangeLog >index 1e46bce0ebd79826603eb9e5b48802375679fcde..13f7d46e83ac86c2481f33faf6bc7e94d15e0038 100644 >--- a/Source/WTF/ChangeLog >+++ b/Source/WTF/ChangeLog >@@ -1,3 +1,15 @@ >+2018-07-30 Daniel Bates <dabates@apple.com> >+ >+ REGRESSION (r231107): MoviStar+ launches to a blank black screen >+ https://bugs.webkit.org/show_bug.cgi?id=188139 >+ <rdar://problem/41907319> >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ Add a macro define for macOS Mojave. >+ >+ * wtf/spi/darwin/dyldSPI.h: >+ > 2018-07-26 Andy VanWagoner <andy@vanwagoner.family> > > [INTL] Remove INTL sub-feature compile flags >diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog >index 91f89ac41f7422cbe4d96e3368968bf8244eed42..a1c5d804fdbcaa9812f90babc07bfdc00f7992d4 100644 >--- a/Source/WebCore/ChangeLog >+++ b/Source/WebCore/ChangeLog >@@ -1,3 +1,20 @@ >+2018-07-30 Daniel Bates <dabates@apple.com> >+ >+ REGRESSION (r231107): MoviStar+ launches to a blank black screen >+ https://bugs.webkit.org/show_bug.cgi?id=188139 >+ <rdar://problem/41907319> >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ Expose a setting, allowCORSPreflightRequestsToAnyScheme, to toggle the CORS behavior before r231107 >+ of allowing preflight requests to URLs with arbitrary schemes. Following r231107 we now conform >+ to the definition of the CORS protocol as described in the Fetch spec, <https://fetch.spec.whatwg.org> >+ and only perform CORS simple and preflight requests to URLS with HTTP(S) schemes. >+ >+ * loader/DocumentThreadableLoader.cpp: >+ (WebCore::DocumentThreadableLoader::makeCrossOriginAccessRequest): >+ * page/Settings.yaml: >+ > 2018-07-03 David Fenton <david_fenton@apple.com> > > Unreviewed, rolling out r233461. >diff --git a/Source/WebKit/ChangeLog b/Source/WebKit/ChangeLog >index 5f70f15f8c7a0159dc6b0280cab9c630c7332522..6a5f05d92905d44cc339502540b9c02c60b9e2e9 100644 >--- a/Source/WebKit/ChangeLog >+++ b/Source/WebKit/ChangeLog >@@ -1,3 +1,19 @@ >+2018-07-30 Daniel Bates <dabates@apple.com> >+ >+ REGRESSION (r231107): MoviStar+ launches to a blank black screen >+ https://bugs.webkit.org/show_bug.cgi?id=188139 >+ <rdar://problem/41907319> >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ Opt into the CORS preflight behavior before r231107 for existing Modern WebKit apps. That is, >+ allow such apps to make CORS preflight requests to any URL. >+ >+ * Shared/WebPreferences.yaml: >+ * UIProcess/API/Cocoa/WKWebView.mm: >+ (-[WKWebView _initializeWithConfiguration:]): >+ * UIProcess/Cocoa/VersionChecks.h: >+ > 2018-07-03 David Fenton <david_fenton@apple.com> > > Unreviewed, rolling out r233461. >diff --git a/Source/WebKitLegacy/mac/ChangeLog b/Source/WebKitLegacy/mac/ChangeLog >index 0e3375663b93d5b86e3cb5018566cab48fae5d06..2c056270fc123a5fbae26a6e130a5d1630431094 100644 >--- a/Source/WebKitLegacy/mac/ChangeLog >+++ b/Source/WebKitLegacy/mac/ChangeLog >@@ -1,3 +1,19 @@ >+2018-07-30 Daniel Bates <dabates@apple.com> >+ >+ REGRESSION (r231107): MoviStar+ launches to a blank black screen >+ https://bugs.webkit.org/show_bug.cgi?id=188139 >+ <rdar://problem/41907319> >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ Opt into the CORS preflight behavior before r231107 for existing WebKit Legacy/UIWebView apps. >+ That is, allow such apps to make CORS preflight requests to any URL. This change fixes the >+ Spain App Store published MoviStar+ app on iOS 12. >+ >+ * Misc/WebKitVersionChecks.h: >+ * WebView/WebView.mm: >+ (-[WebView _commonInitializationWithFrameName:groupName:]): >+ > 2018-07-26 Andy VanWagoner <andy@vanwagoner.family> > > [INTL] Remove INTL sub-feature compile flags >diff --git a/Source/WTF/wtf/spi/darwin/dyldSPI.h b/Source/WTF/wtf/spi/darwin/dyldSPI.h >index 4506098a2bdcca257a0e171a068f1d80322b6b34..805d65a95cd97c29b92b8a89cb4c8c2dbed317ab 100644 >--- a/Source/WTF/wtf/spi/darwin/dyldSPI.h >+++ b/Source/WTF/wtf/spi/darwin/dyldSPI.h >@@ -45,6 +45,10 @@ > #define DYLD_MACOSX_VERSION_10_13 0x000A0D00 > #endif > >+#ifndef DYLD_MACOSX_VERSION_10_14 >+#define DYLD_MACOSX_VERSION_10_14 0x000A0E00 >+#endif >+ > #else > > #define DYLD_IOS_VERSION_3_0 0x00030000 >@@ -61,6 +65,7 @@ > #define DYLD_MACOSX_VERSION_10_11 0x000A0B00 > #define DYLD_MACOSX_VERSION_10_12 0x000A0C00 > #define DYLD_MACOSX_VERSION_10_13 0x000A0D00 >+#define DYLD_MACOSX_VERSION_10_14 0x000A0E00 > > #endif > >diff --git a/Source/WebCore/loader/DocumentThreadableLoader.cpp b/Source/WebCore/loader/DocumentThreadableLoader.cpp >index 1c2d1dc08b5c42d2a6c8eb32e04cc2ab7698f282..918d6f43891cc2b5d520389d58ae2cb022a732dc 100644 >--- a/Source/WebCore/loader/DocumentThreadableLoader.cpp >+++ b/Source/WebCore/loader/DocumentThreadableLoader.cpp >@@ -194,7 +194,7 @@ void DocumentThreadableLoader::makeCrossOriginAccessRequest(ResourceRequest&& re > } > } > #endif >- if (!checkURLSchemeAsCORSEnabled(request.url())) >+ if (!m_document.settings().allowCORSPreflightRequestsToAnyScheme() && !checkURLSchemeAsCORSEnabled(request.url())) > return; > > m_simpleRequest = false; >diff --git a/Source/WebCore/page/Settings.yaml b/Source/WebCore/page/Settings.yaml >index bdf8004c6c5f35c39e26da41aafbb5939832e0c9..4347f6a3c2c3520b9148e5d4a760c7b995345c6a 100644 >--- a/Source/WebCore/page/Settings.yaml >+++ b/Source/WebCore/page/Settings.yaml >@@ -758,3 +758,6 @@ incompleteImageBorderEnabled: > > shouldDeferAsynchronousScriptsUntilAfterDocumentLoad: > initial: false >+ >+allowCORSPreflightRequestsToAnyScheme: >+ initial: false >diff --git a/Source/WebKit/Shared/WebPreferences.yaml b/Source/WebKit/Shared/WebPreferences.yaml >index 370266006ef407835280dd6cd3a645bb193f3da7..186babaca54de66ba432f3a2ac7c478ac1493f90 100644 >--- a/Source/WebKit/Shared/WebPreferences.yaml >+++ b/Source/WebKit/Shared/WebPreferences.yaml >@@ -178,6 +178,10 @@ AllowSettingAnyXHRHeaderFromFileURLs: > type: bool > defaultValue: false > >+AllowCORSPreflightRequestsToAnyScheme: >+ type: bool >+ defaultValue: false >+ > AllowCrossOriginSubresourcesToAskForCredentials: > type: bool > defaultValue: false >diff --git a/Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm b/Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm >index 53df915717dca340fc7ca36616a735f7419ffeec..417680d1b1db24c4993cf59d972d04406882133d 100644 >--- a/Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm >+++ b/Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm >@@ -581,6 +581,8 @@ - (void)_initializeWithConfiguration:(WKWebViewConfiguration *)configuration > #endif > #endif > >+ pageConfiguration->preferenceValues().set(WebKit::WebPreferencesKey::allowCORSPreflightRequestsToAnySchemeKey(), WebKit::WebPreferencesStore::Value(!linkedOnOrAfter(WebKit::SDKVersion::FirstThatOnlyAllowsCORSPreflightRequestsToCORSEnabledSchemes))); >+ > WKAudiovisualMediaTypes mediaTypesRequiringUserGesture = [_configuration mediaTypesRequiringUserActionForPlayback]; > pageConfiguration->preferenceValues().set(WebKit::WebPreferencesKey::requiresUserGestureForVideoPlaybackKey(), WebKit::WebPreferencesStore::Value((mediaTypesRequiringUserGesture & WKAudiovisualMediaTypeVideo) == WKAudiovisualMediaTypeVideo)); > pageConfiguration->preferenceValues().set(WebKit::WebPreferencesKey::requiresUserGestureForAudioPlaybackKey(), WebKit::WebPreferencesStore::Value(((mediaTypesRequiringUserGesture & WKAudiovisualMediaTypeAudio) == WKAudiovisualMediaTypeAudio))); >diff --git a/Source/WebKit/UIProcess/Cocoa/VersionChecks.h b/Source/WebKit/UIProcess/Cocoa/VersionChecks.h >index 15035b3c010f278d78f756ee33eed7beaa4913a5..93cafcf7003856eed29a5470d360777277cdce1c 100644 >--- a/Source/WebKit/UIProcess/Cocoa/VersionChecks.h >+++ b/Source/WebKit/UIProcess/Cocoa/VersionChecks.h >@@ -40,11 +40,13 @@ enum class SDKVersion : uint32_t { > FirstThatDefaultsToPassiveTouchListenersOnDocument = DYLD_IOS_VERSION_11_3, > FirstWhereScrollViewContentInsetsAreNotObscuringInsets = DYLD_IOS_VERSION_12_0, > FirstWhereUIScrollViewDoesNotApplyKeyboardInsetsUnconditionally = DYLD_IOS_VERSION_12_0, >+ FirstThatOnlyAllowsCORSPreflightRequestsToCORSEnabledSchemes = DYLD_IOS_VERSION_12_0, > #elif PLATFORM(MAC) > FirstWithNetworkCache = DYLD_MACOSX_VERSION_10_11, > FirstWithExceptionsForDuplicateCompletionHandlerCalls = DYLD_MACOSX_VERSION_10_13, > FirstWithDropToNavigateDisallowedByDefault = DYLD_MACOSX_VERSION_10_13, > FirstWithExpiredOnlyReloadBehavior = DYLD_MACOSX_VERSION_10_13, >+ FirstThatOnlyAllowsCORSPreflightRequestsToCORSEnabledSchemes = DYLD_MACOSX_VERSION_10_14, > #endif > }; > >diff --git a/Source/WebKitLegacy/mac/Misc/WebKitVersionChecks.h b/Source/WebKitLegacy/mac/Misc/WebKitVersionChecks.h >index 40270e9d3b581c18fe9873a87d8b12e9a4ab9bb1..606ef57c6a7a7c3c16269f1ec4c99fba8b6391b1 100644 >--- a/Source/WebKitLegacy/mac/Misc/WebKitVersionChecks.h >+++ b/Source/WebKitLegacy/mac/Misc/WebKitVersionChecks.h >@@ -76,9 +76,11 @@ enum class SDKVersion : uint32_t { > #if PLATFORM(IOS) > FirstToExcludeLocalStorageFromBackup = DYLD_IOS_VERSION_11_0, > FirstThatDefaultsToPassiveTouchListenersOnDocument = DYLD_IOS_VERSION_11_3, >+ FirstThatOnlyAllowsCORSPreflightRequestsToCORSEnabledSchemes = DYLD_IOS_VERSION_12_0, > #else > FirstWithDropToNavigateDisallowedByDefault = DYLD_MACOSX_VERSION_10_13, > FirstWithWebIconDatabaseWarning = DYLD_MACOSX_VERSION_10_13, >+ FirstThatOnlyAllowsCORSPreflightRequestsToCORSEnabledSchemes = DYLD_MACOSX_VERSION_10_14, > #endif > }; > >diff --git a/Source/WebKitLegacy/mac/WebView/WebView.mm b/Source/WebKitLegacy/mac/WebView/WebView.mm >index 808c3c09dfadff3c1292c15b299b59a062aa0578..5da38fe17cd4d7ef54cf7b231e6d83b5ec5dac62 100644 >--- a/Source/WebKitLegacy/mac/WebView/WebView.mm >+++ b/Source/WebKitLegacy/mac/WebView/WebView.mm >@@ -1491,6 +1491,8 @@ - (void)_commonInitializationWithFrameName:(NSString *)frameName groupName:(NSSt > _private->page->settings().setPassiveTouchListenersAsDefaultOnDocument(linkedOnOrAfter(SDKVersion::FirstThatDefaultsToPassiveTouchListenersOnDocument)); > #endif > >+ _private->page->settings().setAllowCORSPreflightRequestsToAnyScheme(!linkedOnOrAfter(SDKVersion::FirstThatOnlyAllowsCORSPreflightRequestsToCORSEnabledSchemes)); >+ > #if PLATFORM(IOS) > // Preserve the behavior we had before <rdar://problem/7580867> > // by enforcing a 5MB limit for session storage.
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 188139
:
346095
|
346104
|
346105
|
346116
|
346119
|
346131
|
346132
|
346141
|
346247
|
346255