{"action":"created","issue":{"url":"https://api.github.com/repos/HaxeFoundation/haxe/issues/3765","labels_url":"https://api.github.com/repos/HaxeFoundation/haxe/issues/3765/labels{/name}","comments_url":"https://api.github.com/repos/HaxeFoundation/haxe/issues/3765/comments","events_url":"https://api.github.com/repos/HaxeFoundation/haxe/issues/3765/events","html_url":"https://github.com/HaxeFoundation/haxe/pull/3765","id":54687835,"number":3765,"title":"New js.html externs generated from WebIDL","user":{"login":"aduros","id":23202,"avatar_url":"https://avatars.githubusercontent.com/u/23202?v=3","gravatar_id":"","url":"https://api.github.com/users/aduros","html_url":"https://github.com/aduros","followers_url":"https://api.github.com/users/aduros/followers","following_url":"https://api.github.com/users/aduros/following{/other_user}","gists_url":"https://api.github.com/users/aduros/gists{/gist_id}","starred_url":"https://api.github.com/users/aduros/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/aduros/subscriptions","organizations_url":"https://api.github.com/users/aduros/orgs","repos_url":"https://api.github.com/users/aduros/repos","events_url":"https://api.github.com/users/aduros/events{/privacy}","received_events_url":"https://api.github.com/users/aduros/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":5,"created_at":"2015-01-18T06:26:53Z","updated_at":"2015-01-19T16:27:49Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/HaxeFoundation/haxe/pulls/3765","html_url":"https://github.com/HaxeFoundation/haxe/pull/3765","diff_url":"https://github.com/HaxeFoundation/haxe/pull/3765.diff","patch_url":"https://github.com/HaxeFoundation/haxe/pull/3765.patch"},"body":"The old externs were getting crusty, and had numerous issues. This improved version fixes many of them:\r\n\r\n- *Much* more accurate and complete overall. Lots of new modern web APIs, and fixes to the existing ones.\r\n- Constructor params are typed instead of Dynamic.\r\n- Abstract enums in places instead of strings.\r\n- A lot easier to maintain and keep up to date. Mozilla maintains both the WebIDLs and parser in one place. With the old WebKit IDLs, updating would usually break everything. Also, the tools used to generate the externs are now in the Haxe repo instead of out in my Browser.hx repo.\r\n\r\nThere are breaking API changes here! Mainly classes automatically being renamed to match their true name in JS, and WebKit-only or experimental APIs being dropped. I've tried to document them in the README at https://github.com/HaxeFoundation/haxe/tree/webidl-externs/extra/js_externs.\r\n\r\nI also made all HTML elements extend HTMLElement instead of Element directly, as suggested by #3644. Same with Document and HTMLDocument.\r\n\r\nThe externs don't contain documentation pulled from MDN anymore. I don't think that's worth re-adding, especially since the old docs were often poorly formatted and many times completely incorrect."},"comment":{"url":"https://api.github.com/repos/HaxeFoundation/haxe/issues/comments/70521220","html_url":"https://github.com/HaxeFoundation/haxe/pull/3765#issuecomment-70521220","issue_url":"https://api.github.com/repos/HaxeFoundation/haxe/issues/3765","id":70521220,"user":{"login":"aduros","id":23202,"avatar_url":"https://avatars.githubusercontent.com/u/23202?v=3","gravatar_id":"","url":"https://api.github.com/users/aduros","html_url":"https://github.com/aduros","followers_url":"https://api.github.com/users/aduros/followers","following_url":"https://api.github.com/users/aduros/following{/other_user}","gists_url":"https://api.github.com/users/aduros/gists{/gist_id}","starred_url":"https://api.github.com/users/aduros/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/aduros/subscriptions","organizations_url":"https://api.github.com/users/aduros/orgs","repos_url":"https://api.github.com/users/aduros/repos","events_url":"https://api.github.com/users/aduros/events{/privacy}","received_events_url":"https://api.github.com/users/aduros/received_events","type":"User","site_admin":false},"created_at":"2015-01-19T16:27:49Z","updated_at":"2015-01-19T16:27:49Z","body":"I would like to get feedback from more projects about that. From what I can tell the impact is very small. Most projects seamlessly migrate without any code changes."}}