{"action":"created","issue":{"url":"https://api.github.com/repos/whatwg/html/issues/2049","repository_url":"https://api.github.com/repos/whatwg/html","labels_url":"https://api.github.com/repos/whatwg/html/issues/2049/labels{/name}","comments_url":"https://api.github.com/repos/whatwg/html/issues/2049/comments","events_url":"https://api.github.com/repos/whatwg/html/issues/2049/events","html_url":"https://github.com/whatwg/html/pull/2049","id":189694427,"number":2049,"title":"Drop requirements on text content of <iframe>","user":{"login":"sideshowbarker","id":194984,"avatar_url":"https://avatars.githubusercontent.com/u/194984?v=3","gravatar_id":"","url":"https://api.github.com/users/sideshowbarker","html_url":"https://github.com/sideshowbarker","followers_url":"https://api.github.com/users/sideshowbarker/followers","following_url":"https://api.github.com/users/sideshowbarker/following{/other_user}","gists_url":"https://api.github.com/users/sideshowbarker/gists{/gist_id}","starred_url":"https://api.github.com/users/sideshowbarker/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sideshowbarker/subscriptions","organizations_url":"https://api.github.com/users/sideshowbarker/orgs","repos_url":"https://api.github.com/users/sideshowbarker/repos","events_url":"https://api.github.com/users/sideshowbarker/events{/privacy}","received_events_url":"https://api.github.com/users/sideshowbarker/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":3,"created_at":"2016-11-16T12:50:38Z","updated_at":"2016-11-16T13:56:09Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/whatwg/html/pulls/2049","html_url":"https://github.com/whatwg/html/pull/2049","diff_url":"https://github.com/whatwg/html/pull/2049.diff","patch_url":"https://github.com/whatwg/html/pull/2049.patch"},"body":"The [spec currently states that the text content (if any) of an `iframe` elements must be parsable as HTML](https://html.spec.whatwg.org/multipage/embedded-content.html#iframe-content-model) such that the result is “a list of nodes that are all phrasing content, with no parse errors having occurred, with no script elements being anywhere in the list or as descendants of elements in the list, and with all the elements in the list (including their descendants) being themselves conforming”.\r\n\r\nImplementing support for that in an HTML checker is bad in that it requires the checker to use HTML parsing behavior different from parsing in Web browsers (browsers don’t parse `iframe` contents—instead they just treat it as text) and that’s also performance-costly, in that in practice necessitates a separate run of a parser on the contents of each `iframe` a doc contains, in isolation from the actual parsing of the doc as a whole (in which the `iframe` contents become text nodes in the parsed tree).\r\n\r\nI understand the original motivation behind the requirement, but at this point I think there really is no good reason for authors to be putting any text at all into `iframe` elements—let alone putting markup in them—and so the spec should not be misleading authors into thinking it is a good use of their time for them to concern themselves with trying to make sure their `iframe` content is conforming HTML.\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/whatwg/html/issues/comments/260952332","html_url":"https://github.com/whatwg/html/pull/2049#issuecomment-260952332","issue_url":"https://api.github.com/repos/whatwg/html/issues/2049","id":260952332,"user":{"login":"zcorpan","id":244772,"avatar_url":"https://avatars.githubusercontent.com/u/244772?v=3","gravatar_id":"","url":"https://api.github.com/users/zcorpan","html_url":"https://github.com/zcorpan","followers_url":"https://api.github.com/users/zcorpan/followers","following_url":"https://api.github.com/users/zcorpan/following{/other_user}","gists_url":"https://api.github.com/users/zcorpan/gists{/gist_id}","starred_url":"https://api.github.com/users/zcorpan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/zcorpan/subscriptions","organizations_url":"https://api.github.com/users/zcorpan/orgs","repos_url":"https://api.github.com/users/zcorpan/repos","events_url":"https://api.github.com/users/zcorpan/events{/privacy}","received_events_url":"https://api.github.com/users/zcorpan/received_events","type":"User","site_admin":false},"created_at":"2016-11-16T13:56:09Z","updated_at":"2016-11-16T13:56:09Z","body":"```\r\nSELECT * FROM (\r\nSELECT page, url, REGEXP_EXTRACT(LOWER(body), r'(<iframe(?:\\s[^>]*)?>[^<]*(?:<[^/]|</[^i]|</i[^f])[^>]+>)') AS match\r\nFROM [httparchive:har.2016_11_01_chrome_requests_bodies]\r\nWHERE page = url\r\n)\r\nWHERE match != \"null\"\r\nAND NOT REGEXP_MATCH(match, r'([\"\\'][\\),\\+]|\\\\[\"\\'/])') # markup in scripts\r\n```\r\n\r\nhttps://gist.github.com/zcorpan/0a507fce5497932a1fc7790afe920a27\r\n\r\n709 out of 165,162 pages (~0.4%). Of these, 422 have an `<a href>`, 94 have a `<script>`."}}
{"actor":{"display_login":"zcorpan"}}