RESOLVED FIXED 195435
Make sure an empty host matches the internal representation "nullOrigin" in WebCore::RegistrableDomain::matches()
https://bugs.webkit.org/show_bug.cgi?id=195435
Summary Make sure an empty host matches the internal representation "nullOrigin" in W...
John Wilander
Reported 2019-03-07 14:28:09 PST
WebCore::RegistrableDomain::matches() is a quick way to compare a RegistrableDomain with a URL. Since RegistrableDomain represents the empty host as "nullOrigin," a URL with an empty host needs to match that representation in WebCore::RegistrableDomain::matches(). This omission caused debug assertions in fast/ layout tests after https://trac.webkit.org/changeset/242603/webkit.
Attachments
Patch (1.86 KB, patch)
2019-03-07 14:31 PST, John Wilander
no flags
John Wilander
Comment 1 2019-03-07 14:31:57 PST
Brent Fulgham
Comment 2 2019-03-07 15:56:53 PST
Comment on attachment 363929 [details] Patch r=me
WebKit Commit Bot
Comment 3 2019-03-07 16:23:57 PST
Comment on attachment 363929 [details] Patch Clearing flags on attachment: 363929 Committed r242620: <https://trac.webkit.org/changeset/242620>
WebKit Commit Bot
Comment 4 2019-03-07 16:23:58 PST
All reviewed patches have been landed. Closing bug.
Radar WebKit Bug Importer
Comment 5 2019-03-07 16:25:15 PST
Darin Adler
Comment 6 2019-03-08 12:54:54 PST
Comment on attachment 363929 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=363929&action=review > Source/WebCore/platform/RegistrableDomain.h:62 > + if (host.isEmpty() && m_registrableDomain == "nullOrigin"_s) Using _s with == doesn’t optimize things; I think in fact it just makes them slower. This _s should be omitted.
Darin Adler
Comment 7 2019-03-08 12:55:29 PST
Comment on attachment 363929 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=363929&action=review >> Source/WebCore/platform/RegistrableDomain.h:62 >> + if (host.isEmpty() && m_registrableDomain == "nullOrigin"_s) > > Using _s with == doesn’t optimize things; I think in fact it just makes them slower. This _s should be omitted. Or we could fix WTF::String so it at least doesn’t make things slower and then leave this alone.
John Wilander
Comment 8 2019-03-08 13:02:59 PST
(In reply to Darin Adler from comment #6) > Comment on attachment 363929 [details] > Patch > > View in context: > https://bugs.webkit.org/attachment.cgi?id=363929&action=review > > > Source/WebCore/platform/RegistrableDomain.h:62 > > + if (host.isEmpty() && m_registrableDomain == "nullOrigin"_s) > > Using _s with == doesn’t optimize things; I think in fact it just makes them > slower. This _s should be omitted. Thanks! Did not know that.
Simon Fraser (smfr)
Comment 9 2019-03-10 09:50:35 PDT
John Wilander
Comment 10 2019-03-10 12:14:57 PDT
(In reply to Simon Fraser (smfr) from comment #9) > Still lots of asserts in iOS sim: > https://build.webkit.org/builders/ > Apple%20iOS%2012%20Simulator%20Debug%20WK2%20%28Tests%29?numbuilds=100 Sorry about that. I will have a look tomorrow morning. It’s probably best to restructure the check before the IPC call. The reason for all of this is that I don’t want to do IPC for useless cases, only to drop them on the other side.
John Wilander
Comment 11 2019-03-11 10:22:17 PDT
Looking at this now.
John Wilander
Comment 12 2019-03-11 11:19:43 PDT
These assertion failures seem unrelated. The problem seems to be in WebKit::RemoteLayerBackingStoreCollection::backingStoreWillBeDisplayed(). Or did you see my code causing this, Simon? ASSERTION FAILED: m_inLayerFlush /Volumes/Data/slave/ios-simulator-12-debug/build/Source/WebKit/Shared/RemoteLayerTree/RemoteLayerBackingStoreCollection.mm(92) : bool WebKit::RemoteLayerBackingStoreCollection::backingStoreWillBeDisplayed(WebKit::RemoteLayerBackingStore &)
John Wilander
Comment 13 2019-03-11 11:23:06 PDT
I was not able to repro with ToT on my machine, executing: run-webkit-tests --ios-simulator animations/animation-controller-drt-api.html --no-retry-failures
Note You need to log in before you can comment on or make changes to this bug.