Bug 118353

Summary: Get rid of multiple inheritance support from the bindings generators
Product: WebKit Reporter: Chris Dumez <cdumez>
Component: BindingsAssignee: Chris Dumez <cdumez>
Status: RESOLVED FIXED    
Severity: Normal CC: ap, benjamin, buildbot, commit-queue, d-r, esprehn+autocc, fmalita, ggaren, gyuyoung.kim, haraken, jberlin, kangil.han, laszlo.gombos, pdr, rniwa, schenney, thorton
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
URL: http://www.w3.org/TR/WebIDL/#idl-interfaces
Bug Depends on: 117785, 118014, 118029, 118142, 118170, 118178, 118305, 118349, 118351, 161897    
Bug Blocks:    
Attachments:
Description Flags
Patch
haraken: review+, buildbot: commit-queue-
Test for mac ews
buildbot: commit-queue-
Another test for mac-ews
buildbot: commit-queue-
Another test for mac-ews
buildbot: commit-queue-
Another test for mac-ews
buildbot: commit-queue-
Another test for mac-ews
buildbot: commit-queue-
Another test for mac-ews
buildbot: commit-queue-
Another test for mac-ews
none
Patch
haraken: review+
Patch for landing
none
Archive of layout-test-results from webkit-cq-02 for mac-mountainlion none

Description Chris Dumez 2013-07-03 04:35:32 PDT
Remove multiple inheritance support from the bindings generator as this is no longer supported in Web IDL and it makes the generator more complex than it needs to be.

Multiple inheritance support should no longer be needed once our SVG interfaces have all been updated to use Web IDL 'implements' statements instead (as per the latest SVG2 specification).
Comment 1 Chris Dumez 2013-07-11 05:11:14 PDT
Created attachment 206448 [details]
Patch
Comment 2 Kentaro Hara 2013-07-11 05:16:09 PDT
Comment on attachment 206448 [details]
Patch

This looks great. Thanks for doing this.
Comment 3 Build Bot 2013-07-11 05:35:06 PDT
Comment on attachment 206448 [details]
Patch

Attachment 206448 [details] did not pass mac-ews (mac):
Output: http://webkit-queues.appspot.com/results/1051216
Comment 4 Build Bot 2013-07-11 05:37:21 PDT
Comment on attachment 206448 [details]
Patch

Attachment 206448 [details] did not pass mac-wk2-ews (mac-wk2):
Output: http://webkit-queues.appspot.com/results/936603
Comment 5 Chris Dumez 2013-07-11 05:41:27 PDT
Hmm, mac port uses multiple inheritance at least in one place:
] interface Node
#if defined(LANGUAGE_OBJECTIVE_C) && LANGUAGE_OBJECTIVE_C
    : Object, EventTarget
#endif /* defined(LANGUAGE_OBJECTIVE_C) */
 {

I need to investigate how to solve this.
Comment 6 Chris Dumez 2013-07-11 07:33:05 PDT
Created attachment 206461 [details]
Test for mac ews
Comment 7 Build Bot 2013-07-11 08:07:27 PDT
Comment on attachment 206461 [details]
Test for mac ews

Attachment 206461 [details] did not pass mac-wk2-ews (mac-wk2):
Output: http://webkit-queues.appspot.com/results/1059085
Comment 8 Build Bot 2013-07-11 08:15:38 PDT
Comment on attachment 206461 [details]
Test for mac ews

Attachment 206461 [details] did not pass mac-ews (mac):
Output: http://webkit-queues.appspot.com/results/954899
Comment 9 Chris Dumez 2013-07-12 00:24:29 PDT
Created attachment 206510 [details]
Another test for mac-ews
Comment 10 Build Bot 2013-07-12 00:48:51 PDT
Comment on attachment 206510 [details]
Another test for mac-ews

Attachment 206510 [details] did not pass mac-ews (mac):
Output: http://webkit-queues.appspot.com/results/973967
Comment 11 Build Bot 2013-07-12 00:49:55 PDT
Comment on attachment 206510 [details]
Another test for mac-ews

Attachment 206510 [details] did not pass mac-wk2-ews (mac-wk2):
Output: http://webkit-queues.appspot.com/results/973968
Comment 12 Chris Dumez 2013-07-12 06:05:41 PDT
Created attachment 206531 [details]
Another test for mac-ews
Comment 13 Build Bot 2013-07-12 06:18:56 PDT
Comment on attachment 206531 [details]
Another test for mac-ews

Attachment 206531 [details] did not pass mac-wk2-ews (mac-wk2):
Output: http://webkit-queues.appspot.com/results/1045283
Comment 14 Build Bot 2013-07-12 06:45:50 PDT
Comment on attachment 206531 [details]
Another test for mac-ews

Attachment 206531 [details] did not pass mac-ews (mac):
Output: http://webkit-queues.appspot.com/results/1063104
Comment 15 Chris Dumez 2013-07-12 06:55:37 PDT
Created attachment 206540 [details]
Another test for mac-ews
Comment 16 Build Bot 2013-07-12 07:19:33 PDT
Comment on attachment 206540 [details]
Another test for mac-ews

Attachment 206540 [details] did not pass mac-wk2-ews (mac-wk2):
Output: http://webkit-queues.appspot.com/results/1064101
Comment 17 Build Bot 2013-07-12 07:28:56 PDT
Comment on attachment 206540 [details]
Another test for mac-ews

Attachment 206540 [details] did not pass mac-ews (mac):
Output: http://webkit-queues.appspot.com/results/1054317
Comment 18 Chris Dumez 2013-07-15 23:55:31 PDT
Created attachment 206730 [details]
Another test for mac-ews
Comment 19 Build Bot 2013-07-16 00:11:01 PDT
Comment on attachment 206730 [details]
Another test for mac-ews

Attachment 206730 [details] did not pass mac-wk2-ews (mac-wk2):
Output: http://webkit-queues.appspot.com/results/1084114
Comment 20 Build Bot 2013-07-16 00:20:17 PDT
Comment on attachment 206730 [details]
Another test for mac-ews

Attachment 206730 [details] did not pass mac-ews (mac):
Output: http://webkit-queues.appspot.com/results/1086088
Comment 21 Chris Dumez 2013-07-16 04:06:26 PDT
Created attachment 206754 [details]
Another test for mac-ews
Comment 22 Build Bot 2013-07-16 04:24:24 PDT
Comment on attachment 206754 [details]
Another test for mac-ews

Attachment 206754 [details] did not pass mac-wk2-ews (mac-wk2):
Output: http://webkit-queues.appspot.com/results/1089169
Comment 23 Build Bot 2013-07-16 04:44:30 PDT
Comment on attachment 206754 [details]
Another test for mac-ews

Attachment 206754 [details] did not pass mac-ews (mac):
Output: http://webkit-queues.appspot.com/results/1085179
Comment 24 Chris Dumez 2013-07-16 05:01:36 PDT
Created attachment 206766 [details]
Another test for mac-ews
Comment 25 Chris Dumez 2013-07-16 05:54:36 PDT
Created attachment 206769 [details]
Patch
Comment 26 Chris Dumez 2013-07-16 05:56:55 PDT
@haraken: Could you please take another look? I had to take a more conservative approach and keep supporting multiple inheritance in the IDL parser. Unfortunately, the ObjC bindings generator still relies on multiple inheritance for the Node interface and I don't understand those bindings enough to fix the issue :/
Comment 27 Kentaro Hara 2013-07-16 06:06:44 PDT
Comment on attachment 206769 [details]
Patch

OK, lgtm. Landing easy parts first makes sense.
Comment 28 Chris Dumez 2013-07-16 06:48:30 PDT
Created attachment 206777 [details]
Patch for landing
Comment 29 WebKit Commit Bot 2013-07-16 07:57:24 PDT
Comment on attachment 206777 [details]
Patch for landing

Rejecting attachment 206777 [details] from commit-queue.

New failing tests:
compositing/reflections/load-video-in-reflection.html
Full output: http://webkit-queues.appspot.com/results/1086187
Comment 30 WebKit Commit Bot 2013-07-16 07:57:33 PDT
Created attachment 206780 [details]
Archive of layout-test-results from webkit-cq-02 for mac-mountainlion

The attached test failures were seen while running run-webkit-tests on the commit-queue.
Bot: webkit-cq-02  Port: mac-mountainlion  Platform: Mac OS X 10.8.3
Comment 31 Chris Dumez 2013-07-16 08:02:43 PDT
Comment on attachment 206777 [details]
Patch for landing

Failure is unrelated, cq+ again.
Comment 32 WebKit Commit Bot 2013-07-16 09:23:39 PDT
Comment on attachment 206777 [details]
Patch for landing

Clearing flags on attachment: 206777

Committed r152725: <http://trac.webkit.org/changeset/152725>
Comment 33 WebKit Commit Bot 2013-07-16 09:23:47 PDT
All reviewed patches have been landed.  Closing bug.