RESOLVED FIXED 164025
[Web IDL] Add support for having string enumerations in their own IDL file
https://bugs.webkit.org/show_bug.cgi?id=164025
Summary [Web IDL] Add support for having string enumerations in their own IDL file
Chris Dumez
Reported 2016-10-26 11:33:50 PDT
Add support for having string enumerations in their own IDL file so that they can be shared.
Attachments
WIP Patch (66.71 KB, patch)
2016-10-26 14:25 PDT, Chris Dumez
no flags
WIP Patch (64.68 KB, patch)
2016-10-26 14:29 PDT, Chris Dumez
no flags
WIP Patch (76.82 KB, patch)
2016-10-26 14:45 PDT, Chris Dumez
no flags
Archive of layout-test-results from ews103 for mac-yosemite (975.15 KB, application/zip)
2016-10-26 15:50 PDT, Build Bot
no flags
Archive of layout-test-results from ews104 for mac-yosemite-wk2 (1.13 MB, application/zip)
2016-10-26 15:53 PDT, Build Bot
no flags
Archive of layout-test-results from ews113 for mac-yosemite (1.77 MB, application/zip)
2016-10-26 15:58 PDT, Build Bot
no flags
Patch (94.39 KB, patch)
2016-10-26 17:04 PDT, Chris Dumez
no flags
Patch (93.91 KB, patch)
2016-10-26 19:24 PDT, Chris Dumez
no flags
Patch (94.43 KB, patch)
2016-10-26 19:59 PDT, Chris Dumez
no flags
Patch (94.51 KB, patch)
2016-10-26 20:19 PDT, Chris Dumez
no flags
Patch (94.70 KB, patch)
2016-10-26 20:55 PDT, Chris Dumez
no flags
Patch (95.90 KB, patch)
2016-10-26 21:47 PDT, Chris Dumez
no flags
Chris Dumez
Comment 1 2016-10-26 13:57:19 PDT
Will use this for IDBTransactionMode string enumeration.
Chris Dumez
Comment 2 2016-10-26 14:25:17 PDT
Created attachment 292959 [details] WIP Patch
Chris Dumez
Comment 3 2016-10-26 14:29:23 PDT
Created attachment 292960 [details] WIP Patch
Chris Dumez
Comment 4 2016-10-26 14:45:07 PDT
Created attachment 292962 [details] WIP Patch
Build Bot
Comment 5 2016-10-26 15:50:10 PDT
Comment on attachment 292962 [details] WIP Patch Attachment 292962 [details] did not pass mac-ews (mac): Output: http://webkit-queues.webkit.org/results/2381005 New failing tests: storage/indexeddb/modern/idbdatabase-transaction-failures.html storage/indexeddb/exceptions.html storage/indexeddb/exceptions-private.html storage/indexeddb/transaction-basics-private.html storage/indexeddb/transaction-basics.html storage/indexeddb/modern/idbdatabase-transaction-failures-private.html
Build Bot
Comment 6 2016-10-26 15:50:13 PDT
Created attachment 292965 [details] Archive of layout-test-results from ews103 for mac-yosemite The attached test failures were seen while running run-webkit-tests on the mac-ews. Bot: ews103 Port: mac-yosemite Platform: Mac OS X 10.10.5
Build Bot
Comment 7 2016-10-26 15:53:56 PDT
Comment on attachment 292962 [details] WIP Patch Attachment 292962 [details] did not pass mac-wk2-ews (mac-wk2): Output: http://webkit-queues.webkit.org/results/2381014 New failing tests: storage/indexeddb/modern/idbdatabase-transaction-failures.html storage/indexeddb/exceptions.html storage/indexeddb/exceptions-private.html storage/indexeddb/transaction-basics-private.html storage/indexeddb/transaction-basics.html storage/indexeddb/modern/idbdatabase-transaction-failures-private.html
Build Bot
Comment 8 2016-10-26 15:53:59 PDT
Created attachment 292967 [details] Archive of layout-test-results from ews104 for mac-yosemite-wk2 The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews. Bot: ews104 Port: mac-yosemite-wk2 Platform: Mac OS X 10.10.5
Build Bot
Comment 9 2016-10-26 15:58:23 PDT
Comment on attachment 292962 [details] WIP Patch Attachment 292962 [details] did not pass mac-debug-ews (mac): Output: http://webkit-queues.webkit.org/results/2381003 New failing tests: storage/indexeddb/modern/idbdatabase-transaction-failures.html storage/indexeddb/exceptions.html storage/indexeddb/exceptions-private.html storage/indexeddb/transaction-basics-private.html storage/indexeddb/transaction-basics.html storage/indexeddb/modern/idbdatabase-transaction-failures-private.html
Build Bot
Comment 10 2016-10-26 15:58:26 PDT
Created attachment 292968 [details] Archive of layout-test-results from ews113 for mac-yosemite The attached test failures were seen while running run-webkit-tests on the mac-debug-ews. Bot: ews113 Port: mac-yosemite Platform: Mac OS X 10.10.5
Chris Dumez
Comment 11 2016-10-26 16:53:17 PDT
Windows is failing to build :/ c:\cygwin\home\buildbot\webkit\webkitbuild\release\derivedsources\webcore\JSIDBTransactionMode.h(30): error C2908: explicit specialization; 'WTF::Optional<WebCore::IDBTransactionMode> WebCore::parseEnumeration<WebCore::IDBTransactionMode>(JSC::ExecState &,JSC::JSValue)' has already been instantiated (compiling source file C:\cygwin\home\buildbot\WebKit\Source\WebCore\DerivedSources.cpp) [C:\cygwin\home\buildbot\WebKit\WebKitBuild\Release\Source\WebCore\WebCoreDerivedSources.vcxproj] c:\cygwin\home\buildbot\webkit\webkitbuild\release\derivedsources\webcore\JSIDBTransactionMode.h(32): error C2908: explicit specialization; 'const char *WebCore::expectedEnumerationValues<WebCore::IDBTransactionMode>(void)' has already been instantiated (compiling source file C:\cygwin\home\buildbot\WebKit\Source\WebCore\DerivedSources.cpp) [C:\cygwin\home\buildbot\WebKit\WebKitBuild\Release\Source\WebCore\WebCoreDerivedSources.vcxproj]
Chris Dumez
Comment 12 2016-10-26 17:04:24 PDT
Chris Dumez
Comment 13 2016-10-26 17:05:06 PDT
Should fix the tests, however, I have not figured out how to fix the Window "All In One" build yet.
Darin Adler
Comment 14 2016-10-26 17:45:31 PDT
Looks fantastic.
Chris Dumez
Comment 15 2016-10-26 19:24:26 PDT
Chris Dumez
Comment 16 2016-10-26 19:59:53 PDT
Chris Dumez
Comment 17 2016-10-26 20:19:02 PDT
Chris Dumez
Comment 18 2016-10-26 20:55:53 PDT
Chris Dumez
Comment 19 2016-10-26 21:31:58 PDT
I protected the header with "#if !ENABLE(ALLINONE_BUILD)" and now the errors are for the cpp file: C:\cygwin\home\buildbot\WebKit\WebKitBuild\Release\DerivedSources\WebCore\JSIDBTransactionMode.cpp(58): error C2908: explicit specialization; 'WTF::Optional<WebCore::IDBTransactionMode> WebCore::parseEnumeration<WebCore::IDBTransactionMode>(JSC::ExecState &,JSC::JSValue)' has already been instantiated (compiling source file C:\cygwin\home\buildbot\WebKit\Source\WebCore\DerivedSources.cpp) [C:\cygwin\home\buildbot\WebKit\WebKitBuild\Release\Source\WebCore\WebCoreDerivedSources.vcxproj] C:\cygwin\home\buildbot\WebKit\WebKitBuild\Release\DerivedSources\WebCore\JSIDBTransactionMode.cpp(75): error C2908: explicit specialization; 'const char *WebCore::expectedEnumerationValues<WebCore::IDBTransactionMode>(void)' has already been instantiated (compiling source file C:\cygwin\home\buildbot\WebKit\Source\WebCore\DerivedSources.cpp) [C:\cygwin\home\buildbot\WebKit\WebKitBuild\Release\Source\WebCore\WebCoreDerivedSources.vcxproj] I don't quite understand how the template function can already be instantiated :/
Chris Dumez
Comment 20 2016-10-26 21:47:59 PDT
Chris Dumez
Comment 21 2016-10-26 21:49:46 PDT
I think the issue is that the template function is instantiated / used before its explicit specialization is provided. This likely means I am not properly including "JSIDBTransactionMode.h" in some places. Trying to see if this fixes it.
Chris Dumez
Comment 22 2016-10-26 22:28:25 PDT
Comment on attachment 292992 [details] Patch OMG everything is green, even Windows!
Darin Adler
Comment 23 2016-10-26 22:39:24 PDT
Comment on attachment 292992 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=292992&action=review > Source/WebCore/bindings/scripts/CodeGeneratorJS.pm:905 > + # FIXME: A little ugly to have this be a side effect instead of a return value. I’m not sure why we have this FIXME in some places but not others, even though I was probably the first offender, the first person to write that comment. For example, teh function above has the identical issue with $headerIncludes{} but no comment.
WebKit Commit Bot
Comment 24 2016-10-26 23:03:03 PDT
Comment on attachment 292992 [details] Patch Clearing flags on attachment: 292992 Committed r207937: <http://trac.webkit.org/changeset/207937>
WebKit Commit Bot
Comment 25 2016-10-26 23:03:10 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.