RESOLVED FIXED 167189
[WebIDL] Records should preserve javascript object order
https://bugs.webkit.org/show_bug.cgi?id=167189
Summary [WebIDL] Records should preserve javascript object order
Sam Weinig
Reported 2017-01-18 18:47:43 PST
[WebIDL] Records should preserve javascript object order
Attachments
Patch (25.24 KB, patch)
2017-01-18 18:54 PST, Sam Weinig
no flags
Patch (11.44 KB, patch)
2017-01-18 19:28 PST, Sam Weinig
achristensen: review+
buildbot: commit-queue-
Archive of layout-test-results from ews100 for mac-elcapitan (899.64 KB, application/zip)
2017-01-18 20:37 PST, Build Bot
no flags
Archive of layout-test-results from ews107 for mac-elcapitan-wk2 (837.80 KB, application/zip)
2017-01-18 20:40 PST, Build Bot
no flags
Archive of layout-test-results from ews116 for mac-elcapitan (1.63 MB, application/zip)
2017-01-18 20:48 PST, Build Bot
no flags
Archive of layout-test-results from ews126 for ios-simulator-wk2 (9.27 MB, application/zip)
2017-01-18 20:51 PST, Build Bot
no flags
Sam Weinig
Comment 1 2017-01-18 18:54:46 PST
Sam Weinig
Comment 2 2017-01-18 19:28:08 PST
Build Bot
Comment 3 2017-01-18 20:37:18 PST
Comment on attachment 299217 [details] Patch Attachment 299217 [details] did not pass mac-ews (mac): Output: http://webkit-queues.webkit.org/results/2912884 New failing tests: js/dom/webidl-type-mapping.html
Build Bot
Comment 4 2017-01-18 20:37:22 PST
Created attachment 299224 [details] Archive of layout-test-results from ews100 for mac-elcapitan The attached test failures were seen while running run-webkit-tests on the mac-ews. Bot: ews100 Port: mac-elcapitan Platform: Mac OS X 10.11.6
Build Bot
Comment 5 2017-01-18 20:39:58 PST
Comment on attachment 299217 [details] Patch Attachment 299217 [details] did not pass mac-wk2-ews (mac-wk2): Output: http://webkit-queues.webkit.org/results/2912885 New failing tests: js/dom/webidl-type-mapping.html
Build Bot
Comment 6 2017-01-18 20:40:02 PST
Created attachment 299226 [details] Archive of layout-test-results from ews107 for mac-elcapitan-wk2 The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews. Bot: ews107 Port: mac-elcapitan-wk2 Platform: Mac OS X 10.11.6
Build Bot
Comment 7 2017-01-18 20:48:28 PST
Comment on attachment 299217 [details] Patch Attachment 299217 [details] did not pass mac-debug-ews (mac): Output: http://webkit-queues.webkit.org/results/2912886 New failing tests: js/dom/webidl-type-mapping.html
Build Bot
Comment 8 2017-01-18 20:48:32 PST
Created attachment 299228 [details] Archive of layout-test-results from ews116 for mac-elcapitan The attached test failures were seen while running run-webkit-tests on the mac-debug-ews. Bot: ews116 Port: mac-elcapitan Platform: Mac OS X 10.11.6
Build Bot
Comment 9 2017-01-18 20:51:44 PST
Comment on attachment 299217 [details] Patch Attachment 299217 [details] did not pass ios-sim-ews (ios-simulator-wk2): Output: http://webkit-queues.webkit.org/results/2912889 New failing tests: js/dom/webidl-type-mapping.html
Build Bot
Comment 10 2017-01-18 20:51:48 PST
Created attachment 299229 [details] Archive of layout-test-results from ews126 for ios-simulator-wk2 The attached test failures were seen while running run-webkit-tests on the ios-sim-ews. Bot: ews126 Port: ios-simulator-wk2 Platform: Mac OS X 10.11.6
Yusuke Suzuki
Comment 11 2017-01-18 22:24:41 PST
How about extending ListHashSet to ListHashMap? ListHashSet preserves insertion order. Internally, it has a linked list, it chains HashTable's Node.
Alex Christensen
Comment 12 2017-01-18 23:22:05 PST
Will there be any uses of Records accessing them by key? If so, we should do that. If not, this has less overhead. We won't ever have duplicate keys in a Record, right?
Alex Christensen
Comment 13 2017-01-18 23:27:38 PST
Comment on attachment 299217 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=299217&action=review > Source/WebCore/ChangeLog:32 > + * testing/TypeConversions.idl: > + Update test IDL to use functions, since the spec mandates that > + records can't be used with attributes. Looks like this broke your test. Otherwise r=me
Yusuke Suzuki
Comment 14 2017-01-18 23:37:06 PST
(In reply to comment #12) > Will there be any uses of Records accessing them by key? If so, we should > do that. If not, this has less overhead. We won't ever have duplicate keys > in a Record, right? Nice catch! I'm not sure the future use cases. But, at least, in the current use cases, I think it just iterates <key, value> pairs. For example, in Fetch Standard, record<ByteString, ByteString> is just used to iterate header pairs. So, it seems Vector<> is OK.
Alex Christensen
Comment 15 2017-01-19 00:23:02 PST
Note You need to log in before you can comment on or make changes to this bug.