RESOLVED FIXED 188139
REGRESSION (r231107): MoviStar+ launches to a blank black screen
https://bugs.webkit.org/show_bug.cgi?id=188139
Summary REGRESSION (r231107): MoviStar+ launches to a blank black screen
Daniel Bates
Reported 2018-07-28 12:48:58 PDT
Steps to reproduce: 1. Download and install MoviStar+ from the Spain App Store. To do this from the US you will need a billing address in Spain and need to perform the following: A. Open Settings > General > Language & Region. Tap Region and pick Spain. B. Visit <https://appleid.apple.com/account#!&page=create> and create a new Apple ID and choose Spain as your country. C. Open Settings > iTunes & App Stores and sign in with the Apple ID you created in (B). If prompted to enter payment details and billing address select None and enter your billing address, respectively. D. Open the App Store. 2. Open MoviStar+. Then after the initial loading screen you will see a blank black screen.
Attachments
Patch (10.23 KB, patch)
2018-07-30 13:39 PDT, Daniel Bates
no flags
Archive of layout-test-results from ews103 for mac-sierra (2.29 MB, application/zip)
2018-07-30 14:50 PDT, EWS Watchlist
no flags
Patch and layout test (22.61 KB, patch)
2018-07-30 14:54 PDT, Daniel Bates
no flags
Archive of layout-test-results from ews100 for mac-sierra (2.32 MB, application/zip)
2018-07-30 16:05 PDT, EWS Watchlist
no flags
Patch and layout tests (32.10 KB, patch)
2018-07-30 16:13 PDT, Daniel Bates
no flags
Archive of layout-test-results from ews204 for win-future (13.04 MB, application/zip)
2018-07-30 17:58 PDT, EWS Watchlist
no flags
Archive of layout-test-results from ews121 for ios-simulator-wk2 (2.25 MB, application/zip)
2018-07-30 18:09 PDT, EWS Watchlist
no flags
Archive of layout-test-results from ews106 for mac-sierra-wk2 (2.88 MB, application/zip)
2018-07-30 20:58 PDT, EWS Watchlist
no flags
Patch (13.07 KB, patch)
2018-07-31 18:38 PDT, Alex Christensen
no flags
Patch (13.01 KB, patch)
2018-07-31 20:56 PDT, Alex Christensen
no flags
Daniel Bates
Comment 1 2018-07-28 12:49:19 PDT
Daniel Bates
Comment 2 2018-07-30 13:39:36 PDT
Brent Fulgham
Comment 3 2018-07-30 13:49:38 PDT
Comment on attachment 346095 [details] Patch r=me.
EWS Watchlist
Comment 4 2018-07-30 14:50:14 PDT Comment hidden (obsolete)
EWS Watchlist
Comment 5 2018-07-30 14:50:16 PDT Comment hidden (obsolete)
Daniel Bates
Comment 6 2018-07-30 14:54:20 PDT
Created attachment 346105 [details] Patch and layout test Added a layout test to ensure that setting is propagated to both the WebKit1 and WebKit2 code paths. Ideally we would use a TestWebKitAPI test that registers a custom protocol handler and loads content that makes a CORS preflight request to its custom protocol.
EWS Watchlist
Comment 7 2018-07-30 16:05:26 PDT Comment hidden (obsolete)
EWS Watchlist
Comment 8 2018-07-30 16:05:28 PDT Comment hidden (obsolete)
Daniel Bates
Comment 9 2018-07-30 16:13:34 PDT
Created attachment 346119 [details] Patch and layout tests Add platform-specific results for OS X Yosemite, macOS Sierra, macOS High Sierra and iOS 11 that use the CORS behavior before <http://trac.webkit.org/changeset/231107>.
Brent Fulgham
Comment 10 2018-07-30 17:01:09 PDT
Comment on attachment 346119 [details] Patch and layout tests View in context: https://bugs.webkit.org/attachment.cgi?id=346119&action=review I think this patch looks good, but it might still cause imported platform Fetch API tests to fail. > Source/WebKit/NetworkProcess/NetworkLoadChecker.h:137 > + bool m_shouldCaptureExtraNetworkLoadMetrics; We did you stop initializing this value? Is it because it is always set by the constructor? It seems like it would be better to always set them to a known state, in case someone makes a constructor overload in the future that doesn't assign a value here.
EWS Watchlist
Comment 11 2018-07-30 17:58:33 PDT
Comment on attachment 346119 [details] Patch and layout tests Attachment 346119 [details] did not pass win-ews (win): Output: https://webkit-queues.webkit.org/results/8705153 New failing tests: http/tests/xmlhttprequest/about-put-allowCORSPreflightRequestsToAnyScheme.html
EWS Watchlist
Comment 12 2018-07-30 17:58:44 PDT
Created attachment 346131 [details] Archive of layout-test-results from ews204 for win-future The attached test failures were seen while running run-webkit-tests on the win-ews. Bot: ews204 Port: win-future Platform: CYGWIN_NT-6.1-2.9.0-0.318-5-3-x86_64-64bit
EWS Watchlist
Comment 13 2018-07-30 18:09:54 PDT
Comment on attachment 346119 [details] Patch and layout tests Attachment 346119 [details] did not pass ios-sim-ews (ios-simulator-wk2): Output: https://webkit-queues.webkit.org/results/8705094 New failing tests: imported/w3c/web-platform-tests/fetch/api/basic/scheme-about.any.html imported/w3c/web-platform-tests/fetch/api/basic/scheme-about.any.worker.html
EWS Watchlist
Comment 14 2018-07-30 18:09:56 PDT
Created attachment 346132 [details] Archive of layout-test-results from ews121 for ios-simulator-wk2 The attached test failures were seen while running run-webkit-tests on the ios-sim-ews. Bot: ews121 Port: ios-simulator-wk2 Platform: Mac OS X 10.13.4
EWS Watchlist
Comment 15 2018-07-30 20:58:43 PDT
Comment on attachment 346119 [details] Patch and layout tests Attachment 346119 [details] did not pass mac-wk2-ews (mac-wk2): Output: https://webkit-queues.webkit.org/results/8706419 New failing tests: imported/w3c/web-platform-tests/fetch/api/basic/scheme-about.any.html imported/w3c/web-platform-tests/fetch/api/basic/scheme-about.any.worker.html
EWS Watchlist
Comment 16 2018-07-30 20:58:45 PDT
Created attachment 346141 [details] Archive of layout-test-results from ews106 for mac-sierra-wk2 The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews. Bot: ews106 Port: mac-sierra-wk2 Platform: Mac OS X 10.12.6
Alex Christensen
Comment 17 2018-07-31 12:32:36 PDT
Comment on attachment 346119 [details] Patch and layout tests View in context: https://bugs.webkit.org/attachment.cgi?id=346119&action=review > LayoutTests/ChangeLog:26 > + * platform/mac-yosemite/imported/w3c/web-platform-tests/fetch/api/basic/scheme-about.any-expected.txt: Added. > + * platform/mac-yosemite/imported/w3c/web-platform-tests/fetch/api/basic/scheme-about.any.worker-expected.txt: Added. These aren't needed after http://trac.webkit.org/r234435
Alex Christensen
Comment 18 2018-07-31 15:02:05 PDT
Comment on attachment 346119 [details] Patch and layout tests View in context: https://bugs.webkit.org/attachment.cgi?id=346119&action=review > Source/WebCore/page/Settings.yaml:763 > +allowCORSPreflightRequestsToAnyScheme: > + initial: false I'll bet this is being reset to false every time a test runs, leading to the test failures if the affected tests aren't the first run by DRT/WKTR
Alex Christensen
Comment 19 2018-07-31 16:24:35 PDT
https://trac.webkit.org/changeset/219847/webkit might be related to the failures were seeing.
Alex Christensen
Comment 20 2018-07-31 16:26:01 PDT
I think we should add a bundle check, too, so we can remove this hack soon.
Alex Christensen
Comment 21 2018-07-31 18:38:20 PDT
Daniel Bates
Comment 22 2018-07-31 20:14:10 PDT
Comment on attachment 346247 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=346247&action=review > Source/WebCore/loader/DocumentThreadableLoader.cpp:188 > + bool needsPreflightQuirk = IOSApplication::isMoviStarPlus() && applicationSDKVersion() < DYLD_IOS_VERSION_12_0 && (m_options.preflightPolicy == PreflightPolicy::Consider || m_options.preflightPolicy == PreflightPolicy::Force); How did you come to the decision to limit this change only to MoviStar? This issue affects all apps. It seems weird to give preferential treatment to MoviStar and will give a bad customer experience for other Mac and iOS apps affected by r231107.
Brent Fulgham
Comment 23 2018-07-31 20:30:37 PDT
Comment on attachment 346247 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=346247&action=review Let’s take this change as is, and revisit for other impacted client applications if any are identified, >> Source/WebCore/loader/DocumentThreadableLoader.cpp:188 >> + bool needsPreflightQuirk = IOSApplication::isMoviStarPlus() && applicationSDKVersion() < DYLD_IOS_VERSION_12_0 && (m_options.preflightPolicy == PreflightPolicy::Consider || m_options.preflightPolicy == PreflightPolicy::Force); > > How did you come to the decision to limit this change only to MoviStar? This issue affects all apps. It seems weird to give preferential treatment to MoviStar and will give a bad customer experience for other Mac and iOS apps affected by r231107. Do we know of any other clients impacted by this? Alex and I talked about it, and would like to be able to remove this workaround code once MoviStar (and any others) have updated.
Alex Christensen
Comment 24 2018-07-31 20:56:37 PDT
Alex Christensen
Comment 25 2018-07-31 20:57:21 PDT
mitz
Comment 26 2018-07-31 21:03:32 PDT
(In reply to Daniel Bates from comment #22) > Comment on attachment 346247 [details] > Patch > > View in context: > https://bugs.webkit.org/attachment.cgi?id=346247&action=review > > > Source/WebCore/loader/DocumentThreadableLoader.cpp:188 > > + bool needsPreflightQuirk = IOSApplication::isMoviStarPlus() && applicationSDKVersion() < DYLD_IOS_VERSION_12_0 && (m_options.preflightPolicy == PreflightPolicy::Consider || m_options.preflightPolicy == PreflightPolicy::Force); > > How did you come to the decision to limit this change only to MoviStar? This > issue affects all apps. It seems weird to give preferential treatment to > MoviStar and will give a bad customer experience for other Mac and iOS apps > affected by r231107. I agree with Dan. It’s not clear how r231107 benefits folks who use apps linked before iOS 12, but it’s clear that r231107 carries risk to those people.
Alex Christensen
Comment 27 2018-08-01 10:30:09 PDT
(In reply to mitz from comment #26) I think this is measurably better than nothing. Either of the Dans are welcome to improve upon this by the integration deadline.
Note You need to log in before you can comment on or make changes to this bug.