RESOLVED FIXED 183969
Use SecurityOriginData more consistently in Service Worker code
https://bugs.webkit.org/show_bug.cgi?id=183969
Summary Use SecurityOriginData more consistently in Service Worker code
Chris Dumez
Reported 2018-03-23 19:53:01 PDT
Use SecurityOriginData more consistently in Service Worker code to avoid constructing SecurityOrigin objects.
Attachments
Patch (53.36 KB, patch)
2018-03-23 20:33 PDT, Chris Dumez
no flags
Patch (124.99 KB, patch)
2018-03-23 21:37 PDT, Chris Dumez
no flags
Patch (127.28 KB, patch)
2018-03-23 21:49 PDT, Chris Dumez
no flags
Patch (129.37 KB, patch)
2018-03-23 21:53 PDT, Chris Dumez
no flags
Patch (129.38 KB, patch)
2018-03-23 21:57 PDT, Chris Dumez
no flags
Patch (129.38 KB, patch)
2018-03-23 22:54 PDT, Chris Dumez
no flags
Patch (129.38 KB, patch)
2018-03-24 10:28 PDT, Chris Dumez
no flags
Patch (129.52 KB, patch)
2018-03-24 12:14 PDT, Chris Dumez
no flags
Patch (129.52 KB, patch)
2018-03-24 12:17 PDT, Chris Dumez
no flags
Patch (129.88 KB, patch)
2018-03-26 10:26 PDT, Chris Dumez
no flags
Chris Dumez
Comment 1 2018-03-23 20:33:38 PDT
EWS Watchlist
Comment 2 2018-03-23 20:34:31 PDT
Attachment 336454 [details] did not pass style-queue: ERROR: Source/WebKit/UIProcess/ServiceWorkerProcessProxy.cpp:54: Code inside a namespace should not be indented. [whitespace/indent] [4] Total errors found: 1 in 26 files If any of these errors are false positives, please file a bug against check-webkit-style.
Darin Adler
Comment 3 2018-03-23 20:53:17 PDT
Comment on attachment 336454 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=336454&action=review > Source/WebCore/ChangeLog:17 > + * page/SecurityOriginData.cpp: > + (WebCore::SecurityOriginData::toString const): > + Update the SecurityOriginData::toString() implementation to match the one in > + SecurityOrigin. In particular, in the common case where there is no port, the > + string is now https://www.webkit.org, not https://www.webkit.org:0. This comment is slightly misleading. The function does *not* match SecurityOrigin::toRawString in the case where m_protocol is "file". > Source/WebCore/page/SecurityOriginData.cpp:64 > - return makeString(protocol, "://", host, ":", String::number(port.value_or(0))); > + StringBuilder result; > + result.reserveCapacity(protocol.length() + host.length() + 10); > + result.append(protocol); > + result.appendLiteral("://"); > + result.append(host); > + > + if (port) { > + result.append(':'); > + result.appendNumber(port.value()); > + } > + > + return result.toString(); Here’s another way to write it that is simpler and more efficient: if (!port) return makeString(protocol, "://", host); return makeString(protocol, "://", host, ':', *port); We should change SecurityOrigin::toRawString to do it that way, I think. Should we eventually make SecurityOrigin use a SecurityOriginData data member instead of m_protocol, m_host, and m_port? If so, then SecurityOrigin::toRawString could actually call this function. > Source/WebCore/page/SecurityOriginData.h:29 > +#include "URL.h" > #include <wtf/text/WTFString.h> Can delete the include of WTFString.h since we are adding the include of URL.h. > Source/WebCore/workers/service/server/SWOriginStore.h:30 > +#include "SecurityOriginData.h" Can remove the include of WTFString.h since we are adding the include of SecurityOriginData.h. > Source/WebCore/workers/service/server/SWOriginStore.h:32 > #include <wtf/text/StringHash.h> We can remove this include too since we aren’t hashing strings here any more.
Chris Dumez
Comment 4 2018-03-23 21:37:03 PDT
EWS Watchlist
Comment 5 2018-03-23 21:38:50 PDT
Attachment 336455 [details] did not pass style-queue: ERROR: Source/WebKit/UIProcess/ServiceWorkerProcessProxy.cpp:54: Code inside a namespace should not be indented. [whitespace/indent] [4] Total errors found: 1 in 74 files If any of these errors are false positives, please file a bug against check-webkit-style.
Chris Dumez
Comment 6 2018-03-23 21:49:30 PDT
EWS Watchlist
Comment 7 2018-03-23 21:52:10 PDT
Attachment 336456 [details] did not pass style-queue: ERROR: Source/WebKit/UIProcess/ServiceWorkerProcessProxy.cpp:54: Code inside a namespace should not be indented. [whitespace/indent] [4] Total errors found: 1 in 77 files If any of these errors are false positives, please file a bug against check-webkit-style.
Chris Dumez
Comment 8 2018-03-23 21:53:17 PDT
EWS Watchlist
Comment 9 2018-03-23 21:55:32 PDT
Attachment 336457 [details] did not pass style-queue: ERROR: Source/WebKit/UIProcess/ServiceWorkerProcessProxy.cpp:54: Code inside a namespace should not be indented. [whitespace/indent] [4] Total errors found: 1 in 79 files If any of these errors are false positives, please file a bug against check-webkit-style.
Chris Dumez
Comment 10 2018-03-23 21:57:54 PDT
Chris Dumez
Comment 11 2018-03-23 21:59:10 PDT
Darin, I made the refactoring you suggested. Could you please take another look? Also note that makeString() does not do the right thing when passed a uint16_t so I had to call String::number() first.
EWS Watchlist
Comment 12 2018-03-23 22:00:51 PDT
Attachment 336458 [details] did not pass style-queue: ERROR: Source/WebKit/UIProcess/ServiceWorkerProcessProxy.cpp:54: Code inside a namespace should not be indented. [whitespace/indent] [4] Total errors found: 1 in 79 files If any of these errors are false positives, please file a bug against check-webkit-style.
Chris Dumez
Comment 13 2018-03-23 22:54:08 PDT
EWS Watchlist
Comment 14 2018-03-23 22:56:26 PDT
Attachment 336464 [details] did not pass style-queue: ERROR: Source/WebKit/UIProcess/ServiceWorkerProcessProxy.cpp:54: Code inside a namespace should not be indented. [whitespace/indent] [4] Total errors found: 1 in 79 files If any of these errors are false positives, please file a bug against check-webkit-style.
Chris Dumez
Comment 15 2018-03-24 10:28:23 PDT
EWS Watchlist
Comment 16 2018-03-24 10:29:45 PDT
Attachment 336475 [details] did not pass style-queue: ERROR: Source/WebKit/UIProcess/ServiceWorkerProcessProxy.cpp:54: Code inside a namespace should not be indented. [whitespace/indent] [4] Total errors found: 1 in 79 files If any of these errors are false positives, please file a bug against check-webkit-style.
Darin Adler
Comment 17 2018-03-24 11:51:18 PDT
Comment on attachment 336475 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=336475&action=review > Source/WebCore/page/SecurityOriginData.cpp:47 > + return makeString(protocol, "://", host, ':', String::number(*port)); Calling String::number should not be necessary if we include the StringConcatenateNumbers.h header, and that would save allocating and then destroying a String every time.
Chris Dumez
Comment 18 2018-03-24 12:06:27 PDT
(In reply to Darin Adler from comment #17) > Comment on attachment 336475 [details] > Patch > > View in context: > https://bugs.webkit.org/attachment.cgi?id=336475&action=review > > > Source/WebCore/page/SecurityOriginData.cpp:47 > > + return makeString(protocol, "://", host, ':', String::number(*port)); > > Calling String::number should not be necessary if we include the > StringConcatenateNumbers.h header, and that would save allocating and then > destroying a String every time. #include <wtf/text/StringConcatenateNumbers.h> does not seem to help: --- /Volumes/Data/WebKit/OpenSource/WebKitBuild/Release/layout-test-results/http/tests/cache-storage/cache-clearing-origin.https-expected.txt +++ /Volumes/Data/WebKit/OpenSource/WebKitBuild/Release/layout-test-results/http/tests/cache-storage/cache-clearing-origin.https-actual.txt @@ -1,7 +1,7 @@ PASS Create a cache storage from localhost and clear it -PASS Clearing disk cache of a given origin -PASS Validating cache representation before clearing -PASS Validating cache representation after clearing +FAIL Clearing disk cache of a given origin assert_true: Actual origin cache size is not zero expected true got false +FAIL Validating cache representation before clearing assert_equals: top origin of cache 1 expected "https://127.0.0.1:8443" but got "https://127.0.0.1:⃻" +FAIL Validating cache representation after clearing assert_equals: top origin of cache 1 expected "https://127.0.0.1:8443" but got "https://127.0.0.1:⃻"
Chris Dumez
Comment 19 2018-03-24 12:11:32 PDT
(In reply to Chris Dumez from comment #18) > (In reply to Darin Adler from comment #17) > > Comment on attachment 336475 [details] > > Patch > > > > View in context: > > https://bugs.webkit.org/attachment.cgi?id=336475&action=review > > > > > Source/WebCore/page/SecurityOriginData.cpp:47 > > > + return makeString(protocol, "://", host, ':', String::number(*port)); > > > > Calling String::number should not be necessary if we include the > > StringConcatenateNumbers.h header, and that would save allocating and then > > destroying a String every time. > > #include <wtf/text/StringConcatenateNumbers.h> does not seem to help: > --- > /Volumes/Data/WebKit/OpenSource/WebKitBuild/Release/layout-test-results/http/ > tests/cache-storage/cache-clearing-origin.https-expected.txt > +++ > /Volumes/Data/WebKit/OpenSource/WebKitBuild/Release/layout-test-results/http/ > tests/cache-storage/cache-clearing-origin.https-actual.txt > @@ -1,7 +1,7 @@ > > > PASS Create a cache storage from localhost and clear it > -PASS Clearing disk cache of a given origin > -PASS Validating cache representation before clearing > -PASS Validating cache representation after clearing > +FAIL Clearing disk cache of a given origin assert_true: Actual origin cache > size is not zero expected true got false > +FAIL Validating cache representation before clearing assert_equals: top > origin of cache 1 expected "https://127.0.0.1:8443" but got > "https://127.0.0.1:⃻" > +FAIL Validating cache representation after clearing assert_equals: top > origin of cache 1 expected "https://127.0.0.1:8443" but got > "https://127.0.0.1:⃻" My best is that it probably ends up using the template specialization for UChar?
Darin Adler
Comment 20 2018-03-24 12:12:50 PDT
(In reply to Chris Dumez from comment #18) > (In reply to Darin Adler from comment #17) > > Comment on attachment 336475 [details] > > Patch > > > > View in context: > > https://bugs.webkit.org/attachment.cgi?id=336475&action=review > > > > > Source/WebCore/page/SecurityOriginData.cpp:47 > > > + return makeString(protocol, "://", host, ':', String::number(*port)); > > > > Calling String::number should not be necessary if we include the > > StringConcatenateNumbers.h header, and that would save allocating and then > > destroying a String every time. > > #include <wtf/text/StringConcatenateNumbers.h> does not seem to help: The problem is that UChar and uint16_t are the same type, so it’s interpreting the port number as a character. A short term workaround is to convert the port number to some other integer type: static_cast<uint32_t>(*port) A longer term solution would be to make an adapter to resolve the ambiguity, something like how FormattedNumber works, or even just add integer serializing to FormattedNumber itself.
Chris Dumez
Comment 21 2018-03-24 12:14:33 PDT
Chris Dumez
Comment 22 2018-03-24 12:15:22 PDT
Comment on attachment 336480 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=336480&action=review > Source/WebCore/page/SecurityOriginData.cpp:48 > + return makeString(protocol, "://", host, ':', static_cast<unsigned>(*port)); Using static_cast<unsigned>(), I can force it to use the right template specialization and it works without doing a String allocation.
Chris Dumez
Comment 23 2018-03-24 12:16:18 PDT
(In reply to Chris Dumez from comment #22) > Comment on attachment 336480 [details] > Patch > > View in context: > https://bugs.webkit.org/attachment.cgi?id=336480&action=review > > > Source/WebCore/page/SecurityOriginData.cpp:48 > > + return makeString(protocol, "://", host, ':', static_cast<unsigned>(*port)); > > Using static_cast<unsigned>(), I can force it to use the right template > specialization and it works without doing a String allocation. Oh, I just saw your comment. I'll use uint32_t as you suggested.
Chris Dumez
Comment 24 2018-03-24 12:17:03 PDT
EWS Watchlist
Comment 25 2018-03-24 12:18:12 PDT
Attachment 336481 [details] did not pass style-queue: ERROR: Source/WebKit/UIProcess/ServiceWorkerProcessProxy.cpp:54: Code inside a namespace should not be indented. [whitespace/indent] [4] Total errors found: 1 in 79 files If any of these errors are false positives, please file a bug against check-webkit-style.
WebKit Commit Bot
Comment 26 2018-03-24 12:54:48 PDT
Comment on attachment 336481 [details] Patch Clearing flags on attachment: 336481 Committed r229954: <https://trac.webkit.org/changeset/229954>
WebKit Commit Bot
Comment 27 2018-03-24 12:54:49 PDT
All reviewed patches have been landed. Closing bug.
Radar WebKit Bug Importer
Comment 28 2018-03-24 12:55:17 PDT
Daniel Bates
Comment 29 2018-03-25 21:56:15 PDT
(In reply to WebKit Commit Bot from comment #26) > Comment on attachment 336481 [details] > Patch > > Clearing flags on attachment: 336481 > > Committed r229954: <https://trac.webkit.org/changeset/229954> This caused many layout tests to crash on the Apple High Sierra Debug, Apple Sierra Debug, Apple iOS 11 Simulator Debug and GTK Linux 64-bit Debug test bots. For convenience, the following are hyperlinks to the test results: Apple Sierra Debug WK1 (Tests): <https://build.webkit.org/results/Apple%20Sierra%20Debug%20WK1%20(Tests)/r229954%20(6875)/results.html> <https://build.webkit.org/builders/Apple%20Sierra%20Debug%20WK1%20%28Tests%29/builds/6875> Apple Sierra Debug WK2 (Tests): <https://build.webkit.org/results/Apple%20Sierra%20Debug%20WK2%20(Tests)/r229954%20(5768)/results.html> <https://build.webkit.org/builders/Apple%20Sierra%20Debug%20WK2%20%28Tests%29/builds/5768> Apple High Sierra Debug WK1 (Tests): <https://build.webkit.org/results/Apple%20High%20Sierra%20Debug%20WK1%20(Tests)/r229954%20(2992)/results.html> <https://build.webkit.org/builders/Apple%20High%20Sierra%20Debug%20WK1%20%28Tests%29/builds/2992> Apple High Sierra Debug WK2 (Tests): <https://build.webkit.org/results/Apple%20High%20Sierra%20Debug%20WK2%20(Tests)/r229954%20(2579)/results.html> <https://build.webkit.org/builders/Apple%20High%20Sierra%20Debug%20WK2%20%28Tests%29/builds/2579> Apple iOS 11 Simulator Debug WK2 (Tests): <https://build.webkit.org/results/Apple%20iOS%2011%20Simulator%20Debug%20WK2%20(Tests)/r229954%20(3375)/results.html> <https://build.webkit.org/builders/Apple%20iOS%2011%20Simulator%20Debug%20WK2%20%28Tests%29/builds/3375> GTK Linux 64-bit Debug (Tests): <https://build.webkit.org/results/GTK%20Linux%2064-bit%20Debug%20(Tests)/r229956%20(2747)/results.html> <https://build.webkit.org/builders/GTK%20Linux%2064-bit%20Debug%20%28Tests%29/builds/2747>
WebKit Commit Bot
Comment 30 2018-03-25 21:57:19 PDT
Re-opened since this is blocked by bug 184000
Chris Dumez
Comment 31 2018-03-26 08:56:06 PDT
(In reply to Daniel Bates from comment #29) > (In reply to WebKit Commit Bot from comment #26) > > Comment on attachment 336481 [details] > > Patch > > > > Clearing flags on attachment: 336481 > > > > Committed r229954: <https://trac.webkit.org/changeset/229954> > > This caused many layout tests to crash on the Apple High Sierra Debug, Apple > Sierra Debug, Apple iOS 11 Simulator Debug and GTK Linux 64-bit Debug test > bots. For convenience, the following are hyperlinks to the test results: > > Apple Sierra Debug WK1 (Tests): > <https://build.webkit.org/results/Apple%20Sierra%20Debug%20WK1%20(Tests)/ > r229954%20(6875)/results.html> > <https://build.webkit.org/builders/ > Apple%20Sierra%20Debug%20WK1%20%28Tests%29/builds/6875> > > Apple Sierra Debug WK2 (Tests): > <https://build.webkit.org/results/Apple%20Sierra%20Debug%20WK2%20(Tests)/ > r229954%20(5768)/results.html> > <https://build.webkit.org/builders/ > Apple%20Sierra%20Debug%20WK2%20%28Tests%29/builds/5768> > > Apple High Sierra Debug WK1 (Tests): > <https://build.webkit.org/results/ > Apple%20High%20Sierra%20Debug%20WK1%20(Tests)/r229954%20(2992)/results.html> > <https://build.webkit.org/builders/ > Apple%20High%20Sierra%20Debug%20WK1%20%28Tests%29/builds/2992> > > Apple High Sierra Debug WK2 (Tests): > <https://build.webkit.org/results/ > Apple%20High%20Sierra%20Debug%20WK2%20(Tests)/r229954%20(2579)/results.html> > <https://build.webkit.org/builders/ > Apple%20High%20Sierra%20Debug%20WK2%20%28Tests%29/builds/2579> > > Apple iOS 11 Simulator Debug WK2 (Tests): > <https://build.webkit.org/results/ > Apple%20iOS%2011%20Simulator%20Debug%20WK2%20(Tests)/r229954%20(3375)/ > results.html> > <https://build.webkit.org/builders/ > Apple%20iOS%2011%20Simulator%20Debug%20WK2%20%28Tests%29/builds/3375> > > GTK Linux 64-bit Debug (Tests): > <https://build.webkit.org/results/GTK%20Linux%2064-bit%20Debug%20(Tests)/ > r229956%20(2747)/results.html> > <https://build.webkit.org/builders/GTK%20Linux%2064- > bit%20Debug%20%28Tests%29/builds/2747> I am looking into this, thanks.
Chris Dumez
Comment 32 2018-03-26 09:02:23 PDT
Assertion hit in debug WK2, which is why EWS did not catch it: Thread 0 Crashed:: Dispatch queue: com.apple.main-thread 0 com.apple.JavaScriptCore 0x0000000124dda694 WTFCrash + 36 (Assertions.cpp:271) 1 com.apple.WebKit 0x000000011156ba66 WTF::Ref<WebKit::WebSWServerToContextConnection, WTF::DumbPtrTraits<WebKit::WebSWServerToContextConnection> >::leakRef() + 70 (Ref.h:133) 2 com.apple.WebKit 0x000000011156b9d1 WTF::Ref<WebKit::WebSWServerToContextConnection, WTF::DumbPtrTraits<WebKit::WebSWServerToContextConnection> >::Ref(WTF::Ref<WebKit::WebSWServerToContextConnection, WTF::DumbPtrTraits<WebKit::WebSWServerToContextConnection> >&&) + 33 (Ref.h:75) 3 com.apple.WebKit 0x000000011156b99d WTF::Ref<WebKit::WebSWServerToContextConnection, WTF::DumbPtrTraits<WebKit::WebSWServerToContextConnection> >::Ref(WTF::Ref<WebKit::WebSWServerToContextConnection, WTF::DumbPtrTraits<WebKit::WebSWServerToContextConnection> >&&) + 29 (Ref.h:78) 4 com.apple.WebKit 0x000000011156b96c WTF::KeyValuePair<WebCore::SecurityOriginData, WTF::Ref<WebKit::WebSWServerToContextConnection, WTF::DumbPtrTraits<WebKit::WebSWServerToContextConnection> > >::KeyValuePair<WebCore::SecurityOriginData, WTF::Ref<WebKit::WebSWServerToContextConnection, WTF::DumbPtrTraits<WebKit::WebSWServerToContextConnection> > >(WebCore::SecurityOriginData&&, WTF::Ref<WebKit::WebSWServerToContextConnection, WTF::DumbPtrTraits<WebKit::WebSWServerToContextConnection> >&&) + 76 (KeyValuePair.h:46) 5 com.apple.WebKit 0x000000011156b8a5 WTF::KeyValuePair<WebCore::SecurityOriginData, WTF::Ref<WebKit::WebSWServerToContextConnection, WTF::DumbPtrTraits<WebKit::WebSWServerToContextConnection> > >::KeyValuePair<WebCore::SecurityOriginData, WTF::Ref<WebKit::WebSWServerToContextConnection, WTF::DumbPtrTraits<WebKit::WebSWServerToContextConnection> > >(WebCore::SecurityOriginData&&, WTF::Ref<WebKit::WebSWServerToContextConnection, WTF::DumbPtrTraits<WebKit::WebSWServerToContextConnection> >&&) + 37 (KeyValuePair.h:46) 6 com.apple.WebKit 0x000000011156b839 WTF::KeyValuePairHashTraits<WTF::HashTraits<WebCore::SecurityOriginData>, WTF::HashTraits<WTF::Ref<WebKit::WebSWServerToContextConnection, WTF::DumbPtrTraits<WebKit::WebSWServerToContextConnection> > > >::emptyValue() + 57 (HashTraits.h:292) 7 com.apple.WebKit 0x000000011156b7f9 void WTF::HashTableBucketInitializer<false>::initialize<WTF::HashMap<WebCore::SecurityOriginData, WTF::Ref<WebKit::WebSWServerToContextConnection, WTF::DumbPtrTraits<WebKit::WebSWServerToContextConnection> >, WebCore::SecurityOriginDataHash, WTF::HashTraits<WebCore::SecurityOriginData>, WTF::HashTraits<WTF::Ref<WebKit::WebSWServerToContextConnection, WTF::DumbPtrTraits<WebKit::WebSWServerToContextConnection> > > >::KeyValuePairTraits, WTF::KeyValuePair<WebCore::SecurityOriginData, WTF::Ref<WebKit::WebSWServerToContextConnection, WTF::DumbPtrTraits<WebKit::WebSWServerToContextConnection> > > >(WTF::KeyValuePair<WebCore::SecurityOriginData, WTF::Ref<WebKit::WebSWServerToContextConnection, WTF::DumbPtrTraits<WebKit::WebSWServerToContextConnection> > >&) + 57 (HashTable.h:841) 8 com.apple.WebKit 0x000000011156b7b5 WTF::HashTable<WebCore::SecurityOriginData, WTF::KeyValuePair<WebCore::SecurityOriginData, WTF::Ref<WebKit::WebSWServerToContextConnection, WTF::DumbPtrTraits<WebKit::WebSWServerToContextConnection> > >, WTF::KeyValuePairKeyExtractor<WTF::KeyValuePair<WebCore::SecurityOriginData, WTF::Ref<WebKit::WebSWServerToContextConnection, WTF::DumbPtrTraits<WebKit::WebSWServerToContextConnection> > > >, WebCore::SecurityOriginDataHash, WTF::HashMap<WebCore::SecurityOriginData, WTF::Ref<WebKit::WebSWServerToContextConnection, WTF::DumbPtrTraits<WebKit::WebSWServerToContextConnection> >, WebCore::SecurityOriginDataHash, WTF::HashTraits<WebCore::SecurityOriginData>, WTF::HashTraits<WTF::Ref<WebKit::WebSWServerToContextConnection, WTF::DumbPtrTraits<WebKit::WebSWServerToContextConnection> > > >::KeyValuePairTraits, WTF::HashTraits<WebCore::SecurityOriginData> >::initializeBucket(WTF::KeyValuePair<WebCore::SecurityOriginData, WTF::Ref<WebKit::WebSWServerToContextConnection, WTF::DumbPtrTraits<WebKit::WebSWServerToContextConnection> > >&) + 21 (HashTable.h:858) 9 com.apple.WebKit 0x000000011156b5db WTF::HashTable<WebCore::SecurityOriginData, WTF::KeyValuePair<WebCore::SecurityOriginData, WTF::Ref<WebKit::WebSWServerToContextConnection, WTF::DumbPtrTraits<WebKit::WebSWServerToContextConnection> > >, WTF::KeyValuePairKeyExtractor<WTF::KeyValuePair<WebCore::SecurityOriginData, WTF::Ref<WebKit::WebSWServerToContextConnection, WTF::DumbPtrTraits<WebKit::WebSWServerToContextConnection> > > >, WebCore::SecurityOriginDataHash, WTF::HashMap<WebCore::SecurityOriginData, WTF::Ref<WebKit::WebSWServerToContextConnection, WTF::DumbPtrTraits<WebKit::WebSWServerToContextConnection> >, WebCore::SecurityOriginDataHash, WTF::HashTraits<WebCore::SecurityOriginData>, WTF::HashTraits<WTF::Ref<WebKit::WebSWServerToContextConnection, WTF::DumbPtrTraits<WebKit::WebSWServerToContextConnection> > > >::KeyValuePairTraits, WTF::HashTraits<WebCore::SecurityOriginData> >::allocateTable(unsigned int) + 75 (HashTable.h:1148) 10 com.apple.WebKit 0x000000011156b368 WTF::HashTable<WebCore::SecurityOriginData, WTF::KeyValuePair<WebCore::SecurityOriginData, WTF::Ref<WebKit::WebSWServerToContextConnection, WTF::DumbPtrTraits<WebKit::WebSWServerToContextConnection> > >, WTF::KeyValuePairKeyExtractor<WTF::KeyValuePair<WebCore::SecurityOriginData, WTF::Ref<WebKit::WebSWServerToContextConnection, WTF::DumbPtrTraits<WebKit::WebSWServerToContextConnection> > > >, WebCore::SecurityOriginDataHash, WTF::HashMap<WebCore::SecurityOriginData, WTF::Ref<WebKit::WebSWServerToContextConnection, WTF::DumbPtrTraits<WebKit::WebSWServerToContextConnection> >, WebCore::SecurityOriginDataHash, WTF::HashTraits<WebCore::SecurityOriginData>, WTF::HashTraits<WTF::Ref<WebKit::WebSWServerToContextConnection, WTF::DumbPtrTraits<WebKit::WebSWServerToContextConnection> > > >::KeyValuePairTraits, WTF::HashTraits<WebCore::SecurityOriginData> >::rehash(unsigned int, WTF::KeyValuePair<WebCore::SecurityOriginData, WTF::Ref<WebKit::WebSWServerToContextConnection, WTF::DumbPtrTraits<WebKit::WebSWServerToContextConnection> > >*) + 72 (HashTable.h:1197) 11 com.apple.WebKit 0x0000000111573005 WTF::HashTable<WebCore::SecurityOriginData, WTF::KeyValuePair<WebCore::SecurityOriginData, WTF::Ref<WebKit::WebSWServerToContextConnection, WTF::DumbPtrTraits<WebKit::WebSWServerToContextConnection> > >, WTF::KeyValuePairKeyExtractor<WTF::KeyValuePair<WebCore::SecurityOriginData, WTF::Ref<WebKit::WebSWServerToContextConnection, WTF::DumbPtrTraits<WebKit::WebSWServerToContextConnection> > > >, WebCore::SecurityOriginDataHash, WTF::HashMap<WebCore::SecurityOriginData, WTF::Ref<WebKit::WebSWServerToContextConnection, WTF::DumbPtrTraits<WebKit::WebSWServerToContextConnection> >, WebCore::SecurityOriginDataHash, WTF::HashTraits<WebCore::SecurityOriginData>, WTF::HashTraits<WTF::Ref<WebKit::WebSWServerToContextConnection, WTF::DumbPtrTraits<WebKit::WebSWServerToContextConnection> > > >::KeyValuePairTraits, WTF::HashTraits<WebCore::SecurityOriginData> >::expand(WTF::KeyValuePair<WebCore::SecurityOriginData, WTF::Ref<WebKit::WebSWServerToContextConnection, WTF::DumbPtrTraits<WebKit::WebSWServerToContextConnection> > >*) + 117 (HashTable.h:1174) 12 com.apple.WebKit 0x0000000111572d1c WTF::HashTableAddResult<WTF::HashTableIterator<WebCore::SecurityOriginData, WTF::KeyValuePair<WebCore::SecurityOriginData, WTF::Ref<WebKit::WebSWServerToContextConnection, WTF::DumbPtrTraits<WebKit::WebSWServerToContextConnection> > >, WTF::KeyValuePairKeyExtractor<WTF::KeyValuePair<WebCore::SecurityOriginData, WTF::Ref<WebKit::WebSWServerToContextConnection, WTF::DumbPtrTraits<WebKit::WebSWServerToContextConnection> > > >, WebCore::SecurityOriginDataHash, WTF::HashMap<WebCore::SecurityOriginData, WTF::Ref<WebKit::WebSWServerToContextConnection, WTF::DumbPtrTraits<WebKit::WebSWServerToContextConnection> >, WebCore::SecurityOriginDataHash, WTF::HashTraits<WebCore::SecurityOriginData>, WTF::HashTraits<WTF::Ref<WebKit::WebSWServerToContextConnection, WTF::DumbPtrTraits<WebKit::WebSWServerToContextConnection> > > >::KeyValuePairTraits, WTF::HashTraits<WebCore::SecurityOriginData> > > WTF::HashTable<WebCore::SecurityOriginData, WTF::KeyValuePair<WebCore::SecurityOriginData, WTF::Ref<WebKit::WebSWServerToContextConnection, WTF::DumbPtrTraits<WebKit::WebSWServerToContextConnection> > >, WTF::KeyValuePairKeyExtractor<WTF::KeyValuePair<WebCore::SecurityOriginData, WTF::Ref<WebKit::WebSWServerToContextConnection, WTF::DumbPtrTraits<WebKit::WebSWServerToContextConnection> > > >, WebCore::SecurityOriginDataHash, WTF::HashMap<WebCore::SecurityOriginData, WTF::Ref<WebKit::WebSWServerToContextConnection, WTF::DumbPtrTraits<WebKit::WebSWServerToContextConnection> >, WebCore::SecurityOriginDataHash, WTF::HashTraits<WebCore::SecurityOriginData>, WTF::HashTraits<WTF::Ref<WebKit::WebSWServerToContextConnection, WTF::DumbPtrTraits<WebKit::WebSWServerToContextConnection> > > >::KeyValuePairTraits, WTF::HashTraits<WebCore::SecurityOriginData> >::add<WTF::HashMapTranslator<WTF::HashMap<WebCore::SecurityOriginData, WTF::Ref<WebKit::WebSWServerToContextConnection, WTF::DumbPtrTraits<WebKit::WebSWServerToContextConnection> >, WebCore::SecurityOriginDataHash, WTF::HashTraits<WebCore::SecurityOriginData>, WTF::HashTraits<WTF::Ref<WebKit::WebSWServerToContextConnection, WTF::DumbPtrTraits<WebKit::WebSWServerToContextConnection> > > >::KeyValuePairTraits, WebCore::SecurityOriginDataHash>, WebCore::SecurityOriginData, WTF::Ref<WebKit::WebSWServerToContextConnection, WTF::DumbPtrTraits<WebKit::WebSWServerToContextConnection> > >(WebCore::SecurityOriginData&&, WTF::Ref<WebKit::WebSWServerToContextConnection, WTF::DumbPtrTraits<WebKit::WebSWServerToContextConnection> >&&) + 108 (HashTable.h:869) 13 com.apple.WebKit 0x0000000111572c9c WTF::HashTableAddResult<WTF::HashTableIterator<WebCore::SecurityOriginData, WTF::KeyValuePair<WebCore::SecurityOriginData, WTF::Ref<WebKit::WebSWServerToContextConnection, WTF::DumbPtrTraits<WebKit::WebSWServerToContextConnection> > >, WTF::KeyValuePairKeyExtractor<WTF::KeyValuePair<WebCore::SecurityOriginData, WTF::Ref<WebKit::WebSWServerToContextConnection, WTF::DumbPtrTraits<WebKit::WebSWServerToContextConnection> > > >, WebCore::SecurityOriginDataHash, WTF::HashMap<WebCore::SecurityOriginData, WTF::Ref<WebKit::WebSWServerToContextConnection, WTF::DumbPtrTraits<WebKit::WebSWServerToContextConnection> >, WebCore::SecurityOriginDataHash, WTF::HashTraits<WebCore::SecurityOriginData>, WTF::HashTraits<WTF::Ref<WebKit::WebSWServerToContextConnection, WTF::DumbPtrTraits<WebKit::WebSWServerToContextConnection> > > >::KeyValuePairTraits, WTF::HashTraits<WebCore::SecurityOriginData> > > WTF::HashMap<WebCore::SecurityOriginData, WTF::Ref<WebKit::WebSWServerToContextConnection, WTF::DumbPtrTraits<WebKit::WebSWServerToContextConnection> >, WebCore::SecurityOriginDataHash, WTF::HashTraits<WebCore::SecurityOriginData>, WTF::HashTraits<WTF::Ref<WebKit::WebSWServerToContextConnection, WTF::DumbPtrTraits<WebKit::WebSWServerToContextConnection> > > >::inlineAdd<WebCore::SecurityOriginData, WTF::Ref<WebKit::WebSWServerToContextConnection, WTF::DumbPtrTraits<WebKit::WebSWServerToContextConnection> > >(WebCore::SecurityOriginData&&, WTF::Ref<WebKit::WebSWServerToContextConnection, WTF::DumbPtrTraits<WebKit::WebSWServerToContextConnection> >&&) + 60 (HashMap.h:346) 14 com.apple.WebKit 0x0000000111560b7f WTF::HashTableAddResult<WTF::HashTableIterator<WebCore::SecurityOriginData, WTF::KeyValuePair<WebCore::SecurityOriginData, WTF::Ref<WebKit::WebSWServerToContextConnection, WTF::DumbPtrTraits<WebKit::WebSWServerToContextConnection> > >, WTF::KeyValuePairKeyExtractor<WTF::KeyValuePair<WebCore::SecurityOriginData, WTF::Ref<WebKit::WebSWServerToContextConnection, WTF::DumbPtrTraits<WebKit::WebSWServerToContextConnection> > > >, WebCore::SecurityOriginDataHash, WTF::HashMap<WebCore::SecurityOriginData, WTF::Ref<WebKit::WebSWServerToContextConnection, WTF::DumbPtrTraits<WebKit::WebSWServerToContextConnection> >, WebCore::SecurityOriginDataHash, WTF::HashTraits<WebCore::SecurityOriginData>, WTF::HashTraits<WTF::Ref<WebKit::WebSWServerToContextConnection, WTF::DumbPtrTraits<WebKit::WebSWServerToContextConnection> > > >::KeyValuePairTraits, WTF::HashTraits<WebCore::SecurityOriginData> > > WTF::HashMap<WebCore::SecurityOriginData, WTF::Ref<WebKit::WebSWServerToContextConnection, WTF::DumbPtrTraits<WebKit::WebSWServerToContextConnection> >, WebCore::SecurityOriginDataHash, WTF::HashTraits<WebCore::SecurityOriginData>, WTF::HashTraits<WTF::Ref<WebKit::WebSWServerToContextConnection, WTF::DumbPtrTraits<WebKit::WebSWServerToContextConnection> > > >::add<WTF::Ref<WebKit::WebSWServerToContextConnection, WTF::DumbPtrTraits<WebKit::WebSWServerToContextConnection> > >(WebCore::SecurityOriginData&&, WTF::Ref<WebKit::WebSWServerToContextConnection, WTF::DumbPtrTraits<WebKit::WebSWServerToContextConnection> >&&) + 79 (HashMap.h:388) 15 com.apple.WebKit 0x0000000111560247 WebKit::StorageProcess::createStorageToWebProcessConnection(bool, WebCore::SecurityOriginData&&) + 663 (StorageProcess.cpp:279) 16 com.apple.WebKit 0x0000000111584f68 void IPC::callMemberFunctionImpl<WebKit::StorageProcess, void (WebKit::StorageProcess::*)(bool, WebCore::SecurityOriginData&&), std::__1::tuple<bool, WebCore::SecurityOriginData>, 0ul, 1ul>(WebKit::StorageProcess*, void (WebKit::StorageProcess::*)(bool, WebCore::SecurityOriginData&&), std::__1::tuple<bool, WebCore::SecurityOriginData>&&, std::__1::integer_sequence<unsigned long, 0ul, 1ul>) + 200 (HandleMessage.h:41) 17 com.apple.WebKit 0x0000000111584ce0 void IPC::callMemberFunction<WebKit::StorageProcess, void (WebKit::StorageProcess::*)(bool, WebCore::SecurityOriginData&&), std::__1::tuple<bool, WebCore::SecurityOriginData>, std::__1::integer_sequence<unsigned long, 0ul, 1ul> >(std::__1::tuple<bool, WebCore::SecurityOriginData>&&, WebKit::StorageProcess*, void (WebKit::StorageProcess::*)(bool, WebCore::SecurityOriginData&&)) + 96 (HandleMessage.h:47) 18 com.apple.WebKit 0x0000000111583058 void IPC::handleMessage<Messages::StorageProcess::CreateStorageToWebProcessConnection, WebKit::StorageProcess, void (WebKit::StorageProcess::*)(bool, WebCore::SecurityOriginData&&)>(IPC::Decoder&, WebKit::StorageProcess*, void (WebKit::StorageProcess::*)(bool, WebCore::SecurityOriginData&&)) + 312 (HandleMessage.h:127)
Chris Dumez
Comment 33 2018-03-26 10:26:18 PDT
EWS Watchlist
Comment 34 2018-03-26 10:27:41 PDT
Attachment 336524 [details] did not pass style-queue: ERROR: Source/WebKit/UIProcess/ServiceWorkerProcessProxy.cpp:54: Code inside a namespace should not be indented. [whitespace/indent] [4] Total errors found: 1 in 79 files If any of these errors are false positives, please file a bug against check-webkit-style.
WebKit Commit Bot
Comment 35 2018-03-26 11:03:46 PDT
Comment on attachment 336524 [details] Patch Clearing flags on attachment: 336524 Committed r229979: <https://trac.webkit.org/changeset/229979>
WebKit Commit Bot
Comment 36 2018-03-26 11:03:47 PDT
All reviewed patches have been landed. Closing bug.
Note You need to log in before you can comment on or make changes to this bug.